Discussion:
[Openexr-user] Cannot compile exrdisplay on Mac OS X
Harder, Robert, Capt, DPX-AFPOA
2003-01-23 14:10:53 UTC
Permalink
I cannot compile exrdisplay on Mac OS X 10.2 (Jaguar) and wondered if anyone
else had figured out how to fix it.

For those interested I've included more details about the failure below.

-Rob


./configure fails on the FLTK test program (FLTK is installed and fluid
runs). It looks like this:

=======================================

checking for FLTK with GL support... no
*** Could not run FLTK test program, checking why...
checking for ANSI C header files... (cached) yes
checking limits.h usability... yes
checking limits.h presence... yes
checking for limits.h... yes
checking for unistd.h... (cached) yes
checking for an ANSI C-conforming const... yes
checking for inline... inline
checking for size_t... yes
checking for strerror... yes
checking for compress in -lz... yes
checking for ios_base support in C++ standard library... yes
checking for restrict keyword support... no
checking for gcc optimization flags... -O2 -funroll-loops -pipe
checking for processor-specific optimizations...

=======================================



./configure --disable-fltktest of course tries to build exrdisplay anyway
but fails to compile with these results:

=======================================

Making all in exrdisplay
if g++ -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\"
-DPACKAGE_STRI
NG=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"OpenEXR\" -DVERSION=\"1.0.4\"
-DSTDC_HEADE
RS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1
-DHAVE_STRING_H=1 -DHAV
E_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1
-DHAVE_UNISTD_H=1
-DHAVE_DLFCN_H=1 -DHAVE_X11=1 -DSTDC_HEADERS=1 -DHAVE_LIMITS_H=1
-DHAVE_UNISTD_H=1 -DH
AVE_STRERROR=1 -DHAVE_IOS_BASE=1 -Drestrict= -DPLATFORM_DARWIN_PPC=1 -I.
-I. -I/usr/in
clude -I.. -I../Iex -I../Half -I../Imath -I../IlmImf -O2 -funroll-loops
-pipe -g -O2
-MT ImageView.o -MD -MP -MF ".deps/ImageView.Tpo" \
-c -o ImageView.o `test -f 'ImageView.cpp' || echo './'`ImageView.cpp; \
then mv ".deps/ImageView.Tpo" ".deps/ImageView.Po"; \
else rm -f ".deps/ImageView.Tpo"; exit 1; \
fi
cc1plus: warning: changing search order for system directory "/usr/include"
cc1plus: warning: as it has already been specified as a non-system
directory
In file included from ../Imath/ImathVec.h:47,
from ../IlmImf/ImfHeader.h:49,
from ../IlmImf/ImfRgbaFile.h:51,
from ImageView.h:46,
from ImageView.cpp:43:
../Imath/ImathLimits.h:239: warning: use of `long double' type; its size may
change in a future release
../Imath/ImathLimits.h:239: warning: (Long double usage is reported only
once
for each file.
../Imath/ImathLimits.h:239: warning: To disable this warning, use
-Wno-long-double.)
ImageView.cpp:44:19: GL/gl.h: No such file or directory
ImageView.cpp: In member function `virtual void ImageView::draw()':
ImageView.cpp:116: `glLoadIdentity' undeclared (first use this function)
ImageView.cpp:116: (Each undeclared identifier is reported only once for
each
function it appears in.)
ImageView.cpp:117: `glViewport' undeclared (first use this function)
ImageView.cpp:118: `glOrtho' undeclared (first use this function)
ImageView.cpp:121: `glColor3f' undeclared (first use this function)
ImageView.cpp:122: `GL_COLOR_BUFFER_BIT' undeclared (first use this
function)
ImageView.cpp:122: `glClear' undeclared (first use this function)
ImageView.cpp:126: `glRasterPos2i' undeclared (first use this function)
ImageView.cpp:129: `GL_RGB' undeclared (first use this function)
ImageView.cpp:130: `GL_UNSIGNED_BYTE' undeclared (first use this function)
ImageView.cpp:131: `glDrawPixels' undeclared (first use this function)
ImageView.cpp: In function `float <unnamed>::knee(float, float)':
ImageView.cpp:197: `logf' undeclared (first use this function)
ImageView.cpp: In constructor `<unnamed>::Gamma::Gamma(float, float, float,
float)':
ImageView.cpp:238: `powf' undeclared (first use this function)
make[1]: *** [ImageView.o] Error 1
make: *** [all-recursive] Error 1

