Subject: Re: bug#14364: Bug Report: Lacking '=' when specifying -soname

From: Bob Fischer <[email-masked]>
Date: Wed, 8 May 2013 07:13:41 -0400

> 
> 
> So, the problem does not appear to be the command line libtool is
> generating. I.e., the problem appears to be elsewhere.

At the end of the day, things don't work.  I run the following on my configure script, and then things do work:
    sed -i 's/-soname \$wl/-soname=/g' configure

Thanks for digging up the stuff in the manuals.  Unfortunately, manuals don't always match reality.  This is not a stock GNU ld 2.20, but rather one that's been hacked by SLSE 11.
   GNU ld (GNU Binutils; SUSE Linux Enterprise 11) 2.20.0.20100122-0.7.9

That would make it technically a SUSE bug.  But maybe they don't care.  Or they've already fixed it  Or they think it's a feature, not a bug.  At the end of the day, scripts generated by libtool are broken.  Upgrading libtool is much easier than upgrading ld.  This is a shared system and I can't realistically use a different GNU ld; however, I can use a different libtool.

Since the two forms are supposed to be equivalent, would it be possible to change libtool to use the '=' form?  Or maybe make a change with smaller scope: use the '=' form for certain versions of GNU ld, maybe specific to SLES?

I'd also be relatively happy if there was a way I could build the configure.ac file to work around this problem --- in essence, override the '-soname' with '-soname=' coming from the standard libtool.  However, libtool looks like it's a little all-or-nothing, and not quite amenable to incremental overrides (hence the see hack).  I'm wondering if maybe generating '-soname=' for specific versions of SUSE ld would be the most expedient way to solve this problem.

Thanks,
-- Bob