View previous topic :: View next topic |
Author |
Message |
wiktorw n00b
Joined: 14 Dec 2004 Posts: 39 Location: Lodz, Poland
|
Posted: Wed Mar 23, 2005 3:36 am Post subject: compilation problems while switching to 2005.0 [SOLVED] |
|
|
During my attempt to switch profile to 2005.0 I've noticed a problem with gcc 3.4.3 and glibc recompilation.
First, gcc was unable to compile itself with USE=multilib enabled. It was trying to link against 32-bit library,
which has been removed by recent system update. This error was triggered because I've had a multilib-enabled
system for a while and I didn't notice that after one of the "emerge --sync ; emerge -avu world" somehow
that multilib flag disappeared...
The net result was that I was unable to get mulitilib system back on track. I used the following procedure to
overcome this problem:
1. Create an empty filesystem on spare partition and mount it
2. Unpack 2004.3 stage3 there
3. Copy over the portage tree (or portage snapshot)
4. Copy /etc files (make.conf, resolv.conf, rc.conf, fstab, etc), thus getting a "spare system"
5. On the working system: quickpkg gcc
6. Copy (or "mount --bind") /usr/portage/packages to the "spare system"
7. chroot into "spare system"
8. emerge -avK gcc
In such "spare" environment I was able to build gcc with added multilib flag. Then similar procedure
("quickpkg gcc" on spare system, and "emerge -avK gcc" on working system) and I've had back
multilib-enabled gcc again.
Then I went to recompiling glibc. And its configure script gave me strange error, saying it cannot
compute a size of "long double". After fiddling with "config.log" I noticed that this step failed because
the test C program was unable to open a file in sandboxed environment. Having a clue in the migration
guide I tried:
Code: | # FEATURES=-sandbox emerge -avu glibc |
And this helped
If someone out there is having a similar problem, maybe it will help him/her too.
[EDIT]
It turned out quickly that recompiling gcc with:
Code: | # emerge -avu --newuse system |
also gave me error from configure script. So I tried something similar:
Code: | # FEATURES=-sandbox emerge -avu --newuse system |
which helped again.
Now I'm thinking whether my sandbox is broken or not... _________________ Change is the only constant in the universe.
Heraclitus |
|
Back to top |
|
|
wiktorw n00b
Joined: 14 Dec 2004 Posts: 39 Location: Lodz, Poland
|
Posted: Wed Mar 30, 2005 6:39 pm Post subject: multilib + sandbox are back on my 2005.0 migrated profile |
|
|
Hooray!
I've read somewhere in the forums that in order to successfuly migrate to 2005.0 profile one has to emerge many small things. Apart from the workaround I've described above, I needed these:
Code: | # echo "=app-emulation/emul-linux-x86-gtklibs-1.2-r1 ~amd64" >> /etc/portage/package.keywords
# emerge -av emul-linux-x86-gtklibs
# emerge -av portage |
Then finally, everything went back to normal. Multilib support is back after remerging gcc & glibc, sandbox support is back after remerging portage, and openoffice-bin works again after merging gtklibs emulation.
Whew! If one knows what to do, it's easy. Otherwise one needs about a week or so to bring the system to normality.
Meanwhile, a new, clean Gentoo installation based on 2005.0 profile is finishing compiling. Sometimes it's the best solution _________________ Change is the only constant in the universe.
Heraclitus |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|