=======================================


+-----------------------------------------+
| Robert Harder, Capt, USAF, DPX-AFPOAe |
| Chief, Enlisted Models Development |
| voice: (703) 604-1341 DSN: 664-1341 |
| fax: (703) 604-1657 DSN: 665-1657 |
| ***@pentagon.af.mil |
+-----------------------------------------+
Drew Hess
2003-01-23 19:13:33 UTC
Permalink
Hi Rob,

I'm gonna try to get exrdisplay working on OS X in the next few days.
Until now I hadn't tried very hard. Dan Goldman reported to me back in
December that the GL headers on OS X aren't in a directory named GL, so
that's probably the root of the problem you're seeing below.

If anyone else has success (even partial) with exrdisplay on OS X, email
me and we'll try to work things out together.

-dwh-
Post by Harder, Robert, Capt, DPX-AFPOA
I cannot compile exrdisplay on Mac OS X 10.2 (Jaguar) and wondered if anyone
else had figured out how to fix it.
For those interested I've included more details about the failure below.
-Rob
./configure fails on the FLTK test program (FLTK is installed and fluid
=======================================
checking for FLTK with GL support... no
*** Could not run FLTK test program, checking why...
checking for ANSI C header files... (cached) yes
checking limits.h usability... yes
checking limits.h presence... yes
checking for limits.h... yes
checking for unistd.h... (cached) yes
checking for an ANSI C-conforming const... yes
checking for inline... inline
checking for size_t... yes
checking for strerror... yes
checking for compress in -lz... yes
checking for ios_base support in C++ standard library... yes
checking for restrict keyword support... no
checking for gcc optimization flags... -O2 -funroll-loops -pipe
checking for processor-specific optimizations...
=======================================
./configure --disable-fltktest of course tries to build exrdisplay anyway
=======================================
Making all in exrdisplay
if g++ -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\"
-DPACKAGE_STRI
NG=\"\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"OpenEXR\" -DVERSION=\"1.0.4\"
-DSTDC_HEADE
RS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1
-DHAVE_STRING_H=1 -DHAV
E_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1
-DHAVE_UNISTD_H=1
-DHAVE_DLFCN_H=1 -DHAVE_X11=1 -DSTDC_HEADERS=1 -DHAVE_LIMITS_H=1
-DHAVE_UNISTD_H=1 -DH
AVE_STRERROR=1 -DHAVE_IOS_BASE=1 -Drestrict= -DPLATFORM_DARWIN_PPC=1 -I.
-I. -I/usr/in
clude -I.. -I../Iex -I../Half -I../Imath -I../IlmImf -O2 -funroll-loops
-pipe -g -O2
-MT ImageView.o -MD -MP -MF ".deps/ImageView.Tpo" \
-c -o ImageView.o `test -f 'ImageView.cpp' || echo './'`ImageView.cpp; \
then mv ".deps/ImageView.Tpo" ".deps/ImageView.Po"; \
else rm -f ".deps/ImageView.Tpo"; exit 1; \
fi
cc1plus: warning: changing search order for system directory "/usr/include"
cc1plus: warning: as it has already been specified as a non-system
directory
In file included from ../Imath/ImathVec.h:47,
from ../IlmImf/ImfHeader.h:49,
from ../IlmImf/ImfRgbaFile.h:51,
from ImageView.h:46,
../Imath/ImathLimits.h:239: warning: use of `long double' type; its size may
change in a future release
../Imath/ImathLimits.h:239: warning: (Long double usage is reported only
once
for each file.
../Imath/ImathLimits.h:239: warning: To disable this warning, use
-Wno-long-double.)
ImageView.cpp:44:19: GL/gl.h: No such file or directory
ImageView.cpp:116: `glLoadIdentity' undeclared (first use this function)
ImageView.cpp:116: (Each undeclared identifier is reported only once for
each
function it appears in.)
ImageView.cpp:117: `glViewport' undeclared (first use this function)
ImageView.cpp:118: `glOrtho' undeclared (first use this function)
ImageView.cpp:121: `glColor3f' undeclared (first use this function)
ImageView.cpp:122: `GL_COLOR_BUFFER_BIT' undeclared (first use this
function)
ImageView.cpp:122: `glClear' undeclared (first use this function)
ImageView.cpp:126: `glRasterPos2i' undeclared (first use this function)
ImageView.cpp:129: `GL_RGB' undeclared (first use this function)
ImageView.cpp:130: `GL_UNSIGNED_BYTE' undeclared (first use this function)
ImageView.cpp:131: `glDrawPixels' undeclared (first use this function)
ImageView.cpp:197: `logf' undeclared (first use this function)
ImageView.cpp: In constructor `<unnamed>::Gamma::Gamma(float, float, float,
ImageView.cpp:238: `powf' undeclared (first use this function)
make[1]: *** [ImageView.o] Error 1
make: *** [all-recursive] Error 1
=======================================
+-----------------------------------------+
| Robert Harder, Capt, USAF, DPX-AFPOAe |
| Chief, Enlisted Models Development |
| voice: (703) 604-1341 DSN: 664-1341 |
| fax: (703) 604-1657 DSN: 665-1657 |
+-----------------------------------------+
_______________________________________________
Openexr-user mailing list
http://mail.nongnu.org/mailman/listinfo/openexr-user
Robin Rowe
2005-08-27 21:25:13 UTC
Permalink
Drew,

