From mboxrd@z Thu Jan 1 00:00:00 1970 From: Andreas Enge Subject: Ilmbase and openexr header files Date: Sun, 6 Sep 2015 18:52:22 +0200 Message-ID: <20150906165156.GA9955@debian> Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Return-path: Received: from eggs.gnu.org ([2001:4830:134:3::10]:54189) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZYdB7-0003uj-Ly for guix-devel@gnu.org; Sun, 06 Sep 2015 12:52:30 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1ZYdB4-0002lt-Bp for guix-devel@gnu.org; Sun, 06 Sep 2015 12:52:29 -0400 Received: from mout.kundenserver.de ([212.227.126.130]:56709) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1ZYdB4-0002lk-2j for guix-devel@gnu.org; Sun, 06 Sep 2015 12:52:26 -0400 Content-Disposition: inline List-Id: "Development of GNU Guix and the GNU System distribution." List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org Sender: guix-devel-bounces+gcggd-guix-devel=m.gmane.org@gnu.org To: guix-devel@gnu.org 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