unofficial mirror of guix-devel@gnu.org 
 help / color / mirror / code / Atom feed
* Error when including openexr
@ 2017-05-30 14:48 Hartmut Goebel
  2017-05-31 22:22 ` Danny Milosavljevic
  2017-06-01 11:06 ` Andreas Enge
  0 siblings, 2 replies; 6+ messages in thread
From: Hartmut Goebel @ 2017-05-30 14:48 UTC (permalink / raw)
  To: guix-devel

[-- Attachment #1: Type: text/plain, Size: 593 bytes --]

Hi guix!

I try building a package using openexr. Building fails with

/gnu/store/…-openexr-2.2.0/include/OpenEXR/ImfInt64.h:44:24:
fatal error: ImathInt64.h: No such file or directory

but file …-openexr-2.2.0/include/OpenEXR/ImathInt64.h exists.

I discovered that OpenEXR/ImfInt64.h contains

#include "ImathInt64.h"
#include "ImfNamespace.h"

Maybe this should be "OpenEXR/ImathInt64.h" (same for the other)?

-- 
Regards
Hartmut Goebel

| Hartmut Goebel          | h.goebel@crazy-compilers.com               |
| www.crazy-compilers.com | compilers which you thought are impossible |


[-- Attachment #2: 0xBF773B65.asc --]
[-- Type: application/pgp-keys, Size: 14855 bytes --]

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Error when including openexr
  2017-05-30 14:48 Error when including openexr Hartmut Goebel
@ 2017-05-31 22:22 ` Danny Milosavljevic
  2017-06-01  8:07   ` julien lepiller
  2017-06-01  9:34   ` Hartmut Goebel
  2017-06-01 11:06 ` Andreas Enge
  1 sibling, 2 replies; 6+ messages in thread
From: Danny Milosavljevic @ 2017-05-31 22:22 UTC (permalink / raw)
  To: Hartmut Goebel; +Cc: guix-devel

Hi Hartmut,

On Tue, 30 May 2017 16:48:38 +0200
Hartmut Goebel <h.goebel@crazy-compilers.com> wrote:

> /gnu/store/…-openexr-2.2.0/include/OpenEXR/ImfInt64.h:44:24:
> fatal error: ImathInt64.h: No such file or directory
> 
> but file …-openexr-2.2.0/include/OpenEXR/ImathInt64.h exists.
> 
> I discovered that OpenEXR/ImfInt64.h contains
> 
> #include "ImathInt64.h"
> #include "ImfNamespace.h"
> 
> Maybe this should be "OpenEXR/ImathInt64.h" (same for the other)?

I think not.  cpp (the C preprocessor) has no notion of modules and what it does is just process #include "xx" relative to the directory of the file it currently reads (the one containing the "#include" directive), no matter how it went there.  (If it can't find it then it will fallback to the #include <xx> handler - but I think that's bad form).

(If you wanted to specify the "OpenEXR/" you'd usually put /gnu/store/…-openexr-2.2.0/include into the include path and include it like this in OpenEXR/ImfInt64.h : #include <OpenEXR/ImathInt64.h> with the <>)

Strange error message, though.

Is that gcc?  Which version?

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Error when including openexr
  2017-05-31 22:22 ` Danny Milosavljevic
@ 2017-06-01  8:07   ` julien lepiller
  2017-06-01  9:34   ` Hartmut Goebel
  1 sibling, 0 replies; 6+ messages in thread
From: julien lepiller @ 2017-06-01  8:07 UTC (permalink / raw)
  To: guix-devel

Le 2017-06-01 00:22, Danny Milosavljevic a écrit :
> Hi Hartmut,
> 
> On Tue, 30 May 2017 16:48:38 +0200
> Hartmut Goebel <h.goebel@crazy-compilers.com> wrote:
> 
>> /gnu/store/…-openexr-2.2.0/include/OpenEXR/ImfInt64.h:44:24:
>> fatal error: ImathInt64.h: No such file or directory
>> 
>> but file …-openexr-2.2.0/include/OpenEXR/ImathInt64.h exists.
>> 
>> I discovered that OpenEXR/ImfInt64.h contains
>> 
>> #include "ImathInt64.h"
>> #include "ImfNamespace.h"
>> 
>> Maybe this should be "OpenEXR/ImathInt64.h" (same for the other)?
> 
> I think not.  cpp (the C preprocessor) has no notion of modules and
> what it does is just process #include "xx" relative to the directory
> of the file it currently reads (the one containing the "#include"
> directive), no matter how it went there.  (If it can't find it then it
> will fallback to the #include <xx> handler - but I think that's bad
> form).
> 
> (If you wanted to specify the "OpenEXR/" you'd usually put
> /gnu/store/…-openexr-2.2.0/include into the include path and include
> it like this in OpenEXR/ImfInt64.h : #include <OpenEXR/ImathInt64.h>
> with the <>)
> 
> Strange error message, though.
> 
> Is that gcc?  Which version?

I've seen something similar already, openexr includes are divided in 
ilmbase and openexr, so you need both inputs. See darktable in photo.scm 
for an example.

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Error when including openexr
  2017-05-31 22:22 ` Danny Milosavljevic
  2017-06-01  8:07   ` julien lepiller
@ 2017-06-01  9:34   ` Hartmut Goebel
  1 sibling, 0 replies; 6+ messages in thread
From: Hartmut Goebel @ 2017-06-01  9:34 UTC (permalink / raw)
  To: Danny Milosavljevic; +Cc: guix-devel

Am 01.06.2017 um 00:22 schrieb Danny Milosavljevic:
> Is that gcc?  Which version?
It's an up to date guix system, nothing special.

-- 
Regards
Hartmut Goebel

| Hartmut Goebel          | h.goebel@crazy-compilers.com               |
| www.crazy-compilers.com | compilers which you thought are impossible |

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Error when including openexr
  2017-05-30 14:48 Error when including openexr Hartmut Goebel
  2017-05-31 22:22 ` Danny Milosavljevic
@ 2017-06-01 11:06 ` Andreas Enge
  2017-06-03  8:03   ` Hartmut Goebel
  1 sibling, 1 reply; 6+ messages in thread
From: Andreas Enge @ 2017-06-01 11:06 UTC (permalink / raw)
  To: Hartmut Goebel; +Cc: guix-devel

Hello,

On Tue, May 30, 2017 at 04:48:38PM +0200, Hartmut Goebel wrote:
> I try building a package using openexr. Building fails with
> /gnu/store/…-openexr-2.2.0/include/OpenEXR/ImfInt64.h:44:24:
> fatal error: ImathInt64.h: No such file or directory
> but file …-openexr-2.2.0/include/OpenEXR/ImathInt64.h exists.

this looks a lot like a problem I had with the hugin package
(currently as a patch in the debbug tracker). I ended up doing
the following:

+        ;; The header files of ilmbase (propagated by openexr) are not found
+        ;; when included by the header files of openexr, and an explicit
+        ;; flag needs to be set.
+        (string-append "-DCMAKE_CXX_FLAGS=-I"
+                       (assoc-ref %build-inputs "ilmbase")
+                       "/include/OpenEXR")

Andreas

^ permalink raw reply	[flat|nested] 6+ messages in thread

* Re: Error when including openexr
  2017-06-01 11:06 ` Andreas Enge
@ 2017-06-03  8:03   ` Hartmut Goebel
  0 siblings, 0 replies; 6+ messages in thread
From: Hartmut Goebel @ 2017-06-03  8:03 UTC (permalink / raw)
  To: Andreas Enge; +Cc: guix-devel

Am 01.06.2017 um 13:06 schrieb Andreas Enge:
> this looks a lot like a problem I had with the hugin package
> (currently as a patch in the debbug tracker). I ended up doing
> the following:
>
> +        ;; The header files of ilmbase (propagated by openexr) are not found
> +        ;; when included by the header files of openexr, and an explicit
> +        ;; flag needs to be set.
> +        (string-append "-DCMAKE_CXX_FLAGS=-I"
> +                       (assoc-ref %build-inputs "ilmbase")
> +                       "/include/OpenEXR")

Thanks for this snippet. This did the trick!

-- 
Regards
Hartmut Goebel

| Hartmut Goebel          | h.goebel@crazy-compilers.com               |
| www.crazy-compilers.com | compilers which you thought are impossible |

^ permalink raw reply	[flat|nested] 6+ messages in thread

end of thread, other threads:[~2017-06-03  8:03 UTC | newest]

Thread overview: 6+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2017-05-30 14:48 Error when including openexr Hartmut Goebel
2017-05-31 22:22 ` Danny Milosavljevic
2017-06-01  8:07   ` julien lepiller
2017-06-01  9:34   ` Hartmut Goebel
2017-06-01 11:06 ` Andreas Enge
2017-06-03  8:03   ` Hartmut Goebel

Code repositories for project(s) associated with this public inbox

	https://git.savannah.gnu.org/cgit/guix.git

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).