Our CinePaint developer trying to compile exrdisplay on the Mac reports that
he can't because it's looking for Cg. What's the status of exrdisplay on the
Mac? Did you get it to build after your note to the list in 2003?

Who's active on openexr for Mac? Should we try to work together?

Thank you,

Robin
-------------------------------------------------------------------
***@MovieEditor.com Beverly Hills, California
www.CinePaint.org - Open source digital motion picture software

----- Original Message -----
From: "Drew Hess" <***@ilm.com>
To: "Harder, Robert, Capt, DPX-AFPOA" <***@pentagon.af.mil>
Cc: <openexr-***@nongnu.org>
Sent: Thursday, January 23, 2003 12:13 PM
Subject: Re: [Openexr-user] Cannot compile exrdisplay on Mac OS X
Post by Drew Hess
Hi Rob,
I'm gonna try to get exrdisplay working on OS X in the next few days.
Until now I hadn't tried very hard. Dan Goldman reported to me back in
December that the GL headers on OS X aren't in a directory named GL, so
that's probably the root of the problem you're seeing below.
If anyone else has success (even partial) with exrdisplay on OS X, email
me and we'll try to work things out together.
-dwh-
Paul Schneider
2005-08-28 05:32:24 UTC
Permalink
Hi, Robin,

exrdisplay is supported on the Mac, but the version of exrdisplay
that uses Cg to prepare the image for display on the GPU is not. I
believe that Drew is working on moving this version over to OpenGL
ARB shaders, which should work just fine on the Mac.

exrdisplay won't build on the Mac unless you install FLTK, which is
available at www.fltk.org (version 1.1.6 is the one you want, I think).

As always, exrdisplay is a utility application separate from the
OpenEXR libraries, and is not required for reading and writing
OpenEXR image files.

If you are interested in developing fragment shaders for processing
and displaying OpenEXR image data, the code in exrdisplay can provide
a good reference. The ARB shader API is quite similar to NVidia's
API, and is a more portable way to write fragment programs.

