guix-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Ilmbase and openexr header files


From: Andreas Enge
Subject: Ilmbase and openexr header files
Date: Sun, 6 Sep 2015 18:52:22 +0200
User-agent: Mutt/1.5.23 (2014-03-12)

Hello,

the openexr package has ilmbase as a propagated input, since the openexr
header files include ilmbase header files. However, there is a problem with
subdirectories, since both packages put the include files into
.../include/OpenEXR.

Then, for instance,
   
/gnu/store/bnp4nsy7v4lzw562k4v7w34jdg8vkc3s-openexr-2.2.0/include/OpenEXR/ImfInt64.h
contains a line
   #include "ImathInt64.h"
This is the file
   
/gnu/store/6ih7f5cq1amgh134f75xw2sxk39p9gi7-ilmbase-2.2.0/include/OpenEXR/ImathInt64.h
which of course is not found, since it resides in the subdirectory OpenEXR.
(Well, I wonder whether things work when everything is installed together in
/usr/include/OpenEXR, but anyway this is not our case.)

There was an error when adding openexr support to vigra, which I repaired
with a kludge, and it is happening again in the package hugin that I am
preparing. So I wonder what would be the proper fix.

I see the following options:
1) In vigra, I added ilmbase explicitly as an input and a configure-flag
              (string-append "-DCMAKE_CXX_FLAGS=-I"
                             (assoc-ref %build-inputs "ilmbase")
                             "/include/OpenEXR"))))
   which adds the correct include directory with an "-I" option during
   compilation.
2) One might modify the environment variable CPATH in a separate phase
   by adding the OpenEXR subdirectory of ilmbase.
3) One might also patch the openexr header files, replacing
   #include "Imath...
   by
   #include "OpenEXR/Imath...

To me, 3) looks like the proper fix. What do you think?

Andreas




reply via email to

[Prev in Thread] Current Thread [Next in Thread]