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 1

It 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 LDADDs

Is 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.12
GS/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------




Attachment: PGP.sig
Description: This is a digitally signed message part

Reply via email to