Platform: SUSE 10 SP1 Webpage version: 9 January, 2008 During bootstrapping the emerge of dev-libs/popt-1.13 failed. This package is pulled in by the first `emerge -e system' command (package 9 of 67). The following was seen in the console output: gcc -Wall -g -O2 -Wl,-rpath=/local/tmp/nightly/2008-01-20/usr/lib -Wl,-rpath=/local/tmp/nightly/2008-01-20/lib -o .libs/test1 test1.o -liconv -L/local/tmp/nightly/2008-01-20/usr/lib -L/local/tmp/nightly/2008-01-20/lib ./.libs/libpopt.so -Wl,--rpath -Wl,/local/tmp/nightly/2008-01-20/usr/lib /usr/lib/gcc/i586-suse-linux/4.1.2/../../../../i586-suse-linux/bin/ld: cannot find -liconv collect2: ld returned 1 exit status make[2]: *** [test1] Error 1 make[2]: Leaving directory `/local/scratch/portage/dev-libs/popt-1.13/work/popt-1.13' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/local/scratch/portage/dev-libs/popt-1.13/work/popt-1.13' make: *** [all] Error 2 * * ERROR: dev-libs/popt-1.13 failed. * Call stack: * ebuild.sh, line 46: Called src_compile * environment, line 2371: Called die * The specific snippet of code: * emake || diefunc "$FUNCNAME" "$LINENO" "$?" "emake failed" * The die message: * emake failed
can you please post your config.log for popt?
Created attachment 141396 [details] config.log
grobian, Same issue here. The patch you submitted, fixed compilation on solaris but apparently broke it on linux. Both USE=nls and USE=-nls fail with the same issue as described. "cannot find -liconv"
Which is not so weird, as linux doesn't need a libiconv, it's included in glibc. However for some reason configure appears to think -liconv is necessary on Linux, which means the AM_ICONV macro sucks.
I committed a fix which allowed me to compile on linux. Will test on Solaris again to see if it works fine there too. Please test. Won't close this bug until I uploaded a new bootstrap image.
solaris with USE="-nls" still compiles for me still, so it looks like my fix is promising
Well, this fix broke Interix completely. One thing is that eautoreconf requires gettext.m4 (provided by gettext), which need not to be there for USE=-nls, as well as during bootstrap... Another is that eautoreconf (during bootstrap) does not work without setting AT_M4DIR="m4" ... For interix, we only needed to drop the AC_CHECK_FUNCS(... iconv) - which looks for iconv() without <iconv.h> - but avoid eautoreconf.
(In reply to comment #7) > Well, this fix broke Interix completely. the strange thing is, that when not doing eautoreconf, configure doesn't fail when not finding xgettext, but after eautoreconf, it does....
http://overlays.gentoo.org/proj/alt/changeset/15928 fixes this specifically for interix. Eventually this same fix also works for solaris and linux during bootstrap ?
I don't like your patch. Let me explain why I did what I did. 1) Solaris (Darwin, AIX too I presume) don't have iconv in their libc, however, without USE=nls the make script thinks that you can use iconv without any libs 2) On linux, AM_ICONV thinks that to link to iconv, you need -liconv, which is really wrong for 1) I just added LTICONV to the Makefile for 2) I used AM_ICONV_LINK or something, because that one /does/ figure out that on Linux you don't need any lib for iconv stuff a) I don't know/recall where in the process popt is pulled in, but I thought it was just a dep of rsync somewhere, so it should come after all autoconf and stuff are pulled inside the prefix. Why can't we run eautoreconf for it? b) my patching may be wrong, and we can include the m4 dir so we don't need gettext upfront
I created a new snapshot with haubi's patch, so hopefully it works during bootstrap again now.
I ran a bootstrapping attempt on SUSE 10 early this morning but it did not succeed. Maybe this is a new problem and we should open a new bug. The `emerge --oneshot bash' step fails because of the texinfo dependency (package 6 out of 15 pulled in by bash). The final part of the console log goes rm -rf $backupdir; exit $rc /bin/sh /local/scratch/portage/sys-apps/texinfo-4.11-r1/work/texinfo-4.11/build-aux/missing --run help2man --name="convert Texinfo documents to DVI" ../util/texi2dvi >texi2dvi.1 help2man: can't get `--help' info from ../util/texi2dvi make[2]: *** [texi2dvi.1] Error 1 make[2]: Leaving directory `/local/scratch/portage/sys-apps/texinfo-4.11-r1/work/texinfo-4.11/doc' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/local/scratch/portage/sys-apps/texinfo-4.11-r1/work/texinfo-4.11' make: *** [all] Error 2 * ERROR: sys-apps/texinfo-4.11-r1 failed:
bug recycling... @markus, I take it you're not interested in this, if you are readd yourself.
(In reply to comment #13) > bug recycling... > @markus, I take it you're not interested in this, if you are readd yourself. thanks, and yes, texinfo is working fine on interix ;)
I added a dep on help2man to texinfo, as it bugs us too much. I'm currently bootstrappign from scratch and had the same issue on OSX. I noticed that the dependencies for bash (16 packages!) are quite different than before, so expect the bootstrap guide to change soon.
% less /Library/Gentoo/var/tmp/portage/dev-libs/popt-1.13/temp/autoconf-26301.out ***** autoconf ***** configure.ac:97: error: possibly undefined macro: AM_GNU_GETTEXT If this token and others are legitimate, please use m4_pattern_allow. See the Autoconf documentation. configure.ac:98: error: possibly undefined macro: AM_ICONV_LINK Damn.
texinfo problem is fixed, popt issue remains. @markus: in the interix wchar patch, can it be made unconditional by using something like #ifdef __INTERIX? I want to clean up this popt mess a lot now, I dislike the conditional patching a lot.
(In reply to comment #8) > (In reply to comment #7) > > Well, this fix broke Interix completely. > > the strange thing is, that when not doing eautoreconf, configure doesn't fail > when not finding xgettext, but after eautoreconf, it does.... > this is becasue the scrub-lame-gettext patch simply only patches configure, and since it seems to be a very early bootstrap dependency, I guess we should keep it from autoreconfing as well.
(In reply to comment #17) > texinfo problem is fixed, popt issue remains. > @markus: in the interix wchar patch, can it be made unconditional by using > something like #ifdef __INTERIX? > I want to clean up this popt mess a lot now, I dislike the conditional patching > a lot. jap, sure.... one has to just wrap the line i removed with #ifndef __INTERIX instead. i attached a tree patch, since i dont know, when haubi will be online to apply it again.
Created attachment 142412 [details, diff] make patch applyable unconditionally
Markus, could you please sync and try the latest popt-1.13 if it works for Interix? (USE=-nls should work as nothing changed for Interix.) I cleaned it up a lot. On Darwin during bootstrap (USE=-nls) it works. Theoretically this should work everywhere, and also with nls set, but I'll keep my fingers crossed. Thanks for your unconditional patch, I applied it!
arg, i love mid-air collisions ;) what i wanted to write: ok, i thought a while about this ;) i have it working now, even with eautoreconf, if you want to leave it in. all patches are unconditional now. again i'll attach my proposed tree patch here, because i still don't know when haubi will be online to apply... i will attach it anyway and try again after synching....
Created attachment 142414 [details, diff] popt cleanup
(In reply to comment #21) > Markus, could you please sync and try the latest popt-1.13 if it works for > Interix? (USE=-nls should work as nothing changed for Interix.) [snip] works fine from current svn now.
ah, indeed. That would have been the way to go if we didn't have this autoreconf restriction. Because this package is really deep down in the bootstrap scene, we don't want to autoconf for it, so we have to stick with patching configure. I eventually used the interix patch you made, as that works for others too (hopefully).
(In reply to comment #24) > (In reply to comment #21) > > Markus, could you please sync and try the latest popt-1.13 if it works for > > Interix? (USE=-nls should work as nothing changed for Interix.) > [snip] > > works fine from current svn now. > Thanks. Let's hope this is it then...
I am still getting the same failure as described in Comment#12 (the host is SUSE 10 SP1). The console logs look very similar when I compare the ones from today (very early in the morning, 01:00 Stockholm wintertime) and yesterday. The date encoded in bootstrap_tree() is also the same (20080130). Hope I'm not doing the wrong thing here but since the failure persists I am reopening.
I didn't release a new snapshot. I do that after I finish bootstrapping Darwin 10.4
new bootstrap image uploaded. The bootstrap procedure needs to be changed, roughly like this after the bootstrap-prefix $EPREFIX/tmp stuff: -1 sed 1. -1 --nodeps bash 2. wget 3. -1 coreutils (17 pkgs) 4. findutils 5. tar 6. grep 7. gawk 8. portage (12 pkgs) 9. baselayout-prefix 10. 11. rm tmp 12. 13. -1 subversion 14. --sync 15. -u system (does the remaining pkgs + compiler) 16. 17. set up make.conf, unset LDFLAGS, CPPFLAGS 18. 19. emerge -e system 20. 21. startscript I'm working on the guides