Re: 'make check' on Intel Mac

Paul Schneider <[email protected]> Thu, 3 Jan 2008 16:47:30 -0500
Newsgroups gmane.comp.video.openexr.user
Message-ID <[email protected]>
Hi, Jay,

it looks like you built the EXR libraries as intel-only, but you are  
building the testing code universal (intel & ppc).  The PPC build is  
failing because you don't have PPC versions of the EXR libraries.

> /usr/libexec/gcc/powerpc-apple-darwin8/4.0.1/ld: for architecture ppc
> /usr/libexec/gcc/powerpc-apple-darwin8/4.0.1/ld: warning /usr/local/ 
> lib/libImath.dylib cputype (7, architecture i386) does not match  
> cputype (18) for specified -arch flag: ppc (file not loaded)


My guess is that you have a PowerPC version of Matlab.  OS X will run  
Matlab transparently for you using emulation software called Rosetta.   
But the PowerPC Matlab will need PowerPC EXR libraries to read and  
write EXR files.  You can confirm this by selecting the Matlab  
application in the Finder and choosing "Get Info" - it will say  
"Application (PowerPC)" or "Application (Universal)".

You can fix this by rebuilding your EXR libraries as Universal  
libraries, like this:

%cd OpenEXR
%make distclean
%./configure --enable-osx-universal-binaries --disable-dependency- 
tracking
%make
%sudo make install

(repeat for IlmBase)

This will build the libraries for both Intel and PPC, and then both  
Intel and PPC applications can link to them.

Good luck!
- Paul




On Jan 3, 2008, at 4:37 PM, Jay Warrick wrote:

