Hello,

thank you for looking at this problem.

On 06-Oct-21 10:55, Andreas Metzler wrote:
> > gcc -shared  .libs/auxprop.o .libs/canonusr.o .libs/checkpw.o 
> > .libs/client.o .libs/common.o .libs/config.o .libs/external.o .libs/md5.o 
> > .libs/saslutil.o .libs/server.o .libs/seterror.o .libs/dlopen.o 
> > .libs/plugin_common.o  -ldl -lresolv  -Wl,--version-script=Versions 
> > -Wl,-soname -Wl,libsasl2.so.2 -o .libs/libsasl2.so.2.0.19
> > /usr/bin/ld:Versions:3: syntax error in VERSION script
> > collect2: ld returned 1 exit status
> > make[3]: *** [libsasl2.la] Error 1
> > make[3]: Leaving directory 
> > `/cyrus-sasl2-2.1.19/build-tree/cyrus-sasl-2.1.19/lib'
> [...]
> 
> Could you please post the contents of lib/Versions after the failed
> build to the bugreport?

# cat lib/Versions
SASL2 {
  global:
};

The problem is that the object format for ppc64 is different. This 
causes the output of the 'nm' utility to be different too. The function
names are not marked as 'T' (text segment) as on most other 
architectures so that the grep for " [Tt] " fails and the lib/Version
script is basically empty. 

This is not a bug in nm because the object format is really different 
and the functions are not in the text segment but accessed indirectly
on ppc64.

The current procedure to create the lib/Versions script is simply not
architecture independent and fails at least for ppc64.

I could not yet find a filter condition which selects exactly the same
symbols on ppc64 as on other architectures from the nm output.

The ppc64 port seems to work fine without using any versioning. Is it
really necessary to use versioning for cyrus-sasl2?

Regards
Andreas Jochens


-- 
To UNSUBSCRIBE, email to [EMAIL PROTECTED]
with a subject of "unsubscribe". Trouble? Contact [EMAIL PROTECTED]

Reply via email to