[tlbuild] some configure scripts are called without taking into account $CONFIG_SHELL

Vladimir Volovich vvv at vsu.ru
Mon May 14 18:03:58 CEST 2012


Hi Peter,

I've encountered a problem while building on AIX.

I'm exporting CONFIG_SHELL=/bin/bash before running the Build script,
but when running Build script, I'm getting errors such as

./config.status: print: command not found
/usr/local/vvv/src/source/Work/libs/freetype2/ft-build/libtool: print: command not found

and eventually the build fails when running libtool to link libfreetype.
(apparently because it fails to create
Work/libs/freetype2/ft-build/.libs directory - possibly for the same
reason as for "print" - it possibly misdetects the proper way to do that).

I've found these clues:

http://lists.gnu.org/archive/html/bug-libtool/2008-11/msg00060.html
http://lists.gnu.org/archive/html/bug-libtool/2008-11/msg00061.html

and I see in the build.log that some configure scripts were run without
using CONFIG_SHELL:

==================================

Making all in freetype
gmake[3]: Entering directory `/usr/local/vvv/src/source/Work/libs/freetype'
rm -rf ft-build
../../../libs/freetype/../../build-aux/install-sh -c -d ft-build
cd ft-build && \
          CC='xlc' CONFIG_SITE=/dev/null \
          /usr/local/vvv/src/source/Work/libs/freetype/../../../libs/freetype/freetype-1.5/configure \
             --disable-shared --disable-nls \
            --prefix=/usr/local/vvv/src/source/Work/libs/freetype/ft-install \
            --libdir=/usr/local/vvv/src/source/Work/libs/freetype \
            --includedir=/usr/local/vvv/src/source/Work/libs/freetype

[...]

Making all in freetype2
gmake[3]: Entering directory `/usr/local/vvv/src/source/Work/libs/freetype2'
rm -rf ft-build
../../../libs/freetype2/../../build-aux/install-sh -c -d ft-build
cd ft-build && \
          CC='xlc' CONFIG_SITE=/dev/null \
          /usr/local/vvv/src/source/Work/libs/freetype2/../../../libs/freetype2/freetype-2.4.9/configure \
             --disable-shared \
            --with-old-mac-fonts \
            --without-bzip2 \
            --without-zlib \
            --prefix=/usr/local/vvv/src/source/Work/libs/freetype2/ft-install \
            --libdir=/usr/local/vvv/src/source/Work/libs/freetype2 \
            --includedir=/usr/local/vvv/src/source/Work/libs/freetype2

[...]

gmake[4]: Entering directory `/usr/local/vvv/src/source/Work/libs/freetype2/ft-build'

FreeType build system -- automatic system detection
[...]
/usr/local/vvv/src/source/libs/freetype2/freetype-2.4.9/builds/unix/configure  '--disable-shared' '--with-old-mac-fonts' '--without-bzip2' '--without-zlib' '--prefix=/usr/local/vvv/src/source/Work/libs/freetype
2/ft-install' '--libdir=/usr/local/vvv/src/source/Work/libs/freetype2' '--includedir=/usr/local/vvv/src/source/Work/libs/freetype2'

==================================

Also, the Build script itself doesn't run the top-level configure via
CONFIG_SHELL; thus maybe it'd be good to change Build script:

--- Build.orig
+++ Build
@@ -99,7 +99,7 @@
   #
   set -vx  # show the configure and make commands in the log.
 
-  eval $TL_BUILD_ENV time $TL_CONFIGURE \
+  eval $TL_BUILD_ENV time $CONFIG_SHELL $TL_CONFIGURE \
         --prefix=$TL_INSTALL_DEST \
         --datadir=$TL_INSTALL_DEST \
         $TL_CONF_BANNER \

But this is not enough - the configure scripts above are still being run
without CONFIG_SHELL.

Please change the build system to use CONFIG_SHELL when running all
configure scripts.

Best wishes,
Vladimir


More information about the tlbuild mailing list