- Paul
Post by Robin Rowe
Drew,
Our CinePaint developer trying to compile exrdisplay on the Mac
reports that he can't because it's looking for Cg. What's the
status of exrdisplay on the Mac? Did you get it to build after your
note to the list in 2003?
Who's active on openexr for Mac? Should we try to work together?
Thank you,
Robin
-------------------------------------------------------------------
www.CinePaint.org - Open source digital motion picture software
Sent: Thursday, January 23, 2003 12:13 PM
Subject: Re: [Openexr-user] Cannot compile exrdisplay on Mac OS X
Post by Drew Hess
Hi Rob,
I'm gonna try to get exrdisplay working on OS X in the next few days.
Until now I hadn't tried very hard. Dan Goldman reported to me back in
December that the GL headers on OS X aren't in a directory named GL, so
that's probably the root of the problem you're seeing below.
If anyone else has success (even partial) with exrdisplay on OS X, email
me and we'll try to work things out together.
-dwh-
_______________________________________________
Openexr-user mailing list
http://lists.nongnu.org/mailman/listinfo/openexr-user
Paul Boots
2003-01-27 22:54:48 UTC
Permalink
Hi Drew,

I've been hacking a bit with the exrdisplay code
My system is OSX 10.2.3

At the moment I find two problems with the code
1. powf and logf are not defined on the OSX
hack solution: include 'fp.h' instead of 'math.h'
and change all powf/logf to pow/log calls

