Hi all I recently migrated liblouis[1] to use gnulib. Everything works marvelously for me. I can run autoreconf, configure and make and make distcheck cleanly (I use automake 1.10.2, autoconf 2.63 and libtool 2.2.6). However some of the co-developers are having problems compiling the package with older versions of the tool chain. One error is essentially as follows:
[snip] make[3]: Entering directory `/home/lrs/tmp/liblouis-gnulib/gnulib' /bin/sh ../libtool --tag=CC --mode=compile gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I../liblouis -g -O2 -MT progname.lo -MD -MP -MF .deps/progname.Tpo -c -o progname.lo progname.c ../libtool: line 833: X--tag=CC: command not found ../libtool: line 866: libtool: ignoring unknown tag : command not found ../libtool: line 833: X--mode=compile: command not found [snip] The dev uses Fedora 10 with libtool-1.5.26, autoconf 2.63 and automake 1.11. When googling for this problem it appears that some people have had this same problem before and that it might be to do with libtoolize not being invoked properly by autogen.sh and ultimately autoreconf. Indeed if I compare the output of autogen.sh below with the one I'm getting, it appears that libtoolize is not invoked with --install. Our autogen.sh[2] script essentially just invokes autoreconf with the options --force --install --verbose. Is this a problem of an old autoreconf? I'm a bit stumped on how to solve this problem. I'd rather not force all developers to upgrade to libtool 2.x. Below is a extensive log of the output of autogen.sh, configure and make check. Any help would be greatly appreciated. Thanks Christian [1] http://code.google.com/p/liblouis/source/browse/#svn/branches/gnulib-branch2 [2] http://code.google.com/p/liblouis/source/browse/branches/gnulib-branch2/autogen.sh [...@fox liblouis-gnulib]$ ./autogen.sh Cleaning autotools files... Running autoreconf... autoreconf: Entering directory `.' autoreconf: configure.ac: not using Gettext autoreconf: running: aclocal --force -I m4 -I gnulib/m4 autoreconf: configure.ac: tracing autoreconf: running: libtoolize --copy --force Putting files in AC_CONFIG_AUX_DIR, `build-aux'. autoreconf: running: /usr/bin/autoconf --force autoreconf: running: /usr/bin/autoheader --force autoreconf: running: automake --add-missing --copy --force-missing configure.ac:10: installing `build-aux/install-sh' configure.ac:10: installing `build-aux/missing' doc/Makefile.am:14: installing `build-aux/mdate-sh' doc/Makefile.am:14: installing `build-aux/texinfo.tex' gnulib/Makefile.am: installing `build-aux/depcomp' autoreconf: Leaving directory `.' [...@fox liblouis-gnulib]$ ./configure checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for gcc... gcc checking for C compiler default output file name... a.out checking whether the C compiler works... yes checking whether we are cross compiling... no checking for suffix of executables... checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking for style of include used by make... GNU checking dependency style of gcc... gcc3 checking for ranlib... ranlib checking build system type... i686-pc-linux-gnu checking host system type... i686-pc-linux-gnu checking how to run the C preprocessor... gcc -E checking for grep that handles long lines and -e... /bin/grep checking for egrep... /bin/grep -E checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking minix/config.h usability... no checking minix/config.h presence... no checking for minix/config.h... no checking whether it is safe to define __EXTENSIONS__... yes checking for gcc option to accept ISO C99... -std=gnu99 checking for gcc -std=gnu99 option to accept ISO Standard C... (cached) -std=gnu99 checking whether the preprocessor supports include_next... yes checking getopt.h usability... yes checking getopt.h presence... yes checking for getopt.h... yes checking stdarg.h usability... yes checking stdarg.h presence... yes checking for stdarg.h... yes checking stddef.h usability... yes checking stddef.h presence... yes checking for stddef.h... yes checking for unistd.h... (cached) yes checking for getopt.h... (cached) yes checking for getopt_long_only... yes checking whether getopt is POSIX compatible... yes checking for working GNU getopt function... yes checking whether getenv is declared... yes checking for wchar_t... yes checking whether program_invocation_name is declared... yes checking whether program_invocation_short_name is declared... yes checking for va_copy... yes checking whether NULL can be used in arbitrary expressions... yes checking for a BSD-compatible install... /usr/bin/install -c checking whether ln -s works... yes checking whether make sets $(MAKE)... (cached) yes checking for ANSI C header files... (cached) yes checking for stddef.h... (cached) yes checking for stdlib.h... (cached) yes checking for string.h... (cached) yes checking for an ANSI C-conforming const... yes checking for stdlib.h... (cached) yes checking for GNU libc compatible malloc... yes checking for working memcmp... yes checking for stdlib.h... (cached) yes checking for GNU libc compatible realloc... yes checking for vprintf... yes checking for _doprnt... no checking for memset... yes checking for library containing strerror... none required checking for ANSI C header files... (cached) yes checking for a sed that does not truncate output... /bin/sed checking for fgrep... /bin/grep -F checking for ld used by gcc -std=gnu99... /usr/bin/ld checking if the linker (/usr/bin/ld) is GNU ld... yes checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B checking the name lister (/usr/bin/nm -B) interface... BSD nm checking the maximum length of command line arguments... 1966080 checking whether the shell understands some XSI constructs... yes checking whether the shell understands "+="... yes checking for /usr/bin/ld option to reload object files... -r checking for objdump... objdump checking how to recognize dependent libraries... pass_all checking for ar... ar checking for strip... strip checking for ranlib... (cached) ranlib checking command to parse /usr/bin/nm -B output from gcc -std=gnu99 object... ok checking for dlfcn.h... yes checking for objdir... .libs checking if gcc -std=gnu99 supports -fno-rtti -fno-exceptions... no checking for gcc -std=gnu99 option to produce PIC... -fPIC -DPIC checking if gcc -std=gnu99 PIC flag -fPIC -DPIC works... yes checking if gcc -std=gnu99 static flag -static works... yes checking if gcc -std=gnu99 supports -c -o file.o... yes checking if gcc -std=gnu99 supports -c -o file.o... (cached) yes checking whether the gcc -std=gnu99 linker (/usr/bin/ld) supports shared libraries... yes checking whether -lc should be explicitly linked in... no checking dynamic linker characteristics... GNU/Linux ld.so checking how to hardcode library paths into programs... immediate checking whether stripping libraries is possible... yes checking if libtool supports shared libraries... yes checking whether to build shared libraries... yes checking whether to build static libraries... yes checking for help2man... help2man checking for pkg-config... /usr/bin/pkg-config configure: creating ./config.status config.status: creating Makefile config.status: creating doc/Makefile config.status: creating man/Makefile config.status: creating liblouis/Makefile config.status: creating tables/Makefile config.status: creating liblouis.pc config.status: creating tests/Makefile config.status: creating python/Makefile config.status: creating python/louis/Makefile config.status: creating tools/Makefile config.status: creating gnulib/Makefile config.status: creating liblouis/config.h config.status: executing depfiles commands config.status: executing libtool commands [...@fox liblouis-gnulib]$ make check Making check in gnulib make[1]: Entering directory `/home/lrs/tmp/liblouis-gnulib/gnulib' rm -f unistd.h-t unistd.h && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ sed -e 's|@''HAVE_UNISTD_H''@|1|g' \ -e 's|@''INCLUDE_NEXT''@|include_next|g' \ -e 's|@''PRAGMA_SYSTEM_HEADER''@|#pragma GCC system_header|g' \ -e 's|@''NEXT_UNISTD_H''@|<unistd.h>|g' \ -e 's|@''GNULIB_CHOWN''@|0|g' \ -e 's|@''GNULIB_CLOSE''@|0|g' \ -e 's|@''GNULIB_DUP2''@|0|g' \ -e 's|@''GNULIB_DUP3''@|0|g' \ -e 's|@''GNULIB_ENVIRON''@|0|g' \ -e 's|@''GNULIB_EUIDACCESS''@|0|g' \ -e 's|@''GNULIB_FACCESSAT''@|0|g' \ -e 's|@''GNULIB_FCHDIR''@|0|g' \ -e 's|@''GNULIB_FCHOWNAT''@|0|g' \ -e 's|@''GNULIB_FSYNC''@|0|g' \ -e 's|@''GNULIB_FTRUNCATE''@|0|g' \ -e 's|@''GNULIB_GETCWD''@|0|g' \ -e 's|@''GNULIB_GETDOMAINNAME''@|0|g' \ -e 's|@''GNULIB_GETDTABLESIZE''@|0|g' \ -e 's|@''GNULIB_GETHOSTNAME''@|0|g' \ -e 's|@''GNULIB_GETLOGIN_R''@|0|g' \ -e 's|@''GNULIB_GETPAGESIZE''@|0|g' \ -e 's|@''GNULIB_GETUSERSHELL''@|0|g' \ -e 's|@''GNULIB_LCHOWN''@|0|g' \ -e 's|@''GNULIB_LINK''@|0|g' \ -e 's|@''GNULIB_LINKAT''@|0|g' \ -e 's|@''GNULIB_LSEEK''@|0|g' \ -e 's|@''GNULIB_PIPE2''@|0|g' \ -e 's|@''GNULIB_READLINK''@|0|g' \ -e 's|@''GNULIB_READLINKAT''@|0|g' \ -e 's|@''GNULIB_RMDIR''@|0|g' \ -e 's|@''GNULIB_SLEEP''@|0|g' \ -e 's|@''GNULIB_SYMLINK''@|0|g' \ -e 's|@''GNULIB_SYMLINKAT''@|0|g' \ -e 's|@''GNULIB_UNISTD_H_GETOPT''@|0|g' \ -e 's|@''GNULIB_UNISTD_H_SIGPIPE''@|0|g' \ -e 's|@''GNULIB_UNLINK''@|0|g' \ -e 's|@''GNULIB_UNLINKAT''@|0|g' \ -e 's|@''GNULIB_WRITE''@|0|g' \ -e 's|@''HAVE_DUP2''@|1|g' \ -e 's|@''HAVE_DUP3''@|1|g' \ -e 's|@''HAVE_EUIDACCESS''@|1|g' \ -e 's|@''HAVE_FACCESSAT''@|1|g' \ -e 's|@''HAVE_FCHOWNAT''@|1|g' \ -e 's|@''HAVE_FSYNC''@|1|g' \ -e 's|@''HAVE_FTRUNCATE''@|1|g' \ -e 's|@''HAVE_GETDOMAINNAME''@|1|g' \ -e 's|@''HAVE_GETDTABLESIZE''@|1|g' \ -e 's|@''HAVE_GETHOSTNAME''@|1|g' \ -e 's|@''HAVE_GETPAGESIZE''@|1|g' \ -e 's|@''HAVE_GETUSERSHELL''@|1|g' \ -e 's|@''HAVE_LINK''@|1|g' \ -e 's|@''HAVE_LINKAT''@|1|g' \ -e 's|@''HAVE_PIPE2''@|1|g' \ -e 's|@''HAVE_READLINK''@|1|g' \ -e 's|@''HAVE_READLINKAT''@|1|g' \ -e 's|@''HAVE_SLEEP''@|1|g' \ -e 's|@''HAVE_SYMLINK''@|1|g' \ -e 's|@''HAVE_SYMLINKAT''@|1|g' \ -e 's|@''HAVE_UNLINKAT''@|1|g' \ -e 's|@''HAVE_DECL_ENVIRON''@|1|g' \ -e 's|@''HAVE_DECL_GETLOGIN_R''@|1|g' \ -e 's|@''HAVE_OS_H''@|0|g' \ -e 's|@''HAVE_SYS_PARAM_H''@|0|g' \ -e 's|@''REPLACE_CHOWN''@|0|g' \ -e 's|@''REPLACE_CLOSE''@|0|g' \ -e 's|@''REPLACE_DUP''@|0|g' \ -e 's|@''REPLACE_DUP2''@|0|g' \ -e 's|@''REPLACE_FCHDIR''@|0|g' \ -e 's|@''REPLACE_FCHOWNAT''@|0|g' \ -e 's|@''REPLACE_GETCWD''@|0|g' \ -e 's|@''REPLACE_GETPAGESIZE''@|0|g' \ -e 's|@''REPLACE_LCHOWN''@|0|g' \ -e 's|@''REPLACE_LINK''@|0|g' \ -e 's|@''REPLACE_LINKAT''@|0|g' \ -e 's|@''REPLACE_LSEEK''@|0|g' \ -e 's|@''REPLACE_READLINK''@|0|g' \ -e 's|@''REPLACE_RMDIR''@|0|g' \ -e 's|@''REPLACE_SYMLINK''@|0|g' \ -e 's|@''REPLACE_UNLINK''@|0|g' \ -e 's|@''REPLACE_UNLINKAT''@|0|g' \ -e 's|@''REPLACE_WRITE''@|0|g' \ -e 's|@''UNISTD_H_HAVE_WINSOCK2_H''@|0|g' \ -e 's|@''UNISTD_H_HAVE_WINSOCK2_H_AND_USE_SOCKETS''@|0|g' \ -e '/definition of GL_LINK_WARNING/r ../build-aux/link-warning.h' \ < ./unistd.in.h; \ } > unistd.h-t && \ mv unistd.h-t unistd.h make check-recursive make[2]: Entering directory `/home/lrs/tmp/liblouis-gnulib/gnulib' make[3]: Entering directory `/home/lrs/tmp/liblouis-gnulib/gnulib' /bin/sh ../libtool --tag=CC --mode=compile gcc -std=gnu99 -DHAVE_CONFIG_H -I. -I../liblouis -g -O2 -MT progname.lo -MD -MP -MF .deps/progname.Tpo -c -o progname.lo progname.c ../libtool: line 833: X--tag=CC: command not found ../libtool: line 866: libtool: ignoring unknown tag : command not found ../libtool: line 833: X--mode=compile: command not found ../libtool: line 1000: *** Warning: inferring the mode of operation is deprecated.: command not found ../libtool: line 1001: *** Future versions of Libtool will require --mode=MODE be specified.: command not found ../libtool: line 1144: Xgcc: command not found ../libtool: line 1144: X-std=gnu99: command not found ../libtool: line 1144: X-DHAVE_CONFIG_H: command not found ../libtool: line 1144: X-I.: command not found ../libtool: line 1144: X-I../liblouis: No such file or directory ../libtool: line 1144: X-g: command not found ../libtool: line 1144: X-O2: command not found ../libtool: line 1144: X-MT: command not found ../libtool: line 1144: Xprogname.lo: command not found ../libtool: line 1144: X-MD: command not found ../libtool: line 1144: X-MP: command not found ../libtool: line 1144: X-MF: command not found ../libtool: line 1144: X.deps/progname.Tpo: No such file or directory ../libtool: line 1144: X-c: command not found ../libtool: line 1197: Xprogname.lo: command not found ../libtool: line 1202: libtool: compile: cannot determine name of library object from `': command not found make[3]: *** [progname.lo] Error 1 make[3]: Leaving directory `/home/lrs/tmp/liblouis-gnulib/gnulib' make[2]: *** [check-recursive] Error 1 make[2]: Leaving directory `/home/lrs/tmp/liblouis-gnulib/gnulib' make[1]: *** [check] Error 2 make[1]: Leaving directory `/home/lrs/tmp/liblouis-gnulib/gnulib' make: *** [check-recursive] Error 1 [...@fox liblouis-gnulib]$ exit -- Christian Egli Swiss Library for the Blind and Visually Impaired Grubenstrasse 12, CH-8045 Zürich, Switzerland _______________________________________________ http://lists.gnu.org/mailman/listinfo/libtool