Dear experts!I'm using 10.4-transitional/unstable and just did a selfupdate, which didn't have to compile anything. update-all then stopped with a linker error from openEXR:
/bin/sh ../libtool --mode=link g++-3.3 -pipe -g -O2 -Wno-long- double -L/sw/lib -o exrheader -L../Iex -L../Half -L../Imath -L../ IlmImf -lIlmImf -lImath -lHalf -lIex -lz main.o g++-3.3 -pipe -g -O2 -Wno-long-double -o exrheader main.o -Wl,- bind_at_load -L/sw/lib -L/sw/src/fink.build/openexr-1.2.2-21/ OpenEXR-1.2.2/Iex -L/sw/src/fink.build/openexr-1.2.2-21/OpenEXR-1.2.2/ Half -L/sw/src/fink.build/openexr-1.2.2-21/OpenEXR-1.2.2/Imath -L/sw/ src/fink.build/openexr-1.2.2-21/OpenEXR-1.2.2/IlmImf /sw/lib/ libIlmImf.a /sw/lib/libImath.a /sw/lib/libHalf.a /sw/lib/libIex.a -lz
ld: Undefined symbols: __ZN3Imf8TimeCodeC1ERKS0_ __ZNK3Imf7KeyCode10perfOffsetEv __ZNK3Imf7KeyCode11filmMfcCodeEv __ZNK3Imf7KeyCode13perfsPerCountEv __ZNK3Imf7KeyCode13perfsPerFrameEv __ZNK3Imf7KeyCode5countEv __ZNK3Imf7KeyCode6prefixEv __ZNK3Imf7KeyCode8filmTypeEv __ZNK3Imf8TimeCode10colorFrameEv __ZNK3Imf8TimeCode10fieldPhaseEv __ZNK3Imf8TimeCode4bgf0Ev __ZNK3Imf8TimeCode4bgf1Ev __ZNK3Imf8TimeCode4bgf2Ev __ZNK3Imf8TimeCode5frameEv __ZNK3Imf8TimeCode5hoursEv __ZNK3Imf8TimeCode7minutesEv __ZNK3Imf8TimeCode7secondsEv __ZNK3Imf8TimeCode8userDataEv __ZNK3Imf8TimeCode9dropFrameEv __ZNK3Imf9InputFile10isCompleteEv make: *** [exrheader] Error 1It seems like the early mention of "-L/sw/lib" makes libtool use the old version of libIlmImf from the system directory instead of the newly compiled one. The hotfix would be to deinstall the package when compiling a new version, but that's ugly beyond words. As I'm relatively new to this business I don't know how to properly fix it, but I see at least two possible ways:
- The culprit is the definition of CXXLINK, including LDFLAGS, so we remove that and add it to the LDADDs
- We set LDFLAGS to the empty string and add /sw/lib to the LDADDsIs there a better way? Which one is preferred? I might be able to produce a new openexr.patch once I receive a 'go'.
Ciao, Roland -- TU Muenchen, Physik-Department E18, James-Franck-Str., 85748 Garching Telefon 089/289-12575; Telefax 089/289-12570 -- UNIX was not designed to stop you from doing stupid things, because that would also stop you from doing clever things. -Doug Gwyn -----BEGIN GEEK CODE BLOCK----- Version: 3.12GS/CS/M/MU d-(++) s:+ a-> C+++ UL++++ P+++ L+++ E(+) W+ !N K- w--- M + !V Y+
PGP++ t+(++) 5 R+ tv-- b+ DI++ e+++>++++ h---- y+++ ------END GEEK CODE BLOCK------
PGP.sig
Description: This is a digitally signed message part