* [gentoo-amd64] emerge sandbox is using the wrong host id @ 2006-09-26 11:18 Peter Humphrey 2006-09-26 12:17 ` Simon Stelling 2006-09-26 12:20 ` [gentoo-amd64] " Duncan 0 siblings, 2 replies; 10+ messages in thread From: Peter Humphrey @ 2006-09-26 11:18 UTC (permalink / raw To: gentoo-amd64 Well, I decided to forge ahead while I still have the steam. I'm upgrading GCC from 3.4.4 to 4.1.1-r1. I followed the instructions thus: # emerge -uav gcc # gcc-config i686-pc-linux-gnu-4.1.1 # source /etc/profile # fix_libtool_files.sh 3.4.4 # emerge --oneshot -av libtool I then decided, before emerging -e system and risking confusion of GCC versions as before, to remove 3.4.4 and emerge libtool again to check that the compiler works ok. That went without a problem, so I do have a working 4.1.1 compiler. Now, during emerge -e system, emerge of sandbox (the ninth package of 114) falls over with the dreaded "C compiler cannot create executables". I followed its own advice and ran: FEATURES="-sandbox" emerge sandbox which failed at the same point. Here are some extracts from /var/tmp/portage/sandbox-1.2.18.1/work/build-x86-x86_64-pc-linux-gnu/config.log: Invocation command line was $ ../sandbox-1.2.18.1//configure --prefix=/usr --host=i686-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr /share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --libdir=/usr/lib32 --enable-multili b --build=i686-pc-linux-gnu Note the "--host=i686-pc-linux-gnu". I think that's wrong: it should say "--host=x86_64-pc-linux-gnu", no? Continuing the log extract: configure:1533: checking for a BSD-compatible install configure:1588: result: /bin/install -c configure:1599: checking whether build environment is sane configure:1642: result: yes configure:1707: checking for gawk configure:1723: found /bin/gawk configure:1733: result: gawk configure:1743: checking whether make sets $(MAKE) configure:1763: result: yes configure:1942: checking for i686-pc-linux-gnu-gcc configure:1958: found /usr/bin/i686-pc-linux-gnu-gcc configure:1968: result: i686-pc-linux-gnu-gcc configure:2250: checking for C compiler version configure:2253: i686-pc-linux-gnu-gcc --version </dev/null >&5 gcc-config error: i686-pc-linux-gnu-gcc wrapper: Could not determine which compiler to use. Invalid CTARGET or CTARGET has no selected profile. Indeed, issuing commands manually I get this: $ i686-pc-linux-gnu-gcc --version gcc-config error: i686-pc-linux-gnu-gcc wrapper: Could not determine which compiler to use. Invalid CTARGET or CTARGET has no selected profile. $ which i686-pc-linux-gnu-gcc /usr/bin/i686-pc-linux-gnu-gcc $ eselect compiler list Available compilers for CTARGET i686-pc-linux-gnu [1] x86_64-pc-linux-gnu-4.1.1/x86-vanilla Available compilers for CTARGET x86_64-pc-linux-gnu [2] x86_64-pc-linux-gnu-4.1.1/amd64-vanilla Activated profiles: [null] $ x86_64-pc-linux-gnu-gcc --version x86_64-pc-linux-gnu-gcc (GCC) 4.1.1 (Gentoo 4.1.1-r1) [...copyright notice...] [End of log extracts] Other packages are compiling as I write, having got to package 38 of 105, so the environment is broadly correct. Anyone any ideas? -- Rgds Peter -- gentoo-amd64@gentoo.org mailing list ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [gentoo-amd64] emerge sandbox is using the wrong host id 2006-09-26 11:18 [gentoo-amd64] emerge sandbox is using the wrong host id Peter Humphrey @ 2006-09-26 12:17 ` Simon Stelling 2006-09-26 22:23 ` Peter Humphrey 2006-09-26 12:20 ` [gentoo-amd64] " Duncan 1 sibling, 1 reply; 10+ messages in thread From: Simon Stelling @ 2006-09-26 12:17 UTC (permalink / raw To: gentoo-amd64 > Anyone any ideas? Stop using eselect-compiler, it's broken :P Unmerge it and make sure you have =gcc-config-1.3* installed. -- Kind Regards, Simon Stelling Gentoo/AMD64 developer -- gentoo-amd64@gentoo.org mailing list ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [gentoo-amd64] emerge sandbox is using the wrong host id 2006-09-26 12:17 ` Simon Stelling @ 2006-09-26 22:23 ` Peter Humphrey 0 siblings, 0 replies; 10+ messages in thread From: Peter Humphrey @ 2006-09-26 22:23 UTC (permalink / raw To: gentoo-amd64 On Tuesday 26 September 2006 12:17, Simon Stelling wrote: > Stop using eselect-compiler, it's broken :P Unmerge it and make sure you > have =gcc-config-1.3* installed. Yes, I think I knew it was broken; I only used it to list what's available. Selection of compiler I did with gcc-config. -- Rgds Peter -- gentoo-amd64@gentoo.org mailing list ^ permalink raw reply [flat|nested] 10+ messages in thread
* [gentoo-amd64] Re: emerge sandbox is using the wrong host id 2006-09-26 11:18 [gentoo-amd64] emerge sandbox is using the wrong host id Peter Humphrey 2006-09-26 12:17 ` Simon Stelling @ 2006-09-26 12:20 ` Duncan 2006-09-26 12:29 ` Simon Stelling ` (2 more replies) 1 sibling, 3 replies; 10+ messages in thread From: Duncan @ 2006-09-26 12:20 UTC (permalink / raw To: gentoo-amd64 Peter Humphrey <prh@gotadsl.co.uk> posted 200609261118.18556.prh@gotadsl.co.uk, excerpted below, on Tue, 26 Sep 2006 11:18:18 +0000: > Well, I decided to forge ahead while I still have the steam. I'm upgrading > GCC from 3.4.4 to 4.1.1-r1. > > I followed the instructions thus: > > # emerge -uav gcc > # gcc-config i686-pc-linux-gnu-4.1.1 > # source /etc/profile > # fix_libtool_files.sh 3.4.4 > # emerge --oneshot -av libtool > > I then decided, before emerging -e system and risking confusion of GCC > versions as before, to remove 3.4.4 and emerge libtool again to check that > the compiler works ok. That went without a problem, so I do have a working > 4.1.1 compiler. > > Now, during emerge -e system, emerge of sandbox (the ninth package of 114) > falls over with the dreaded "C compiler cannot create executables". I > followed its own advice and ran: > FEATURES="-sandbox" emerge sandbox > which failed at the same point. Here are some extracts > from /var/tmp/portage/sandbox-1.2.18.1/work/build-x86-x86_64-pc-linux-gnu/config.log: > > Invocation command line was > $ ../sandbox-1.2.18.1//configure --prefix=/usr --host=i686-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr > /share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --libdir=/usr/lib32 --enable-multili > b --build=i686-pc-linux-gnu > > Note the "--host=i686-pc-linux-gnu". I think that's wrong: it should > say "--host=x86_64-pc-linux-gnu", no? Continuing the log extract: No, that's correct in this case. I see your problem now. While most packages you install are 64-bit only and work, sandbox has both 32-bit and 64-bit components -- libraries that enforce sandbox restrictions in both 32-bit and 64-bit mode. What's happening is that your 64-bit gcc is working, but somewhere along the way, you lost a working 32-bit compiler. With it horked, you can't compile any 32-bit stuff, including the 32-bit part of sandbox. However, since most of the system is 64-bit and that's working, you can compile most packages just fine. Other packages that likely won't compile will be glibc and gcc, since they both have 32-bit aspects as well, and that's what's horked. > configure:1942: checking for i686-pc-linux-gnu-gcc > configure:1958: found /usr/bin/i686-pc-linux-gnu-gcc > configure:1968: result: i686-pc-linux-gnu-gcc > configure:2250: checking for C compiler version > configure:2253: i686-pc-linux-gnu-gcc --version </dev/null >&5 > gcc-config error: i686-pc-linux-gnu-gcc wrapper: Could not > determine which compiler to use. Invalid CTARGET or CTARGET has no > selected profile. > > Indeed, issuing commands manually I get this: > > $ i686-pc-linux-gnu-gcc --version > gcc-config error: i686-pc-linux-gnu-gcc wrapper: Could not determine > which compiler to use. Invalid CTARGET or CTARGET has no selected > profile. This simply confirms the above -- you have a dead 32-bit gcc. > $ which i686-pc-linux-gnu-gcc > /usr/bin/i686-pc-linux-gnu-gcc > $ eselect compiler list > Available compilers for CTARGET i686-pc-linux-gnu > [1] x86_64-pc-linux-gnu-4.1.1/x86-vanilla > Available compilers for CTARGET x86_64-pc-linux-gnu > [2] x86_64-pc-linux-gnu-4.1.1/amd64-vanilla > > Activated profiles: > [null] > $ x86_64-pc-linux-gnu-gcc --version > x86_64-pc-linux-gnu-gcc (GCC) 4.1.1 (Gentoo 4.1.1-r1) > [...copyright notice...] > > [End of log extracts] Note the [null]. That should be where it lists the configured active 32-bit compiler. It's not set, so you are having problems. FWIW, this is almost certainly one of the reasons eselect-compiler is currently masked... Also note that since it's masked, the instructions for upgrading gcc needn't bother with any eselect compiler specific issues. Here's what happened. The old gcc-config (which the instructions have in mind) set both, but eselect compiler sets them separately and since you used the gcc-config compatibility wrapper with instructions for the old both-at-once gcc-config, guess what, you set only one. So... Try eselect compiler list, then eselect compiler set <number>, where <number> is an appropriate number selected from the available 32-bit compiler options. Hopefully, that gets you back on the right track, and you can successfully complete the sandbox emerge. If it doesn't, things get more difficult, but we identified the problem now, which is certainly half the way to fixing it right there. If necessary, you can rebuild gcc using the multilib version in the stage tarball to get working multilib back, and go from there. Same with glibc if necessary. > > Other packages are compiling as I write, having got to package 38 of > 105, so the environment is broadly correct. As I said, the majority of the packages will be 64-bit, so lack of a valid 32-bit compiler setting won't affect them at all. Only the toolchain packages, for the most part, will be affected, so sandbox, glibc, gcc, and maybe binutils. (I don't have a good grasp of exactly how much of binutils is multilib split, but various remarks I've read indicate that at least some of it is.) However, if you are lucky, simply setting the 32-bit compiler will put you back in good form. ... I wonder how much of your earlier problems might have the same thing? Oh, well, hindsight's always 20/20, as they say. One more thing to add to our list of things to check... -- Duncan - List replies preferred. No HTML msgs. "Every nonfree program has a lord, a master -- and if you use the program, he is your master." Richard Stallman -- gentoo-amd64@gentoo.org mailing list ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [gentoo-amd64] Re: emerge sandbox is using the wrong host id 2006-09-26 12:20 ` [gentoo-amd64] " Duncan @ 2006-09-26 12:29 ` Simon Stelling 2006-09-26 22:40 ` Peter Humphrey 2006-09-27 12:21 ` Peter Humphrey 2 siblings, 0 replies; 10+ messages in thread From: Simon Stelling @ 2006-09-26 12:29 UTC (permalink / raw To: gentoo-amd64 Duncan wrote: >> Note the "--host=i686-pc-linux-gnu". I think that's wrong: it should >> say "--host=x86_64-pc-linux-gnu", no? Continuing the log extract: > > No, that's correct in this case. I see your problem now. While most > packages you install are 64-bit only and work, sandbox has both 32-bit and > 64-bit components -- libraries that enforce sandbox restrictions in both > 32-bit and 64-bit mode. What's happening is that your 64-bit gcc is > working, but somewhere along the way, you lost a working 32-bit compiler. > With it horked, you can't compile any 32-bit stuff, including the 32-bit > part of sandbox. However, since most of the system is 64-bit and that's > working, you can compile most packages just fine. Good guess, but actually not true. It should be x86_64-pc-linux-gnu and use the -m32 flag to produce 32bit code. This is just eselect-compiler being broken. i686-pc-linux-gnu is installed by eselect-compiler. :) -- Kind Regards, Simon Stelling Gentoo/AMD64 developer -- gentoo-amd64@gentoo.org mailing list ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [gentoo-amd64] Re: emerge sandbox is using the wrong host id 2006-09-26 12:20 ` [gentoo-amd64] " Duncan 2006-09-26 12:29 ` Simon Stelling @ 2006-09-26 22:40 ` Peter Humphrey 2006-09-27 12:21 ` Peter Humphrey 2 siblings, 0 replies; 10+ messages in thread From: Peter Humphrey @ 2006-09-26 22:40 UTC (permalink / raw To: gentoo-amd64 On Tuesday 26 September 2006 12:20, Duncan wrote: > Other packages that likely won't compile will be glibc and gcc, since > they both have 32-bit aspects as well, and that's what's horked. Nope, they both compile just fine. Of those, only sandbox is causing me grief. > ... the majority of the packages will be 64-bit, so lack of a > valid 32-bit compiler setting won't affect them at all. Only the > toolchain packages, for the most part, will be affected, so sandbox, > glibc, gcc, and maybe binutils. Actually, only sandbox and module-init-tools are failing. > if you are lucky, simply setting the 32-bit compiler will put you back in > good form. I can't see why selecting a 32-bit compiler should make portage work again. Surely I need a 64-bit compiler for almost the whole system? I haven't changed any multilib flags, so I should still have both, no? For the moment I'm continuing with emerge -e world, just skipping the few packages that fail (just the two of them so far) - they still exist, after all, in their earlier state. > ... I wonder how much of your earlier problems might have the same > thing? Oh, well, hindsight's always 20/20, as they say. One more thing > to add to our list of things to check... > > -- > Duncan - List replies preferred. No HTML msgs. > "Every nonfree program has a lord, a master -- > and if you use the program, he is your master." Richard Stallman -- Rgds Peter -- gentoo-amd64@gentoo.org mailing list ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [gentoo-amd64] Re: emerge sandbox is using the wrong host id 2006-09-26 12:20 ` [gentoo-amd64] " Duncan 2006-09-26 12:29 ` Simon Stelling 2006-09-26 22:40 ` Peter Humphrey @ 2006-09-27 12:21 ` Peter Humphrey 2006-09-27 13:49 ` Duncan 2 siblings, 1 reply; 10+ messages in thread From: Peter Humphrey @ 2006-09-27 12:21 UTC (permalink / raw To: gentoo-amd64 On Tuesday 26 September 2006 12:20, Duncan wrote: > ... I wonder how much of your earlier problems might have the same > thing? Oh, well, hindsight's always 20/20, as they say. One more thing > to add to our list of things to check... I found the answer. The problem has been caused by the broken eselect-compiler. Even after it's purged from the system, it leaves debris in /usr/bin. I followed the discussion of bug 133209, which showed me how to clear up the mess. Emerge -e system is now running on a clean system, and has compiled sandbox just fine. Thanks for the help, all. -- Rgds Peter -- gentoo-amd64@gentoo.org mailing list ^ permalink raw reply [flat|nested] 10+ messages in thread
* [gentoo-amd64] Re: emerge sandbox is using the wrong host id 2006-09-27 12:21 ` Peter Humphrey @ 2006-09-27 13:49 ` Duncan 2006-09-27 14:01 ` Peter Humphrey 0 siblings, 1 reply; 10+ messages in thread From: Duncan @ 2006-09-27 13:49 UTC (permalink / raw To: gentoo-amd64 Peter Humphrey <prh@gotadsl.co.uk> posted 200609271221.46275.prh@gotadsl.co.uk, excerpted below, on Wed, 27 Sep 2006 12:21:46 +0000: > I found the answer. The problem has been caused by the broken > eselect-compiler. Even after it's purged from the system, it leaves debris > in /usr/bin. I followed the discussion of bug 133209, which showed me how > to clear up the mess. > > Emerge -e system is now running on a clean system, and has compiled sandbox > just fine. Very glad you finally got it fixed! =8^) Thanks for the fix report. -- Duncan - List replies preferred. No HTML msgs. "Every nonfree program has a lord, a master -- and if you use the program, he is your master." Richard Stallman -- gentoo-amd64@gentoo.org mailing list ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [gentoo-amd64] Re: emerge sandbox is using the wrong host id 2006-09-27 13:49 ` Duncan @ 2006-09-27 14:01 ` Peter Humphrey 2006-09-27 14:50 ` Peter Humphrey 0 siblings, 1 reply; 10+ messages in thread From: Peter Humphrey @ 2006-09-27 14:01 UTC (permalink / raw To: gentoo-amd64 On Wednesday 27 September 2006 13:49, Duncan wrote: > Very glad you finally got it fixed! =8^) Thanks for the fix report. Unfortunately, module-init-tools doesn't compile - it fails on "too many filenames given". I've opened a bug report. -- Rgds Peter -- gentoo-amd64@gentoo.org mailing list ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: [gentoo-amd64] Re: emerge sandbox is using the wrong host id 2006-09-27 14:01 ` Peter Humphrey @ 2006-09-27 14:50 ` Peter Humphrey 0 siblings, 0 replies; 10+ messages in thread From: Peter Humphrey @ 2006-09-27 14:50 UTC (permalink / raw To: gentoo-amd64 On Wednesday 27 September 2006 14:01, Peter Humphrey wrote: > Unfortunately, module-init-tools doesn't compile - it fails on "too many > filenames given". I've opened a bug report. ... which turned out to be a duplicate of 149210. I've fixed my box thus pro tem: # cat /etc/portage/env/sys-apps/module-init-tools CFLAGS="-march=k8 -Os -pipe -frename-registers -fweb -freorder-blocks -freorder-blocks-and-partition -funit-at-a-time -ftree-pre -fgcse-sm -fgcse-las -fgcse-after-reload -fmerge-all-constants" CXXFLAGS="-march=k8 -Os -pipe -frename-registers -fweb -freorder-blocks -funit-at-a-time -ftree-pre -fgcse-sm -fgcse-las -fgcse-after-reload -fmerge-all-constants"CHOST="x86_64-pc-linux-gnu" If my global flags change in /etc/make.conf, I shall probably forget to make corresponding changes to anything under /etc/portage/env. This could be avoided if those files could be used to specify flags to be deleted from the environment. Perhaps I should put in a feature request. -- Rgds Peter -- gentoo-amd64@gentoo.org mailing list ^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2006-09-27 14:54 UTC | newest] Thread overview: 10+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2006-09-26 11:18 [gentoo-amd64] emerge sandbox is using the wrong host id Peter Humphrey 2006-09-26 12:17 ` Simon Stelling 2006-09-26 22:23 ` Peter Humphrey 2006-09-26 12:20 ` [gentoo-amd64] " Duncan 2006-09-26 12:29 ` Simon Stelling 2006-09-26 22:40 ` Peter Humphrey 2006-09-27 12:21 ` Peter Humphrey 2006-09-27 13:49 ` Duncan 2006-09-27 14:01 ` Peter Humphrey 2006-09-27 14:50 ` Peter Humphrey
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox