On an older AMD K6-2 slsh part does not build. Turned of distcc and parallel make, still fails in same way. Reproducible: Always Steps to Reproduce: 1.emerge slang 2. 3. emerge --info Portage 2.1.4.4 (default-linux/x86/2007.0, gcc-4.2.2, glibc-2.7-r1, 2.6.24-gentoo-r2 i586) ================================================================= System uname: 2.6.24-gentoo-r2 i586 AMD-K6(tm) 3D processor Timestamp of tree: Wed, 13 Feb 2008 12:46:01 +0000 distcc 2.18.3 i586-pc-linux-gnu (protocols 1 and 2) (default port 3632) [disabled] app-shells/bash: 3.2_p33 dev-lang/python: 2.5.1-r5 sys-apps/baselayout: 1.12.11.1 sys-apps/sandbox: 1.2.18.1-r2 sys-devel/autoconf: 2.61-r1 sys-devel/automake: 1.7.9-r1, 1.9.6-r2, 1.10.1 sys-devel/binutils: 2.18-r1 sys-devel/gcc-config: 1.4.0-r4 sys-devel/libtool: 1.5.26 virtual/os-headers: 2.6.24 ACCEPT_KEYWORDS="x86 ~x86" CBUILD="i586-pc-linux-gnu" CFLAGS="-O2 -march=k6-2 -pipe -fomit-frame-pointer" CHOST="i586-pc-linux-gnu" CONFIG_PROTECT="/etc" CONFIG_PROTECT_MASK="/etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/revdep-rebuild /etc/terminfo /etc/udev/rules.d" CXXFLAGS="-O2 -march=k6-2 -pipe -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="distlocks metadata-transfer sandbox sfperms strict unmerge-orphans userfetch" GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo" LC_ALL="en_US.UTF-8" LINGUAS="en us_EN" PKGDIR="/usr/portage/packages" PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="3dnow X acpi berkdb bitmap-fonts bzip2 cairo dbus dga fftw firefox fortran gdbm gif gtk gtk2 hal iconv jpeg minimal mmx ncurses nls nptl nptlonly pam pdf perl python readline session ssl svg truetype truetype-fonts type1-fonts unicode x86 xorg zlib" ALSA_CARDS="ens1371" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mulaw multi null plug rate route share shm softvol" ELIBC="glibc" INPUT_DEVICES="keyboard mouse" KERNEL="linux" LINGUAS="en us_EN" USERLAND="GNU" VIDEO_CARDS="sis" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LDFLAGS, MAKEOPTS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, PORTDIR_OVERLAY
cd slsh; make all make[1]: Entering directory `/var/tmp/portage/sys-libs/slang-2.1.3-r1/work/slang-2.1.3/slsh' cp ../src/config.h . i586-pc-linux-gnu-gcc -c -O2 -march=k6-2 -pipe -fomit-frame-pointer -I/var/tmp/portage/sys-libs/slang-2.1.3-r1/work/slang-2.1.3/src -DSLSH_CONF_DIR='"/etc"' -DSLSH_PATH='"/usr/share/slsh"' -DSLSH_CONF_DIR_ENV='"SLSH_CONF_DIR"' -DSLSH_LIB_DIR_ENV='"SLSH_LIB_DIR"' -DSLSH_PATH_ENV='"SLSH_PATH"' slsh.c i586-pc-linux-gnu-gcc -c -O2 -march=k6-2 -pipe -fomit-frame-pointer -I/var/tmp/portage/sys-libs/slang-2.1.3-r1/work/slang-2.1.3/src -DSLSH_CONF_DIR='"/etc"' -DSLSH_PATH='"/usr/share/slsh"' -DSLSH_CONF_DIR_ENV='"SLSH_CONF_DIR"' -DSLSH_LIB_DIR_ENV='"SLSH_LIB_DIR"' -DSLSH_PATH_ENV='"SLSH_PATH"' -DUSE_GNU_READLINE=0 readline.c i586-pc-linux-gnu-gcc -O2 -march=k6-2 -pipe -fomit-frame-pointer slsh.o readline.o -o slsh_exe -Wl,-export-dynamic -L/var/tmp/portage/sys-libs/slang-2.1.3-r1/work/slang-2.1.3/src/elfx86objs -lslang -ltermcap -ldl -lm /usr/lib/gcc/i586-pc-linux-gnu/4.2.2/../../../../i586-pc-linux-gnu/bin/ld: cannot find -ltermcap collect2: ld returned 1 exit status make[1]: *** [slsh_exe] Error 1 make[1]: Leaving directory `/var/tmp/portage/sys-libs/slang-2.1.3-r1/work/slang-2.1.3/slsh' make: *** [elf] Error 2
Try w/ MAKEOPTS="-j1"
(In reply to comment #2) > Try w/ MAKEOPTS="-j1" > No difference whatsoever. It fails in exactly same way. Previously I commented MAKEOPTS out in make.conf, now I enabled it again with -j1.
Output of 'emerge -pv ncurses' please.
I had a theory (lazy to verify) that slang doesn't use headers, or link against ncurses, but it needs the terminfo files it installs into /usr/share/terminfo. but ncurses doesn't install these if it was built with USE minimal. which would mean we need a built_with_use check in pkg_setup, .. but when I tried to reproduce this it built OK, weird..
Also need output of "ncurses5-config --terminfo", preferably before and after changing USE minimal on and off for ncurses ..
I cleared manually all the cruft from /var/tmp/portage, just in case. # emerge -pv ncurses [ebuild R ] sys-libs/ncurses-5.6-r2 USE="minimal unicode -bootstrap -build -debug -doc -gpm -nocxx -profile -trace" 0 kB # ncurses5-config --terminfo /usr/share/terminfo # USE="-mimimal" emerge -av1 ncurses # ncurses5-config --terminfo /usr/share/terminfo # emerge -av1 slang [ebuild N ] sys-libs/slang-2.1.3-r1 USE="-cjk -pcre -png" 0 kB Success!!! Thank you, Vielen Dank, Kiitos!
(In reply to comment #5) > I had a theory (lazy to verify) that slang doesn't use headers, or link against > ncurses, but it needs the terminfo files it installs into /usr/share/terminfo. > > but ncurses doesn't install these if it was built with USE minimal. > > which would mean we need a built_with_use check in pkg_setup, .. > > but when I tried to reproduce this it built OK, weird.. > I can reproduce it, I built ncurses with minimal again and slang build fails truthfully. :)
and I believe you both so I've added a check in the ebuild to prevent this from happening..