Compiling gcc fails (end of Code Listing 1.8 of May 7 version of http://www.gentoo.org/proj/en/gentoo-alt/prefix/bootstrap-solaris.xml). This used to work before (succesful builds were done around June 20, 2007). Reproducible: Always Steps to Reproduce: 1. Run the 2007-06-18 version of the script downloadable from http://wb748077.bahnhofbredband.se/prefix-gentoo/ Actual Results: Compilation fails with this message (my EPREFIX is /var/tmp/2007-06-18), configure: error: can not run /var/tmp/2007-06-18/var/tmp/portage/sys-devel/gcc-4.1.2/work/gcc-4.1.2/config.sub See also attached build log. Expected Results: Compilation should succeed. The same symptoms are seen on Solaris/x86 and Solaris/SPARC alike.
Created attachment 124081 [details] Log of the "emerge --oneshot --nodeps sys-devel/gcc" step
I tried to re-run the setup-prefix script, with "emerge gcc" expanded to "for C in clean fetch unpack compile install qmerge; do ebuild EBUILD_FILE $C; done". The error occurs at the very beginning of the compile step. The script that "can not run" looks fairly OK: it exists, it is executable, and its first line goes "#! /bin/sh". And /bin/sh is a symlink to ../../sbin/sh, which is presumably the way it should be in Solaris. And /sbin/sh exists and is executable.
I think I have found the cause of the problem. The config.sub script is invoked by the configure script. The invocation uses the value of CONFIG_SHELL if set, or /bin/sh otherwise. In the Prefix Portage bootstrap scenario the value of CONFIG_SHELL is $EPREFIX/bin/sh. There is no such file, hence the "can not run" error message. A workaround seems possible: Create a symlink sh -> bash in the $EPREFIX/bin directory before emerging gcc.
I'm bootstrapping currently and bootstrapping gcc. I don't get your problem, because I have $EPREFIX/bin/sh. This is a symlink to bash, installed by the bash ebuild that was emerged in code listing 1.7. Your script seems to emerge bash before gcc too, given that the conditional will hold, so I don't understand why you don't get that symlink. Are there any build errors/warnings for bash?
I checked my latest saved console output, and indeed, it says at one point during step 1.7: ln: creating symbolic link `/var/tmp/2007-06-29//bin/sh' to `bash': No such file or directory So, something goes not entirely right while I emerge bash. I'll see if I can pinpoint it further.
Maybe there is something peculiar here after all. It seems that there is an attempt to create the 'sh' symlink before the target file is in place. In contrast, there is a 'rbash' symlink too which is created after 'bash' itself. Then again, why should this not work for me whereas it works for you? I remain confused. BTW, my EPREFIX is '/var/tmp/2007-06-29'. >>> Completed installing bash-3.2_p17 into /var/tmp/2007-06-29/var/tmp/portage/app-shells/bash-3.2_p17/image/var/tmp/2007-06-29/^M ^M ecompressdir: bzip2 -9 var/tmp/2007-06-29//usr/share/man^M * checking 22 files for package collisions >>> Merging app-shells/bash-3.2_p17 to / ln: creating symbolic link `/var/tmp/2007-06-29//bin/sh' to `bash': No such file or directory^M >>> /var/tmp/2007-06-29/bin/ >>> /var/tmp/2007-06-29/bin/bash >>> /var/tmp/2007-06-29/bin/rbash -> bash
I don't think it really makes a difference, but I'm bootstrapping at the moment using the latest bootstrap script and snapshot. You seem to have an older snapshot at least. Maybe that makes a little difference. I found some issues during my bootstrap so far, but this should work correctly.
I am re-running my script, with an added diagnostic message that is written if there is reason to explicitly create the sh -> bash symlink. I just saw that the message was written, so something weird is still going on over here. I'll let the script carry on, to see if it stumbles on <http://bugs.gentoo.org/show_bug.cgi?id=184543> like before.
does this problem still persists?
Cannot say. I don't have access to Solaris machines anymore. But if I get to use Solaris again (on faster HW hopefully) I'll certainly set up prefix Portage again.