[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Openexr-devel] unresolved symbols in (shared) libs
From: |
Bob Friesenhahn |
Subject: |
Re: [Openexr-devel] unresolved symbols in (shared) libs |
Date: |
Thu, 9 Feb 2006 22:33:34 -0600 (CST) |
Library dependencies should be specified using LIBADD rather than
LDFLAGS. This is because Automake knows about libraries specified via
LIBADD but not via LDFLAGS. LDFLAGS is reserved for options like
-L/foo. Adding -no-undefined to LDFLAGS is ok since libtool will
parse it, but using -Wl,--no-undefined is likely to cause the package
to only work with GNU ld.
Bob
On Thu, 9 Feb 2006, Rex Dieter wrote:
For details:
http://bugzilla.redhat.com/bugzilla/165729
In short, with OpenEXR-1.2.2, both libIlmImf.so and libImath.so contain
undefined symbols (See appended details).
Attached patch does:
1. adds dependant libs to fix unresolved symbols
2. adds -no-undefined -Wl,--no-undefined to <LIB>_la_LDFLAGS
(though I'm not very certain how portable the latter modification is).
One of the resolved symbols is from zlib, so you can also drop/omit -lz
from the pkgconfig file OpenEXR.pc as well.
-- Rex
$ldd -r /usr/lib/libIlmImf.so
undefined symbol: uncompress (/usr/lib/libIlmImf.so)
undefined symbol: _ZN3Iex13throwErrnoExcERKSs (/usr/lib/libIlmImf.so)
undefined symbol: _ZN3Iex7BaseExcD2Ev (/usr/lib/libIlmImf.so)
undefined symbol:
_ZN3Iex7BaseExc6assignERSt18basic_stringstreamIcSt11char_traitsIcESaIcEE
(/usr/lib/libIlmImf.so)
undefined symbol:
_ZN3Iex7BaseExcC2ERSt18basic_stringstreamIcSt11char_traitsIcESaIcEE
(/usr/lib/libIlmImf.so)
undefined symbol: _ZN3Iex7BaseExcC2EPKc (/usr/lib/libIlmImf.so)
undefined symbol: _ZN4half7convertEi (/usr/lib/libIlmImf.so)
undefined symbol: _ZN3Iex7BaseExcC1EPKc (/usr/lib/libIlmImf.so)
undefined symbol: compress (/usr/lib/libIlmImf.so)
undefined symbol: _ZN3Iex7BaseExcD1Ev (/usr/lib/libIlmImf.so)
undefined symbol: _ZTIN3Iex7BaseExcE (/usr/lib/libIlmImf.so)
undefined symbol: _ZN4half5_eLutE (/usr/lib/libIlmImf.so)
undefined symbol: _ZN4half8_toFloatE (/usr/lib/libIlmImf.so)
undefined symbol: _ZNK3Iex7BaseExc4whatEv (/usr/lib/libIlmImf.so)
$ldd -r /usr/lib/libImath.so
...
undefined symbol: _ZN3Iex7BaseExcD2Ev (/usr/lib/libImath.so)
undefined symbol: _ZN3Iex7BaseExcC2EPKc (/usr/lib/libImath.so)
undefined symbol: _ZTIN3Iex7BaseExcE (/usr/lib/libImath.so)
undefined symbol: _ZNK3Iex7BaseExc4whatEv (/usr/lib/libImath.so)
======================================
Bob Friesenhahn
address@hidden, http://www.simplesystems.org/users/bfriesen/
GraphicsMagick Maintainer, http://www.GraphicsMagick.org/