tech-pkg archive

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

Re: pkgsrc/textproc/libxslt undefined symbols



On 8/23/2010 6:18 PM, Tim Zingelman wrote:
$ 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

Please remember that in general we want all patches to be in a form that may be sent upstream. It seems that this is a Solaris-specific fix, and that any other platform that also needs to use this file during linking may not have the right info, e.g. the "local" bit at the bottom of the patch.

Is there a way to tweak the Makefiles so that the libxslt.syms file is generated after it's determined whether or not XSLT_REFACTORED is defined? Or is that a macro symbol that's allowed to be defined by client code? And perhaps it's better to tweak the configure script so that "-B local" is added for Solaris than to hardcode it into the libxslt.syms file.

        Cheers,

        -- Johnny C. Lam


Home | Main Index | Thread Index | Old Index