tech-pkg archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

pkgsrc/textproc/libxslt undefined symbols



I find that this packages does not build on Solaris without some
changes... and I wonder if those changes are ok for all platforms?

The trouble is that Solaris ld is more picky about the contents of the
file libxslt.syms that is used in the link phase with
-Wl,-M -Wl,./libxslt.syms

The following patch found as part of the patches linked from
http://www.mail-archive.com/xml%gnome.org@localhost/msg07624.html
fixes the problem... but I'm unclear if it would have any bad effects
for other platforms.

$ cat patches/patch-ah
--- libxslt/libxslt.syms.orig   2010-08-23 15:27:58.923572700 -0500
+++ libxslt/libxslt.syms        2010-08-23 15:32:43.661353200 -0500
@@ -107,7 +107,7 @@
   xsltFreeCompMatchList;
   xsltFreeTemplateHashes;
   xsltGetTemplate;
-  xsltMatchPattern;
+#  xsltMatchPattern;
   xsltTestCompMatchList;

 # preproc
@@ -406,7 +406,7 @@
     global:

 # xsltInternals
-  xsltConstNamespaceNameXSLT; # variable
+#  xsltConstNamespaceNameXSLT; # variable
   xsltExtensionInstructionResultFinalize;
   xsltExtensionInstructionResultRegister;
   xsltInitCtxtKey;
@@ -415,24 +415,24 @@
   xsltInit;

 # xsltInternals
-  xsltParseAnyXSLTElem;
-  xsltParseSequenceConstructor;
-  xsltPointerListAddSize;
-  xsltPointerListClear;
-  xsltPointerListCreate;
-  xsltPointerListFree;
+#  xsltParseAnyXSLTElem;
+#  xsltParseSequenceConstructor;
+#  xsltPointerListAddSize;
+#  xsltPointerListClear;
+#  xsltPointerListCreate;
+#  xsltPointerListFree;
   xsltRegisterLocalRVT;
   xsltReleaseRVT;
-  xsltRestoreDocumentNamespaces;
+#  xsltRestoreDocumentNamespaces;

 # extensions
-  xsltStyleStylesheetLevelGetExtData;
+#  xsltStyleStylesheetLevelGetExtData;

 # xsltInternals
-  xsltTransStorageAdd;
-  xsltTransStorageRemove;
+#  xsltTransStorageAdd;
+#  xsltTransStorageRemove;
   xsltUninit;
-  xsltXSLTAttrMarker; # variable
+#  xsltXSLTAttrMarker; # variable
 } LIBXML2_1.1.9;

 LIBXML2_1.1.20 {
@@ -475,5 +475,9 @@

 # transform
   xsltProcessOneNode;
+
+# Solaris ld needs explicit auto-reduction (or, alternatively, "-B local")
+    local:
+  *;
 } LIBXML2_1.1.25;

It seems that the commented out functions are either totally undefined
or only compiled in when the macro XSLT_REFACTORED is defined.  As a
result I THINK this change would be ok for everyone.

Any concerns?

Thanks,
  - Tim


Home | Main Index | Thread Index | Old Index