while building a new server (which started life as stage 3 from 2004.3 as far as I can tell), I encountered trouble emerging dev-libs/gmp-4.1.4, a dependency of Darcs. The build would just stop (!), no error message, no nothing. Just shell prompt, which was very strange. I re-ran it a few times, and then realized it was re-auto{make,conf} ing, so based on a problem I had recently in another ebuild, I tried upgrading libtool. That fixed the problem. I'm not sure what the precise dependency is, but the libtool I brought in was todays x86 stable, which was libtool-1.5.10-r4. So I recommend that as a dependency of gmp. AfC Toronto
I had the same problem. I used old libtool (1.3.5) and get: [root@/usr/portage/dev-libs] emerge gmp Calculating dependencies ...done! >>> emerge (1 of 1) dev-libs/gmp-4.1.4 to / >>> md5 src_uri ;-) gmp-4.1.4.tar.gz >>> Unpacking source... >>> Unpacking gmp-4.1.4.tar.gz to /var/tmp/portage/gmp-4.1.4/work * Applying gmp-4.1.4-multilib.patch ... [ ok ] libtoolize: `/usr/share/aclocal/libtool.m4' is serial 46, less than 47 in `aclocal.m4' To remain compatible, you should update your `aclocal.m4' by running aclocal. autoheader-2.59: WARNING: Using auxiliary files such as `acconfig.h', `config.h.bot' autoheader-2.59: WARNING: and `config.h.top', to define templates for `config.h.in' autoheader-2.59: WARNING: is deprecated and discouraged. autoheader-2.59: autoheader-2.59: WARNING: Using the third argument of `AC_DEFINE' and autoheader-2.59: WARNING: `AC_DEFINE_UNQUOTED' allows to define a template without autoheader-2.59: WARNING: `acconfig.h': autoheader-2.59: autoheader-2.59: WARNING: AC_DEFINE([NEED_FUNC_MAIN], 1, autoheader-2.59: [Define if a function `main' is needed.]) autoheader-2.59: autoheader-2.59: WARNING: More sophisticated templates can also be produced, see the autoheader-2.59: WARNING: documentation. >>> Source unpacked. * econf: updating gmp-4.1.4/config.guess with /usr/share/gnuconfig/config.guess * econf: updating gmp-4.1.4/config.sub with /usr/share/gnuconfig/config.sub ./configure --prefix=/usr --host=i686-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --localstatedir=/var/state/gmp --enable-cxx --enable-mpbsd --enable-mpfr configure: WARNING: If you wanted to set the --build type, don't use --host. If a cross compiler is detected then cross compile mode will be used. checking build system type... i686-pc-linux-gnu checking host system type... i686-pc-linux-gnu checking for a BSD-compatible install... /bin/install -c checking whether build environment is sane... yes checking for gawk... gawk checking whether make sets $(MAKE)... yes checking for i686-pc-linux-gnu-strip... no checking for strip... strip checking whether to enable maintainer-specific portions of Makefiles... no checking compiler gcc -O2 -march=athlon-xp -fomit-frame-pointer ... yes checking for i686-pc-linux-gnu-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 ANSI C... none needed checking for style of include used by make... GNU checking dependency style of gcc... none checking how to run the C preprocessor... gcc -E checking for i686-pc-linux-gnu-g++... g++ checking whether we are using the GNU C++ compiler... yes checking whether g++ accepts -g... yes checking dependency style of g++... none checking C++ compiler g++ -O2 -march=athlon-xp -fomit-frame-pointer... yes checking how to run the C++ preprocessor... g++ -E using GMPABI="standard" CC="gcc" CFLAGS="-O2 -march=athlon-xp -fomit-frame-pointer" CPPFLAGS="" CXX="g++" CXXFLAGS="-O2 -march=athlon-xp -fomit-frame-pointer" MPN_PATH=" x86/p6 x86 generic" checking for gcc option to accept ANSI C... none needed 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 for function prototypes... yes checking for ANSI C header files... no checking for string.h... (cached) yes checking for i686-pc-linux-gnu-ar... no checking for ar... ar checking for BSD-compatible nm... nm checking for BSD-compatible nm... /usr/bin/nm -B checking for ld used by GCC... /usr/i686-pc-linux-gnu/bin/ld checking if the linker (/usr/i686-pc-linux-gnu/bin/ld) is GNU ld... yes checking for /usr/i686-pc-linux-gnu/bin/ld option to reload object files... -r checking for a sed that does not truncate output... /bin/sed checking whether ln -s works... yes checking how to recognise dependent libraries... pass_all checking command to parse /usr/bin/nm -B output... ok checking dlfcn.h usability... yes checking dlfcn.h presence... yes checking for dlfcn.h... yes checking for i686-pc-linux-gnu-ranlib... no checking for ranlib... ranlib checking for i686-pc-linux-gnu-strip... strip checking for objdir... .libs checking for gcc option to produce PIC... -fPIC checking if gcc PIC flag -fPIC works... yes checking if gcc static flag -static works... yes checking if gcc supports -c -o file.o... yes checking if gcc supports -c -o file.lo... yes checking if gcc supports -fno-rtti -fno-exceptions... no checking whether the linker (/usr/i686-pc-linux-gnu/bin/ld) supports shared libraries... yes checking how to hardcode library paths into programs... immediate checking whether stripping libraries is possible... yes checking dynamic linker characteristics... GNU/Linux ld.so checking if libtool supports shared libraries... yes checking whether to build shared libraries... yes checking whether to build static libraries... yes checking whether -lc should be explicitly linked in... no creating libtool checking for ANSI C header files... (cached) no checking whether time.h and sys/time.h may both be included... yes checking fcntl.h usability... yes checking fcntl.h presence... yes checking for fcntl.h... yes checking locale.h usability... yes checking locale.h presence... yes checking for locale.h... yes checking sys/mman.h usability... yes checking sys/mman.h presence... yes checking for sys/mman.h... yes checking sys/param.h usability... yes checking sys/param.h presence... yes checking for sys/param.h... yes checking sys/processor.h usability... no checking sys/processor.h presence... no checking for sys/processor.h... no checking sys/resource.h usability... yes checking sys/resource.h presence... yes checking for sys/resource.h... yes checking sys/sysctl.h usability... yes checking sys/sysctl.h presence... yes checking for sys/sysctl.h... yes checking sys/syssgi.h usability... no checking sys/syssgi.h presence... no checking for sys/syssgi.h... no checking sys/systemcfg.h usability... no checking sys/systemcfg.h presence... no checking for sys/systemcfg.h... no checking sys/time.h usability... yes checking sys/time.h presence... yes checking for sys/time.h... yes checking sys/times.h usability... yes checking sys/times.h presence... yes checking for sys/times.h... yes checking whether fgetc is declared... yes checking whether fscanf is declared... yes checking whether optarg is declared... yes checking whether ungetc is declared... yes checking whether vfprintf is declared... yes checking return type of signal handlers... void checking for intmax_t... yes checking for long double... yes checking for long long... yes checking for ptrdiff_t... no checking for quad_t... yes checking for preprocessor stringizing operator... yes checking for working volatile... yes checking whether <stdarg.h> exists and works... yes checking whether gcc __attribute__ ((const)) works... yes checking whether gcc __attribute__ ((malloc)) works... yes checking whether gcc __attribute__ ((mode (XX))) works... yes checking whether gcc __attribute__ ((noreturn)) works... yes checking for inline... yes checking for main in -lm... yes checking for working alloca.h... yes checking for alloca (via gmp-impl.h)... yes checking how to allocate temporary memory... alloca checking whether byte ordering is bigendian... no checking format of `double' floating point... IEEE little endian checking for alarm... yes checking for clock... yes checking for clock_gettime... no checking for cputime... no checking for getpagesize... yes checking for getrusage... yes checking for gettimeofday... yes checking for localeconv... yes checking for memset... yes checking for mmap... yes checking for mprotect... yes checking for obstack_vprintf... yes checking for popen... yes checking for processor_info... no checking for read_real_time... no checking for sigaction... yes checking for sigaltstack... yes checking for sigstack... yes checking for syssgi... no checking for strchr... yes checking for strnlen... yes checking for strtoul... yes checking for sysconf... yes checking for sysctl... yes checking for sysctlbyname... no checking for times... yes checking for vsnprintf... yes checking whether vsnprintf works... yes checking whether sscanf needs writable input... no checking for suitable m4... m4 checking if m4wrap produces spurious output... no checking how to switch to text section... .text checking how to switch to data section... .data checking what assembly label suffix to use... : checking how to export a symbol... .globl checking if globals are prefixed by underscore... no checking how to switch to read-only data section... .section .rodata checking if the export directive needs an attribute... checking for assembler .type directive... .type $1,@$2 checking for assembler .size directive... .size $1,$2 checking what prefix to use for a local label... .L checking how to define a 32-bit word... .long checking if .align assembly directive is logarithmic... no checking if the .align directive accepts an 0x90 fill in .text... yes checking if the assembler takes cl with shldl... yes checking for strcasecmp... yes checking fpu_control.h usability... yes checking fpu_control.h presence... yes checking for fpu_control.h... yes checking for fesetround... yes checking for lrand48... yes checking for valid NaN... yes checking for gcc float-conversion bug... yes, use -ffloat-store checking for denormalized numbers... yes checking for stack_t... yes checking for readline in -lreadline... no checking for bison... bison -y checking for flex... flex checking for yywrap in -lfl... yes checking lex output file root... lex.yy checking whether yytext is a pointer... yes creating config.m4 configure: creating ./config.status config.status: creating demos/pexpr-config.h config.status: creating demos/calc/calc-config.h config.status: creating demos/expr/expr-config.h config.status: creating Makefile config.status: creating mpbsd/Makefile config.status: creating mpf/Makefile config.status: creating mpn/Makefile config.status: creating mpq/Makefile config.status: creating mpz/Makefile config.status: creating printf/Makefile config.status: creating scanf/Makefile config.status: creating cxx/Makefile config.status: creating tests/Makefile config.status: creating tests/devel/Makefile config.status: creating tests/mpbsd/Makefile config.status: creating tests/mpf/Makefile config.status: creating tests/mpn/Makefile config.status: creating tests/mpq/Makefile config.status: creating tests/mpz/Makefile config.status: creating tests/rand/Makefile config.status: creating tests/misc/Makefile config.status: creating tests/cxx/Makefile config.status: creating mpfr/Makefile config.status: creating mpfr/tests/Makefile config.status: creating tune/Makefile config.status: creating demos/Makefile config.status: creating demos/calc/Makefile config.status: creating demos/expr/Makefile config.status: creating gmp.h config.status: creating mp.h config.status: creating config.h config.status: linking ./mpn/x86/udiv.asm to mpn/udiv.asm config.status: linking ./mpn/x86/umul.asm to mpn/umul.asm config.status: linking ./mpn/generic/add.c to mpn/add.c config.status: linking ./mpn/generic/add_1.c to mpn/add_1.c config.status: linking ./mpn/x86/p6/aors_n.asm to mpn/add_n.asm config.status: linking ./mpn/generic/sub.c to mpn/sub.c config.status: linking ./mpn/generic/sub_1.c to mpn/sub_1.c config.status: linking ./mpn/x86/p6/aors_n.asm to mpn/sub_n.asm config.status: linking ./mpn/x86/mul_1.asm to mpn/mul_1.asm config.status: linking ./mpn/x86/p6/aorsmul_1.asm to mpn/addmul_1.asm config.status: linking ./mpn/x86/p6/aorsmul_1.asm to mpn/submul_1.asm config.status: linking ./mpn/x86/lshift.asm to mpn/lshift.asm config.status: linking ./mpn/x86/rshift.asm to mpn/rshift.asm config.status: linking ./mpn/x86/p6/dive_1.asm to mpn/dive_1.asm config.status: linking ./mpn/x86/p6/diveby3.asm to mpn/diveby3.asm config.status: linking ./mpn/generic/divis.c to mpn/divis.c config.status: linking ./mpn/generic/divrem.c to mpn/divrem.c config.status: linking ./mpn/x86/divrem_1.asm to mpn/divrem_1.asm config.status: linking ./mpn/generic/divrem_2.c to mpn/divrem_2.c config.status: linking ./mpn/generic/fib2_ui.c to mpn/fib2_ui.c config.status: linking ./mpn/x86/p6/mod_1.asm to mpn/mod_1.asm config.status: linking ./mpn/x86/mod_34lsub1.asm to mpn/mod_34lsub1.asm config.status: linking ./mpn/x86/p6/mode1o.asm to mpn/mode1o.asm config.status: linking ./mpn/generic/pre_divrem_1.c to mpn/pre_divrem_1.c config.status: linking ./mpn/generic/dump.c to mpn/dump.c config.status: linking ./mpn/generic/mul.c to mpn/mul.c config.status: linking ./mpn/generic/mul_fft.c to mpn/mul_fft.c config.status: linking ./mpn/generic/mul_n.c to mpn/mul_n.c config.status: linking ./mpn/x86/mul_basecase.asm to mpn/mul_basecase.asm config.status: linking ./mpn/x86/p6/sqr_basecase.asm to mpn/sqr_basecase.asm config.status: linking ./mpn/generic/random.c to mpn/random.c config.status: linking ./mpn/generic/random2.c to mpn/random2.c config.status: linking ./mpn/generic/pow_1.c to mpn/pow_1.c config.status: linking ./mpn/generic/rootrem.c to mpn/rootrem.c config.status: linking ./mpn/generic/sqrtrem.c to mpn/sqrtrem.c config.status: linking ./mpn/generic/get_str.c to mpn/get_str.c config.status: linking ./mpn/generic/set_str.c to mpn/set_str.c config.status: linking ./mpn/generic/scan0.c to mpn/scan0.c config.status: linking ./mpn/generic/scan1.c to mpn/scan1.c config.status: linking ./mpn/generic/popcount.c to mpn/popcount.c config.status: linking ./mpn/generic/hamdist.c to mpn/hamdist.c config.status: linking ./mpn/generic/cmp.c to mpn/cmp.c config.status: linking ./mpn/generic/perfsqr.c to mpn/perfsqr.c config.status: linking ./mpn/generic/bdivmod.c to mpn/bdivmod.c config.status: linking ./mpn/generic/gcd_1.c to mpn/gcd_1.c config.status: linking ./mpn/generic/gcd.c to mpn/gcd.c config.status: linking ./mpn/generic/gcdext.c to mpn/gcdext.c config.status: linking ./mpn/generic/tdiv_qr.c to mpn/tdiv_qr.c config.status: linking ./mpn/generic/dc_divrem_n.c to mpn/dc_divrem_n.c config.status: linking ./mpn/generic/sb_divrem_mn.c to mpn/sb_divrem_mn.c config.status: linking ./mpn/generic/jacbase.c to mpn/jacbase.c config.status: linking ./mpn/x86/copyi.asm to mpn/copyi.asm config.status: linking ./mpn/x86/p6/copyd.asm to mpn/copyd.asm config.status: linking ./mpn/x86/p6/gmp-mparam.h to gmp-mparam.h config.status: executing depfiles commands make all-recursive make[1]: Entering directory `/var/tmp/portage/gmp-4.1.4/work/gmp-4.1.4' Making all in tests make[2]: Entering directory `/var/tmp/portage/gmp-4.1.4/work/gmp-4.1.4/tests' Making all in . make[3]: Entering directory `/var/tmp/portage/gmp-4.1.4/work/gmp-4.1.4/tests' make[3]: Nothing to be done for `all-am'. make[3]: Leaving directory `/var/tmp/portage/gmp-4.1.4/work/gmp-4.1.4/tests' Making all in devel make[3]: Entering directory `/var/tmp/portage/gmp-4.1.4/work/gmp-4.1.4/tests/devel' make[3]: Nothing to be done for `all'. make[3]: Leaving directory `/var/tmp/portage/gmp-4.1.4/work/gmp-4.1.4/tests/devel' Making all in mpn make[3]: Entering directory `/var/tmp/portage/gmp-4.1.4/work/gmp-4.1.4/tests/mpn' make[3]: Nothing to be done for `all'. make[3]: Leaving directory `/var/tmp/portage/gmp-4.1.4/work/gmp-4.1.4/tests/mpn' Making all in mpz make[3]: Entering directory `/var/tmp/portage/gmp-4.1.4/work/gmp-4.1.4/tests/mpz' make[3]: Nothing to be done for `all'. make[3]: Leaving directory `/var/tmp/portage/gmp-4.1.4/work/gmp-4.1.4/tests/mpz' Making all in mpq make[3]: Entering directory `/var/tmp/portage/gmp-4.1.4/work/gmp-4.1.4/tests/mpq' make[3]: Nothing to be done for `all'. make[3]: Leaving directory `/var/tmp/portage/gmp-4.1.4/work/gmp-4.1.4/tests/mpq' Making all in mpf make[3]: Entering directory `/var/tmp/portage/gmp-4.1.4/work/gmp-4.1.4/tests/mpf' make[3]: Nothing to be done for `all'. make[3]: Leaving directory `/var/tmp/portage/gmp-4.1.4/work/gmp-4.1.4/tests/mpf' Making all in rand make[3]: Entering directory `/var/tmp/portage/gmp-4.1.4/work/gmp-4.1.4/tests/rand' make[3]: Nothing to be done for `all'. make[3]: Leaving directory `/var/tmp/portage/gmp-4.1.4/work/gmp-4.1.4/tests/rand' Making all in misc make[3]: Entering directory `/var/tmp/portage/gmp-4.1.4/work/gmp-4.1.4/tests/misc' make[3]: Nothing to be done for `all'. make[3]: Leaving directory `/var/tmp/portage/gmp-4.1.4/work/gmp-4.1.4/tests/misc' Making all in cxx make[3]: Entering directory `/var/tmp/portage/gmp-4.1.4/work/gmp-4.1.4/tests/cxx' make[3]: Nothing to be done for `all'. make[3]: Leaving directory `/var/tmp/portage/gmp-4.1.4/work/gmp-4.1.4/tests/cxx' Making all in mpbsd make[3]: Entering directory `/var/tmp/portage/gmp-4.1.4/work/gmp-4.1.4/tests/mpbsd' make[3]: Nothing to be done for `all'. make[3]: Leaving directory `/var/tmp/portage/gmp-4.1.4/work/gmp-4.1.4/tests/mpbsd' make[2]: Leaving directory `/var/tmp/portage/gmp-4.1.4/work/gmp-4.1.4/tests' Making all in mpn make[2]: Entering directory `/var/tmp/portage/gmp-4.1.4/work/gmp-4.1.4/mpn' /bin/sh ../libtool --mode=compile gcc -DHAVE_CONFIG_H -I. -I. -I.. -D__GMP_WITHIN_GMP -I.. -DOPERATION_`echo mp_bases | sed 's/_$//'` -O2 -march=athlon-xp -fomit-frame-pointer -c -o mp_bases.lo `test -f 'mp_bases.c' || echo './'`mp_bases.c /bin/sh ../libtool --mode=compile --tag=CC ../mpn/m4-ccas --m4="m4" gcc -c -DHAVE_CONFIG_H -I. -I. -I.. -D__GMP_WITHIN_GMP -I.. -DOPERATION_`echo udiv | sed 's/_$//'` -O2 -march=athlon-xp -fomit-frame-pointer `test -f udiv.asm || echo './'`udiv.asm libtool: unrecognized option `--tag=CC' Try `libtool --help' for more information. make[2]: *** [udiv.lo] Error 1 make[2]: *** Waiting for unfinished jobs.... mkdir .libs gcc -DHAVE_CONFIG_H -I. -I. -I.. -D__GMP_WITHIN_GMP -I.. -DOPERATION_mp_bases -O2 -march=athlon-xp -fomit-frame-pointer -c mp_bases.c -fPIC -DPIC -o .libs/mp_bases.lo gcc -DHAVE_CONFIG_H -I. -I. -I.. -D__GMP_WITHIN_GMP -I.. -DOPERATION_mp_bases -O2 -march=athlon-xp -fomit-frame-pointer -c mp_bases.c -o mp_bases.o >/dev/null 2>&1 mv -f .libs/mp_bases.lo mp_bases.lo make[2]: Leaving directory `/var/tmp/portage/gmp-4.1.4/work/gmp-4.1.4/mpn' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/gmp-4.1.4/work/gmp-4.1.4' make: *** [all] Error 2 !!! ERROR: dev-libs/gmp-4.1.4 failed. !!! Function src_compile, Line 61, Exitcode 2 !!! emake failed !!! If you need support, post the topmost build error, NOT this status message. Then I emerged libtool-1.4.3-r4 and after that gmb was succesfully emerged.
fixed - thanks Andrew.