> Are the errors that I received upon performing 'make check'  
> significant? I can't seem to read and write openexr files with some  
> matlab code that uses these libraries. I have an intel mac.
>
> Thanks in advance!
>
>
> 'make check' from openexr folder
> -------------------------------------------------------------
> jay-warricks-computer:/Applications/openexr-1.6.1 jay_warrick$ make  
> check
> Making check in config
> make[1]: Nothing to be done for `check'.
> Making check in IlmImf
> /bin/sh ../libtool --tag=CXX --mode=link g++ -pipe -g -O2 -isysroot / 
> Developer/SDKs/MacOSX10.4u.sdk -arch ppc -arch i386 -Wno-long- 
> double   -o b44ExpLogTable  b44ExpLogTable.o -L/usr/local/lib  - 
> lImath -lHalf -lIex -lIlmThread
> g++ -pipe -g -O2 -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch ppc  
> -arch i386 -Wno-long-double -o b44ExpLogTable b44ExpLogTable.o -Wl,- 
> bind_at_load  -L/usr/local/lib /usr/local/lib/libImath.dylib /usr/ 
> local/lib/libHalf.dylib /usr/local/lib/libIlmThread.dylib /usr/local/ 
> lib/libIex.dylib
> /usr/libexec/gcc/powerpc-apple-darwin8/4.0.1/ld: for architecture ppc
> /usr/libexec/gcc/powerpc-apple-darwin8/4.0.1/ld: warning /usr/local/ 
> lib/libImath.dylib cputype (7, architecture i386) does not match  
> cputype (18) for specified -arch flag: ppc (file not loaded)
> /usr/libexec/gcc/powerpc-apple-darwin8/4.0.1/ld: warning /usr/local/ 
> lib/libHalf.dylib cputype (7, architecture i386) does not match  
> cputype (18) for specified -arch flag: ppc (file not loaded)
> /usr/libexec/gcc/powerpc-apple-darwin8/4.0.1/ld: warning /usr/local/ 
> lib/libIlmThread.dylib cputype (7, architecture i386) does not match  
> cputype (18) for specified -arch flag: ppc (file not loaded)
> /usr/libexec/gcc/powerpc-apple-darwin8/4.0.1/ld: warning /usr/local/ 
> lib/libIex.dylib cputype (7, architecture i386) does not match  
> cputype (18) for specified -arch flag: ppc (file not loaded)
> /usr/libexec/gcc/powerpc-apple-darwin8/4.0.1/ld: Undefined symbols:
> half::_eLut
> half::convert(int)
> half::_toFloat
> collect2: ld returned 1 exit status
> lipo: can't open input file: /var/tmp//ccJ9ofN2.out (No such file or  
> directory)
> make[1]: *** [b44ExpLogTable] Error 1
> make: *** [check-recursive] Error 1
> jay-warricks-computer:/Applications/openexr-1.6.1 jay_warrick$
>
> 'make check' from ilmbase folder
> -----------------------------------------------------
> jay-warricks-computer:/Applications/ilmbase-1.0.1 jay_warrick$ make  
> check
> Making check in Half
> make  check-am
> make[2]: Nothing to be done for `check-am'.
> Making check in HalfTest
> make  HalfTest
> g++ -DHAVE_CONFIG_H -I. -I. -I../config -I.. -I../Half -I../config    
> -pipe -g -O2 -D_THREAD_SAFE  -isysroot /Developer/SDKs/ 
> MacOSX10.4u.sdk -arch ppc -arch i386 -Wno-long-double -c -o main.o  
> main.cpp
> g++ -DHAVE_CONFIG_H -I. -I. -I../config -I.. -I../Half -I../config    
> -pipe -g -O2 -D_THREAD_SAFE  -isysroot /Developer/SDKs/ 
> MacOSX10.4u.sdk -arch ppc -arch i386 -Wno-long-double -c -o  
> testArithmetic.o testArithmetic.cpp
> g++ -DHAVE_CONFIG_H -I. -I. -I../config -I.. -I../Half -I../config    
> -pipe -g -O2 -D_THREAD_SAFE  -isysroot /Developer/SDKs/ 
> MacOSX10.4u.sdk -arch ppc -arch i386 -Wno-long-double -c -o  
> testBitPatterns.o testBitPatterns.cpp
> g++ -DHAVE_CONFIG_H -I. -I. -I../config -I.. -I../Half -I../config    
> -pipe -g -O2 -D_THREAD_SAFE  -isysroot /Developer/SDKs/ 
> MacOSX10.4u.sdk -arch ppc -arch i386 -Wno-long-double -c -o  
> testClassification.o testClassification.cpp
> g++ -DHAVE_CONFIG_H -I. -I. -I../config -I.. -I../Half -I../config    
> -pipe -g -O2 -D_THREAD_SAFE  -isysroot /Developer/SDKs/ 
> MacOSX10.4u.sdk -arch ppc -arch i386 -Wno-long-double -c -o  
> testError.o testError.cpp
> g++ -DHAVE_CONFIG_H -I. -I. -I../config -I.. -I../Half -I../config    
> -pipe -g -O2 -D_THREAD_SAFE  -isysroot /Developer/SDKs/ 
> MacOSX10.4u.sdk -arch ppc -arch i386 -Wno-long-double -c -o  
> testFunction.o testFunction.cpp
> g++ -DHAVE_CONFIG_H -I. -I. -I../config -I.. -I../Half -I../config    
> -pipe -g -O2 -D_THREAD_SAFE  -isysroot /Developer/SDKs/ 
> MacOSX10.4u.sdk -arch ppc -arch i386 -Wno-long-double -c -o  
> testLimits.o testLimits.cpp
> g++ -DHAVE_CONFIG_H -I. -I. -I../config -I.. -I../Half -I../config    
> -pipe -g -O2 -D_THREAD_SAFE  -isysroot /Developer/SDKs/ 
> MacOSX10.4u.sdk -arch ppc -arch i386 -Wno-long-double -c -o  
> testSize.o testSize.cpp
> /bin/sh ../libtool --tag=CXX --mode=link g++ -pipe -g -O2 - 
> D_THREAD_SAFE  -isysroot /Developer/SDKs/MacOSX10.4u.sdk -arch ppc - 
> arch i386 -Wno-long-double   -o HalfTest  main.o testArithmetic.o  
> testBitPatterns.o testClassification.o testError.o testFunction.o  
> testLimits.o testSize.o -L../Half -lHalf
> mkdir .libs
> g++ -pipe -g -O2 -D_THREAD_SAFE -isysroot /Developer/SDKs/ 
> MacOSX10.4u.sdk -arch ppc -arch i386 -Wno-long-double -o .libs/ 
> HalfTest main.o testArithmetic.o testBitPatterns.o  
> testClassification.o testError.o testFunction.o testLimits.o  
> testSize.o -Wl,-bind_at_load  -L/Applications/ilmbase-1.0.1/Half / 
> Applications/ilmbase-1.0.1/Half/.libs/libHalf.dylib
> /usr/libexec/gcc/powerpc-apple-darwin8/4.0.1/ld: for architecture ppc
> /usr/libexec/gcc/powerpc-apple-darwin8/4.0.1/ld: warning / 
> Applications/ilmbase-1.0.1/Half/.libs/libHalf.dylib cputype (7,  
> architecture i386) does not match cputype (18) for specified -arch  
> flag: ppc (file not loaded)
> /usr/libexec/gcc/powerpc-apple-darwin8/4.0.1/ld: Undefined symbols:
> half::_eLut
> half::convert(int)
> half::_toFloat
> operator<<(std::basic_ostream<char, std::char_traits<char> >&, half)
> printBits(char*, half)
> printBits(char*, float)
> printBits(std::basic_ostream<char, std::char_traits<char> >&, half)
> printBits(std::basic_ostream<char, std::char_traits<char> >&, float)
> collect2: ld returned 1 exit status
> lipo: can't open input file: /var/tmp//ccZFDuQS.out (No such file or  
> directory)
> make[2]: *** [HalfTest] Error 1
> make[1]: *** [check-am] Error 2
> make: *** [check-recursive] Error 1
> jay-warricks-computer:/Applications/ilmbase-1.0.1 jay_warrick$
>
>
> _______________________________________________
> Openexr-user mailing list
> [email protected]
> http://lists.nongnu.org/mailman/listinfo/openexr-user