This problem was first seen in bootstrapping from scratch 2008-12-29. The webpage being followed was http://www.gentoo.org/proj/en/gentoo-alt/prefix/bootstrap-solaris.xml?style=printable, dated 2008-12-27. The platform being used was SUSE Enterprise SP1. The `emerge --oneshot --nodeps mpfr' step fails because lzma-compressed distfiles cannot be handled at that stage. A possible workaround is to insert `emerge --oneshot lzma-utils' just before emerging mpfr. Perhaps this can be solved by means of dependencies too. Last part of the console log: * checking mpfr-2.3.2.tar.lzma ;-) ... [ ok ] >>> Unpacking source... >>> Unpacking mpfr-2.3.2.tar.lzma to /local/scratch/portage/dev-libs/mpfr-2.3.2/work /local/tmp/q/usr/lib/portage/bin/ebuild.sh: line 393: lzma: command not found tar: This does not look like a tar archive tar: Error exit delayed from previous errors * ERROR: dev-libs/mpfr-2.3.2 failed: * failure unpacking mpfr-2.3.2.tar.lzma *
I really hate all these added deps to the bootstrap instructions. Are we *sure* that gmp is needed for gcc? %% equery d gmp [ Searching for packages depending on gmp... ] dev-libs/mpfr-2.3.2 (>=dev-libs/gmp-4.1.4-r2) dev-libs/openssl-0.9.8i (gmp? dev-libs/gmp) sys-devel/gcc-4.2.4 (fortran? >=dev-libs/gmp-4.2.1) %% equery d mpfr [ Searching for packages depending on mpfr... ] sys-devel/gcc-4.2.4 (fortran? >=dev-libs/mpfr-2.2.0_p10) Can't we just do USE=-fortran on gcc and be done with this? ================================================== Regardless of the above, if we go down the road of adding lzma-utils to the instructions then we *need* to specify USE=nocxx to lzma-utils. I have been down this road before and it is very, very not fun!
gmp is necessary for pre-calculating complex constant expressions, IMO. The only clean solution is to force gcc-4.1* in the bootstrap, which does not require gmp and mpfr.
(In reply to comment #2) > gmp is necessary for pre-calculating complex constant expressions, IMO. > > The only clean solution is to force gcc-4.1* in the bootstrap, which does not > require gmp and mpfr. > Then this is a bug in gentoo-x86 because gmp is a optional dep atm. Regardless, I am bootstrapping on AIX 6.1 today which has no GNU on it..I'll see what happens
(In reply to comment #2) > The only clean solution is to force gcc-4.1* in the bootstrap, which does not > require gmp and mpfr. I'm faily certain that your are mixing up gcc versions now after reading this: http://gcc.gnu.org/gcc-4.3/changes.html Seems like gmp and mpfr are prereqs for gcc-4.3, not 4.2, yes?
ok! De-fortraning would be ok with me then (and it explains the problem because the new linux profiles enable it, whereas the old profiled did not).
(In reply to comment #5) > ok! > > De-fortraning would be ok with me then (and it explains the problem because the > new linux profiles enable it, whereas the old profiled did not). > %% cvs diff Index: bootstrap-solaris.xml <snip> -$ <i>export USE="-nls -berkdb -gdbm"</i> +$ <i>export USE="-nls -berkdb -gdbm -fortran"</i> <snip> $ <i>emerge --oneshot --nodeps flex</i> $ <i>emerge --oneshot --nodeps binutils-config</i> $ <i>emerge --oneshot --nodeps binutils</i> -$ <i>emerge --oneshot --nodeps gmp</i> -$ <i>emerge --oneshot --nodeps mpfr</i> $ <i>emerge --oneshot --nodeps gcc-config</i> $ <i>emerge --oneshot --nodeps gcc</i> </pre> Should do the trick. What this change does is effectively returns the bootstrap instructions to the old profile setting (USE=-fortran) which were known to work. I really want to de-solaritize this doc and make it friendly to all unix (!= darwin). todo.