(I'm not quite sure if that screws up computations, but it compiles ;))

2. FLTK libraries
Somehow the GL includes/libraries don't seem to be a problem with me,
its the fltk libs that give me errors (illegal references)

I'v placed links to the fltk libs in /usr/lib (there installed in /usr/local/lib)
(btw: osx doesn't like /usr/local <grumble>)

After doing a 'configure --disable-fltktest' and a 'make' in exrdisplay:

make: Entering directory `/Users/bootsch/src/OpenEXR-1.0.4/exrdisplay'
/bin/sh ../libtool --mode=link g++ -O2 -funroll-loops -pipe -g -O2 -o exrdisplay main.o ImageView.o -L/usr/X11R6/lib -L/usr/lib -lfltk_gl -lfltk -lXext -lX11 -lGL -lm -L../Iex -L../Half -L../Imath -L../IlmImf -lIlmImf -lImath -lHalf -lIex -lz
g++ -O2 -funroll-loops -pipe -g -O2 -o .libs/exrdisplay main.o ImageView.o -L/usr/X11R6/lib -L/usr/lib -lfltk_gl -lfltk -lXext -lX11 -lGL -lm -L/Users/bootsch/src/OpenEXR-1.0.4/Iex -L/Users/bootsch/src/OpenEXR-1.0.4/Half -L/Users/bootsch/src/OpenEXR-1.0.4/Imath -L/Users/bootsch/src/OpenEXR-1.0.4/IlmImf -L/Users/bootsch/src/OpenEXR-1.0.4/IlmImf/.libs -lIlmImf -L/Users/bootsch/src/OpenEXR-1.0.4/Imath/.libs -lImath -L/Users/bootsch/src/OpenEXR-1.0.4/Half/.libs -lHalf -L/Users/bootsch/src/OpenEXR-1.0.4/Iex/.libs -lIex -lz
ld: /usr/lib/libfltk_gl.a(Fl_Gl_Window.o) illegal reference to symbol: _ClipRect defined in indirectly referenced dynamic library /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/QD.framework/Versions/A/QD
ld: /usr/lib/libfltk.a(Fl_x.o) illegal reference to symbol: _AppendResMenu defined in indirectly referenced dynamic library /System/Library/Frameworks/Carbon.framework/Versions/A/Frameworks/HIToolbox.framework/Versions/A/HIToolbox
ld: /usr/lib/libfltk.a(Fl_x.o) illegal reference to symbol: _AEInstallEventHandler defined in indirectly referenced dynamic library /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/AE.framework/Versions/A/AE
ld: /usr/lib/libfltk.a(Fl_x.o) illegal reference to symbol: _ExitToShell defined in indirectly referenced dynamic library /System/Library/Frameworks/ApplicationServices.framework/Versions/A/Frameworks/HIServices.framework/Versions/A/HIServices
ld: /usr/lib/libfltk.a(Fl_x.o) illegal reference to symbol: _FSRefMakePath defined in indirectly referenced dynamic library /System/Library/Frameworks/CoreServices.framework/Versions/A/Frameworks/CarbonCore.framework/Versions/A/CarbonCore
make: *** [exrdisplay] Error 1
make: Leaving directory `/Users/bootsch/src/OpenEXR-1.0.4/exrdisplay'


---
Haven't started to figure out what's going on here -
Hope to this working sometime soon

Best regards,
Paul Boots
--
-----------------------------------------------------------------------
Paul Boots mailto:***@acm.org

PGP Public Key:
http://wwwkeys.nl.pgp.net:11371/pks/lookup?op=get&search=0x53184F80
-----------------------------------------------------------------------
Paul Boots
2003-01-28 00:23:38 UTC
Permalink
Hi Wes,
Why switch the references, powf and logf should be in math.h, check out "man exp" you'll see them in there.
Uhh, I agree, but, the math.h on my system only has 'pow' and 'log'
worse: there's no 'exp' manpage to be found on my system
unbelievable: a bug in the 'man' command prevents me from seeing manpages
in a terminal window.

any hints - tips?
Has anyone tried moving OpenEXR to either a codewarrior or project builder project? I'll likely be looking into doing this soon. I'm starting work on an OpenEXR read/write plugin for Maya (Linux, OS X, and Windows).
I would like to see a Project Builder version - would be happy to contribute
getting that done.
I'll have to get some more hints from Paul on working through this as well, have you been working with him much Drew?
No more hints for now - will keep you posted

regards,
Paul
--
-----------------------------------------------------------------------
Paul Boots mailto:***@acm.org

PGP Public Key:
http://wwwkeys.nl.pgp.net:11371/pks/lookup?op=get&search=0x53184F80
-----------------------------------------------------------------------
Weston Houghton
2003-01-28 00:37:41 UTC
Permalink
Heee, that's funny, totally flew over my head that your name was Paul
too, I actually was referring to a friend of mine named paul who works
at ILM. sorry about that.

Anyhow, I did a little more searching, and you're right. It seems that
apple's math.h does not include them, but Metrowerks MSL does. How
silly of Apple. I'll have to do a little more digging. Regardless it
shouldn't be too hard to replace them.

In regards to your man pages, did you install Fink? I did it a while
ago, and found some issues with using man following that, I had to call
the original version of man outside of /sw explicitly. I then gave up
on Fink and just kept working on things myself.

I'll see what I can get started as far as a ProjectBuilder (Mach-O)
version of the toolset this week, and if anyone is interested in a
CodeWarrior version, let me know, as I'll have to do a CW (CFM) version
for working with Maya.

Cheers,
Wes
Post by Paul Boots
Hi Wes,
Why switch the references, powf and logf should be in math.h, check
out "man exp" you'll see them in there.
Uhh, I agree, but, the math.h on my system only has 'pow' and 'log'
worse: there's no 'exp' manpage to be found on my system
unbelievable: a bug in the 'man' command prevents me from seeing
manpages
in a terminal window.
any hints - tips?
Has anyone tried moving OpenEXR to either a codewarrior or project
builder project? I'll likely be looking into doing this soon. I'm
starting work on an OpenEXR read/write plugin for Maya (Linux, OS X,
and Windows).
I would like to see a Project Builder version - would be happy to
contribute
getting that done.
I'll have to get some more hints from Paul on working through this as
well, have you been working with him much Drew?
No more hints for now - will keep you posted
regards,
Paul
--
-----------------------------------------------------------------------
Paul Boots
http://wwwkeys.nl.pgp.net:11371/pks/lookup?op=get&search=0x53184F80
-----------------------------------------------------------------------
Loading...