bug-libtool
[Top][All Lists]
Advanced

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

bug#9249: Does Libtool 2.4 support Solaris 2.8?


From: Andreas Kupries
Subject: bug#9249: Does Libtool 2.4 support Solaris 2.8?
Date: Mon, 08 Aug 2011 12:50:32 -0700
User-agent: Mozilla/5.0 (Windows; U; Windows NT 5.1; en-US; rv:1.9.2.18) Gecko/20110616 Lightning/1.0b2 Thunderbird/3.1.11

On 8/5/2011 8:18 PM, Gary V. Vaughan wrote:
Here's the snippet from libtool's generated configure script:

Found it ...

> Can you investigate some more and report your findings back to the list?

Sure.

First, from a plain run, no modifications ... My log file shows

        CONF checking whether the shell understands some XSI constructs... yes
        CONF checking whether the shell understands "+="... yes

Given that the code snippet seems to check the shell executing the configure script this is to be expected, as I am explicitly using bash to run all my configure scripts.

/Configure Run
[/export/home/andreask/dbn/BuildTmp/Hwloc/solaris2.8-sparc/build]: executing bash ../../src/configure --prefix=/export/home/andreask/dbn/BuildTmp/Hwloc/solaris2.8-sparc/install --exec-prefix=/export/home/andreask/dbn/BuildTmp/Hwloc/solaris2.8-sparc/install --with-tcl=/export/home/andreask/dbn/BuildTmp/Hwloc/solaris2.8-sparc/install/lib --with-tk=/export/home/andreask/dbn/BuildTmp/Hwloc/solaris2.8-sparc/install/lib --enable-shared --enable-threads
        bash = /usr/local/bin/bash
CONF
[... remainder of the log]

The generated Makefile and libtool however have SHELL=/bin/sh
assignments in them, and without me forcing them to use bash they fiail.


Next up, your proposed modification to force them into the belief of not having a XSI shell available.

Now the log contains

        CONF checking whether the shell understands some XSI constructs... no
        CONF checking whether the shell understands "+="... no

The generated Makefile and libtool script also contain SHELL=/bin/sh, and
the build works.


So, what seems to happen is that during the generation of Makefile and libtool the shell is always set as "/bin/sh", regardless of which shell was used to run the configure (bash in my case), and this can then lead to a mismatch between what configure thinks it has available as features (XSI yes), versus the features of the actual shell used during the build (XSI no).


At configure time you should see 'checking whether the shell understands some 
XSI constructs...' and
'checking whether the shell understands "+="...' tests, and the generated 
libtool script should
contain definitions of the shell functions listed above that match the results 
of those tests.
Similarly, ltmain.sh should always contain the unsubstituted implementations of 
those functions,
because _LT_PROG_FUNCTION_REPLACE only knows how to splice in the XSI 
implementations on demand,
and doesn't know how to go back the other way if the configure tests find XSI 
features don't work.



--
Andreas Kupries
Senior Tcl Developer
ActiveState, The Dynamic Language Experts

P: 778.786.1122
F: 778.786.1133
address@hidden
http://www.activestate.com
Get insights on Open Source and Dynamic Languages at www.activestate.com/blog





reply via email to

[Prev in Thread] Current Thread [Next in Thread]