[lfs-dev] Glibc-2.16.0 [ test-installation.pl ]

Ken Moffat zarniwhoop at ntlworld.com
Thu Aug 16 07:51:54 PDT 2012

On Wed, Aug 15, 2012 at 09:51:01PM -0500, Bruce Dubbs wrote:
> Bruce Dubbs wrote:
> soversions.mk is created in make, not make install.  The suspect code is 
> in Makeconfig around line 839:
> echo "$$lib.so-version=\$$(if 
> \$$(abi-$(default-abi)-$$lib-soname),\$$(abi-$(default-abi)-$$lib-soname),$$number)"
> This is using make syntax.  $$ is a literal dollar sign here, but I 
> don't understand the \$$ construct.  Perhaps it gets reduced to \$ by 
> make and then to just $ by echo.
> $(default-abi) is defined to be the ABI for the current glibc build, 
> either 32 or 64.
> $$lib (translated to $lib) is set in the environment and is defined at 
> line 832 from the read of soversions.i as 'ld'. Likewise $$number is 
> 'ld.so.1' from the same read.  Translating, we get:
> echo "$$lib.so-version=\$$(if 
> \$$(abi-64-ld-soname),\$$(abi-64-ld-soname),ld.so.1)"
> abi-64-ld-soname (and abi-32-ld-soname) is defined in 
> sysdeps/unix/sysv/linux/x86/Makefile.
> I think I've narrowed down where the problem is, but a fix would 
> probably be a sed.  This is really a complex mechanism, and fixing the 
> generation of soversions.mk really isn't necessary if we just delete the 
> unneeded call to test-installation.pl (as done now in svn).  I don't see 
> any other use of soversions.mk in the code.
> Another possible fix is to sed soversions.mk after make.
>    -- Bruce

 Bruce - many thanks for spending your time on this, and for raising
it upstream.

das eine Mal als Tragödie, das andere Mal als Farce

More information about the lfs-dev mailing list