tech-pkg archive

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

Re: pkgsrc/textproc/libxslt undefined symbols



On Tue, Aug 24, 2010 at 8:47 AM, Johnny C. Lam <jlam88%gmail.com@localhost> 
wrote:
> 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.
>

From what I could tell, XSLT_REFACTORED is never defined... this is
code that is for some future release... and I thought the "local" bit
at the end would have no effect on other platforms.  But since I don't
have much way to test other than a compile smoke test I figured I'd
ask the list.  An alternate fix is to disable use of that file for
Solaris... and indeed the typo in configure that patch-ag fixes,
probably does exactly that (stop Solaris from trying to use the file)
at least if using the default Solaris shell anyplace but in pkgsrc.
Which would also explain why not too many reports of this issue are
found.

 - Tim


Home | Main Index | Thread Index | Old Index