Thanks Paul. I am able to get the libraries to compile when I run
your commands below as a script, but not when running them against
the posted download. So perhaps the CVS is more up-to-date than the
posted build. Not sure why you don't have the listed --enable-osx-
universal-binaries. Note that from the distributed directions, you'd
never know about bootstrap, because it is only in the CVS directions.
I'm currently encountering "different visibility" warnings,
followed by undefined symbol errors on
Imf::Channel::Channel(Imf::PixelType, int, int)
Imf::Slice::Slice(...
Imf::OutputFile::OutputFile(...
Imf::RgbaInputFile::RgbaInputFile(...
Any hints to resolve this would be appreciated, I'm kinda fried.
This was previously set up to compile against 1.2.2, though I think
I had to build my own OpenEXR project to get it to work (helps with
debugging anyway)
Thanks,
Russ
----- Original Message ----
Sent: Monday, December 8, 2008 8:23:36 PM
Subject: Re: [Openexr-devel] Compile *only* static libs for OS X Uni?
Hi Russ,
This seems to be working for me with a fresh download of the source
from CVS:
%cvs -z3 -d:pserver:address@hidden:/sources/
openexr co IlmBase
%cvs -z3 -d:pserver:address@hidden:/sources/
openexr co OpenEXR
%export CXXFLAGS='-isysroot /Developer/SDKs/MacOSX10.5.sdk -arch ppc
-arch i386 -arch ppc64 -arch x86_64'
%export LDFLAGS='-Wl,-syslibroot,/Developer/SDKs/MacOSX10.5.sdk -
arch ppc -arch i386 -arch ppc64 -arch x86_64'
%cd IlmBase
%./bootstrap
%./configure --disable-dependency-tracking
%make
%sudo make install
%cd ../OpenEXR
%./bootstrap
%./configure --disable-dependency-tracking
%make
%sudo make install
%file /usr/local/lib/libIlmImf.a
/usr/local/lib/libIlmImf.a: Mach-O universal binary with 4
architectures
/usr/local/lib/libIlmImf.a (for architecture ppc): current ar
archive
/usr/local/lib/libIlmImf.a (for architecture i386): current ar
archive
/usr/local/lib/libIlmImf.a (for architecture ppc64): current ar
archive
/usr/local/lib/libIlmImf.a (for architecture x86_64): current ar
archive
%file /usr/local/lib/libIlmImf.dylib
/usr/local/lib/libIlmImf.dylib: Mach-O universal binary with 4
architectures
/usr/local/lib/libIlmImf.dylib (for architecture ppc7400): Mach-O
dynamically linked shared library ppc
/usr/local/lib/libIlmImf.dylib (for architecture i386): Mach-O
dynamically linked shared library i386
/usr/local/lib/libIlmImf.dylib (for architecture ppc64): Mach-O
64-bit dynamically linked shared library ppc64
/usr/local/lib/libIlmImf.dylib (for architecture x86_64): Mach-O
64-bit dynamically linked shared library x86_64
This is all definitely harder than it needs to be; I'll see about
submitting a patch that enables 4-way universal builds in a more
user-friendly manner. In the meantime, please try the above and let
me know if it's not working for you.
- Paul
On Dec 5, 2008, at 6:05 PM, Russ wrote:
I'm trying to create static libraries for OSX that are 4-way
universal from openexr-1.6.1. I've added the architectures to the
config and changed from 10.4u to 10.5 SDKs and run it with the two
osx options per README.OSX
The ilmbase compile & install seemed to go reasonably well. I have
the 4-way static libraries in /usr/local/lib --- libHalf.a etc. The
dylibs are i386 only, though.
Now I'm trying the same thing on openexr itself, but it seems
intent on building .lo and .la versions and using the dylibs ---
but since the dylibs are i386 only, the whole thing is rolling over
and failing with spectacular numbers of intermingled missing-
architecture messages.
From what I saw in ilmbase, I need the openexr make to be trying to
create .o and .a versions, and using the 4-way universal .a
versions in /usr/local/lib
Suggestions appreciated, thanks.
_______________________________________________
Openexr-devel mailing list
address@hidden
http://lists.nongnu.org/mailman/listinfo/openexr-devel
_______________________________________________
Openexr-devel mailing list
address@hidden
http://lists.nongnu.org/mailman/listinfo/openexr-devel