[csw-maintainers] problems with symbol version script
Ben Walton
bwalton at opencsw.org
Wed Jun 23 02:12:07 CEST 2010
Hi All,
I'm trying to build an updated libxslt which has, since the last
release, added a symbol version script. The build fails with:
libtool: link: /opt/studio/SOS12/SUNWspro/bin/cc -G -h libxslt.so.1 -o
.libs/libxslt.so.1.1.26 .libs/attrvt.o .libs/xslt.o
.libs/xsltlocale.o .libs/xsltutils.o .libs/pattern.o .libs/templates.o
.libs/variables.o .libs/keys.o .libs/numbers.o .libs/extensions.o
.libs/extra.o .libs/functions.o .libs/namespaces.o .libs/imports.o
.libs/attributes.o .libs/documents.o .libs/preproc.o .libs/transform.o
.libs/security.o -R/opt/csw/lib -L/opt/csw/lib -lxml2 -lz -lpthread
-liconv -lsocket -lnsl -lm -lc -m32 -xarch=v8 -Wl,-M
-Wl,./libxslt.syms -m32 -xarch=v8
Undefined first referenced
symbol in file
_fini
/opt/studio/SOS12/SUNWspro/prod/lib/crti.o (symbol has no version
assigned)
_init
/opt/studio/SOS12/SUNWspro/prod/lib/crti.o (symbol has no version
assigned)
xsltPointerListFree ./libxslt.syms
xsltCopyTree .libs/transform.o (symbol has no
version assigned)
xsltTransStorageAdd ./libxslt.syms
xsltPointerListCreate ./libxslt.syms
xsltPointerListAddSize ./libxslt.syms
xsltParseSequenceConstructor ./libxslt.syms
xsltComputingGlobalVarMarker .libs/variables.o (symbol has no
version assigned)
xsltPointerListClear ./libxslt.syms
xsltParseAnyXSLTElem ./libxslt.syms
xsltRestoreDocumentNamespaces ./libxslt.syms
xsltXSLTAttrMarker ./libxslt.syms
xsltTransStorageRemove ./libxslt.syms
_lib_version
/opt/studio/SOS12/SUNWspro/prod/lib/values-xa.o (symbol has no
version assigned)
xsltDefaultTrace .libs/transform.o (symbol has no
version assigned)
xsltStyleStylesheetLevelGetExtData ./libxslt.syms
xsltConstNamespaceNameXSLT ./libxslt.syms
xsltMatchPattern ./libxslt.syms
ld: fatal: Symbol referencing errors. No output written to
.libs/libxslt.so.1.1.26
gmake: *** [libxslt.la] Error 1
So far, I've been able to make the build work by either removing the
-Wl,-M -Wl,-./libxslt.syms parameters, thus disabling the symbol
versioning completely or by added -Wl,-B -Wl,local to the arguments,
thus changing the intended behaviour of the symbol map (all symbols in
the map are defined in the global scope).
The symbol version script looks ok[1] to me.
Has anyone hit this before? I'd prefer to enable the functionality if
possible since that makes for better .so files...
Any and all help is appreciated.
Thanks
-Ben
[1] I'll be submitting a patch upstream to correct the names...looks
like a copy error from libxml2. They build the .syms file from an
xml document and an xslt transform file where the transform file
contains the LIBXML2 tags presumably as they were pulled in from
that twin project.
--
Ben Walton
Systems Programmer - CHASS
University of Toronto
C:416.407.5610 | W:416.978.4302
More information about the maintainers
mailing list