[xslt] Undefined symbols on Solaris


during the compilation of libxstl-1.1.33 I encountered the following linkage error on Solaris.

  CCLD     xsltproc
ld: warning: file /builds/lbukata/29251802.libxslt.ST/components/libxslt/build/i86/libxslt/.libs/libxslt.so: linked to ../libxslt/.libs/libxslt.so: attempted multiple inclusion of file
Undefined                       first referenced
 symbol                             in file
xsltCopyTree                        ../libxslt/.libs/libxslt.so
xsltDefaultTrace                    ../libxslt/.libs/libxslt.so
ld: fatal: symbol referencing errors

It seems that xsltCopyTree and xsltDefaultTrace symbols defined in transform.c are required to build xsltproc binary.

$ nm ./build/amd64/libxslt/.libs/libxslt.so | grep CopyTree
[719]   |                   0|                   0|NOTY |GLOB |0    |UNDEF  |xsltCopyTree
[230]   |              276544|                1108|FUNC |LOCL |0    |20     |xsltCopyTree
$ nm ./build/amd64/libxslt/.libs/libxslt.so | grep xsltDefaultTrace
[402]   |                   0|                   0|NOTY |GLOB |0    |UNDEF  |xsltDefaultTrace
[222]   |             1367520|                   8|OBJT |LOCL |0    |24     |xsltDefaultTrace

I believe that the global symbols are undefined because they are declared as static. The proposed patch simply removes the static keywords to resolve this issue.


Attachment: undef_symbs.patch
Description: Text Data

[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]