Attempting to do a uclibc install. This is in a chroot of solar's uclibc stage 1: http://oc12.net/~solar/gentoo/uclibc/x86/stage1-uclibc-20040701.tar.bz2 Followed by emerge portage. >>> emerge (2 of 19) sys-devel/libtool-1.5.2-r5 to / >>> md5 src_uri ;-) libtool-1.5.2.tar.gz >>> md5 src_uri ;-) libtool-1.3.5.tar.gz >>> Unpacking source... >>> Unpacking libtool-1.5.2.tar.gz to /var/tmp/portage/libtool-1.5.2-r5/work >>> Unpacking libtool-1.3.5.tar.gz to /var/tmp/portage/libtool-1.5.2-r5/work automake-1.5: configure.in: installing `./missing' * Patching libtool-1.3.5 ... * Applying libtool-1.2f-cache.patch... [ ok ] * Applying libtool-1.3.5-nonneg.patch... [ ok ] * Applying libtool-1.3.5-mktemp.patch... [ ok ] * Applying ltconfig-uclibc.patch... [ ok ] * Patching libtool-1.5.2 ... * Applying libtool-1.4-nonneg.patch... [ ok ] * Applying libtool-1.4.2-multilib.patch... [ ok ] * Applying libtool-1.4.2-demo.patch... [ ok ] * Applying libtool-1.5-libtool.m4-x86_64.patch... [ ok ] * Applying libtool-1.5-testfailure.patch... [ ok ] * Applying libtool-1.4.3-lib64.patch... [ ok ] * Applying libtool-1.4.2-archive-shared.patch... [ ok ] * Applying libtool-1.4.3-ltmain-SED.patch... [ ok ] * Applying libtool-1.4.2-expsym-linux.patch... [ ok ] * Applying libtool-1.4.3-amd64-alias.patch... [ ok ] * Applying libtool-1.4.3-libtoolize--config-only.patch... [ ok ] * Applying libtool-1.4.3-pass-thread-flags.patch... [ ok ] * Applying libtool-1.4.2-portage.patch... [ ok ] * Applying libtool-1.5.2-libtool_m4-shared_ext.patch... [ ok ] * Applying libtool-1.5.2-ltmain_sh-max_cmd_len.patch... [ ok ] * Generate ltmain.sh ... * Using GNU config files from /usr/share/gnuconfig * Can't read /usr/share/gnuconfig//var/tmp/portage/libtool-1.5.2-r5/work, skipping.. >>> Source unpacked. * Configuring libtool-1.3.5 ... creating cache ./config.cache checking for a BSD compatible install... /bin/install -c checking whether build environment is sane... yes checking whether make sets ${MAKE}... yes checking for working aclocal... found checking for working autoconf... found checking for working automake... found checking for working autoheader... found checking for working makeinfo... found checking for gcc... gcc checking whether the C compiler (gcc -Os -march=i386 -pipe -fomit-frame-pointer ) works... yes checking whether the C compiler (gcc -Os -march=i386 -pipe -fomit-frame-pointer ) is a cross-compiler... no checking whether we are using GNU C... yes checking whether gcc accepts -g... yes checking for ranlib... ranlib checking host system type... Invalid configuration `i386-pc-linux-uclibc': machine `i386-pc-linux' not recognized checking build system type... Invalid configuration `i386-pc-linux-uclibc': machine `i386-pc-linux' not recognized checking for ld used by GCC... /usr/i386-pc-linux-uclibc/bin/ld checking if the linker (/usr/i386-pc-linux-uclibc/bin/ld) is GNU ld... yes checking for BSD-compatible nm... /usr/bin/nm -B checking whether ln -s works... yes checking for mawk... no checking for gawk... gawk updating cache ./config.cache creating ./config.status creating Makefile creating doc/Makefile creating tests/Makefile configuring in libltdl running /bin/sh ./configure --host=i386-pc-linux-uclibc --prefix=/usr --infodir=/usr/share/info --enable-ltdl-install --cache-file=.././config.cache --srcdir=. loading cache .././config.cache checking for a BSD compatible install... (cached) /bin/install -c checking whether build environment is sane... yes checking whether make sets ${MAKE}... (cached) yes checking for working aclocal... found checking for working autoconf... found checking for working automake... found checking for working autoheader... found checking for working makeinfo... found checking whether to enable maintainer-specific portions of Makefiles... no checking for gcc... (cached) gcc checking whether the C compiler (gcc -Os -march=i386 -pipe -fomit-frame-pointer ) works... yes checking whether the C compiler (gcc -Os -march=i386 -pipe -fomit-frame-pointer ) is a cross-compiler... no checking whether we are using GNU C... (cached) yes checking whether gcc accepts -g... (cached) yes checking for working const... yes checking for inline... inline checking host system type... Invalid configuration `i386-pc-linux-uclibc': machine `i386-pc-linux' not recognized checking build system type... Invalid configuration `i386-pc-linux-uclibc': machine `i386-pc-linux' not recognized checking for ranlib... (cached) ranlib checking for ld used by GCC... (cached) /usr/i386-pc-linux-uclibc/bin/ld checking if the linker (/usr/i386-pc-linux-uclibc/bin/ld) is GNU ld... (cached) yes checking for BSD-compatible nm... (cached) /usr/bin/nm -B checking whether ln -s works... (cached) yes updating cache .././config.cache loading cache .././config.cache within ltconfig ltconfig: you must specify a host type if you use `--no-verify' Try `ltconfig --help' for more information. configure: error: libtool configure failed configure: error: ./configure failed for libltdl !!! ERROR: sys-devel/libtool-1.5.2-r5 failed. !!! Function src_compile, Line 150, Exitcode 1 !!! (no error message) # emerge info Portage 2.0.50-r8 (x86, gcc-3.4.0, glibc-unavailable, 2.6.5-gentoo-r1) ================================================================= System uname: 2.6.5-gentoo-r1 i686 Gentoo Base System version 1.4.16 Autoconf: sys-devel/autoconf-2.59-r3 Automake: sys-devel/automake-1.8.5-r1 ACCEPT_KEYWORDS="x86" AUTOCLEAN="yes" CFLAGS="-Os -march=i386 -pipe -fomit-frame-pointer" CHOST="i386-pc-linux-uclibc" COMPILER="gcc3" CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.2/share/config /usr/kde/3/share/config /usr/lib/mozilla/defaults/pref /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d" CXXFLAGS="-Os -march=i386 -pipe -fomit-frame-pointer" DISTDIR="/usr/portage/distfiles" FEATURES="autoaddcvs autoconfig buildpkg ccache nodoc noinfo noman sandbox sfperms strict" GENTOO_MIRRORS="http://gentoo.oregonstate.edu" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" PORTDIR_OVERLAY="/usr/portage-uclibc" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="crypt hardened justify multicall ncurses pic pie readline tcpd uclibc x86 zlib" if you get a perl access violation on unlink /usr/bin/perl after the install (I have no idea how) do a ebuild.... qmerge will get past it. QA: header on sys-devel/libtool-1.5.2-r5 is corrupted. and export WANT_AUTOCONF_2_5=1 export WANT_AUTOMAKE_1_5=1 sould be export WANT_AUTOCONF=2.5 export WANT_AUTOMAKE=1.5 if I remember correcly.
* Using GNU config files from /usr/share/gnuconfig * Can't read /usr/share/gnuconfig//var/tmp/portage/libtool-1.5.2-r5/work, ^ Key thing about this. Same thing happens with misc other ebuild where we want to use gnuconfig_update <param> such as module-init-tools or any ebuild using the following gnuconfig_update ${WORKDIR} This probably means the gnuconfig.eclass could probably use some logic rereview.
I see that this was entered on the 19th, but I'm fairly certain this bug was fixed a couple days ago. Mind checking?
No sorry - just did resync and emerge and got the same result. Have changed portage config to http://oc12.net/~solar/gentoo/uclibc/x86/etc.portage-20040719.tgz.
Here is what it does on my system: * Using GNU config files from /usr/share/libtool * Updating libtool-1.3.5/config.sub [ ok ] * Updating libtool-1.5.2/libltdl/config.sub [ ok ] * Updating libtool-1.5.2/config.sub [ ok ] * Updating libtool-1.3.5/config.guess [ ok ] * Updating libtool-1.5.2/libltdl/config.guess [ ok ] * Updating libtool-1.5.2/config.guess [ ok ] I'm not using uclibc though. Please try this: grep Header /usr/portage/eclass/gnuconfig.eclass My output is # $Header: /var/cvsroot/gentoo-x86/eclass/gnuconfig.eclass,v 1.23 2004/07/13 21:43:28 agriffis Exp $
uCsimple portage # grep Header /usr/portage/eclass/gnuconfig.eclass # $Header: /var/cvsroot/gentoo-x86/eclass/gnuconfig.eclass,v 1.23 2004/07/13 21:43:28 agriffis Exp $ I know this might seem odd to you but it's what's happening. This may provide you some insight to the "why" uCsimple libtool # ls -l /usr/share/libtool/ total 192 lrwxrwxrwx 1 root root 25 Jul 3 03:45 config.guess -> ../gnuconfig/config.guess lrwxrwxrwx 1 root root 23 Jul 3 03:45 config.sub -> ../gnuconfig/config.sub drwxr-xr-x 2 root root 4096 Jul 3 03:45 libltdl -rw-r--r-- 1 root root 185428 Jul 3 03:45 ltmain.sh ------------------------ The function gnuconfig_findnewest() returns both /usr/share/libtool in a uclibc and a glibc environment. [ ! -r /usr/share/libtool/config.sub ] && echo ok Also seem to yeild the same results. What makes this bug even odder to me is that I just made it into a script and run it from comamnd line and all seems kosher. I'm stumped atm on this one atm ;/
Created attachment 36158 [details, diff] gnuconfig-test.patch How about trying the attached patch? It's a shot in the dark really.
* Generate ltmain.sh ... gnuconfig_update arg1 = [/var/tmp/portage/libtool-1.5.2-r5/work] * Using GNU config files from /usr/share/libtool Ok great libtool merged. ----------------------------------------------------------- Now let's try that module-init-tools one. First run as is. (FAILS) Then with Index: module-init-tools-3.0-r2.ebuild =================================================================== RCS file: /var/cvsroot/gentoo-x86/sys-apps/module-init-tools/module-init-tools-3.0-r2.ebuild,v retrieving revision 1.6 diff -u -b -B -w -p -r1.6 module-init-tools-3.0-r2.ebuild --- module-init-tools-3.0-r2.ebuild 13 Jul 2004 21:55:26 -0000 1.6 +++ module-init-tools-3.0-r2.ebuild 26 Jul 2004 03:53:19 -0000 @@ -51,13 +51,12 @@ src_unpack() { rm -f missing export WANT_AUTOMAKE=1.6 automake --add-missing -} - -src_compile() { # If running mips64, we need updated configure data - gnuconfig_update + gnuconfig_update ${WORKDIR} +} +src_compile() { local myconf= filter-flags -fPIC * Applying modutils-2.4.22-no-above-below.patch... [ ok ] * Applying module-init-tools-0.9.15-legacy-modext-support.patch... [ ok ] * Applying generate-modprobe-assume-kernel.patch... [ ok ]configure.in: installing `./missing' gnuconfig_update arg1 = [/var/tmp/portage/module-init-tools-3.0-r2/work] * Using GNU config files from /usr/share/libtool * Updating module-init-tools-3.0/config.sub [ ok ] * Updating modutils-2.4.26/config.sub [ ok ] * Updating module-init-tools-3.0/config.guess [ ok ] * Updating modutils-2.4.26/config.guess --- Ok great so now module-init-tools merges. ok so.. From looking at this patch it does seem to actually do anything other than print your **argv array to the command line so I reverted it and rebuilt module-init-utils a few times and umm.. shoot me.. It no longer seems to be a problem. Anyway gnuconfig_update ${WORKDIR} seems to work like a charm now. dragonheart can you confirm this please?
solar, my patch made one other change, look closely ;-) I don't know if that part has anything to do with it, though. I was just guessing that for some reason in the uclibc environment there might be bogus characters on the front of $1 prior to the /. I couldn't see any other reason for it to be failing.
+ for ((x = 1; x <= $#; x = x + 1)); do + echo "gnuconfig_update arg$x = [${!x}]" + done Unless I'm getting blind/dense must be blind cuz this is all I see it doing. What am I missing?
- if [[ $1 == /* ]]; then + if [[ $1 == */* ]]; then
Ok, this is assigned to me, and even with my change it appears to work. I'm marking resolved unless one of you re-opens with more information.