View previous topic :: View next topic |
Author |
Message |
tuxfan Apprentice
Joined: 14 Feb 2003 Posts: 257
|
Posted: Thu Mar 17, 2005 1:09 pm Post subject: empty /lib32 direction |
|
|
Hi,
I've tried to change from 2004.3 to 2005.0, because I want to install wine. But now I have a problem that my /lib32 is empty and so a few applications do not run. I think I made a mistake by switching the versions. Can anyone tell me what do I have to do now for getting the files in /lib32 back? I've tried to recompile gcc, but I get an error that a file called libc.so could not be found.
Now I am trying to recompile the glibc, but I don't wheather this is the correct way. Can someone please give me a short description what I have to do now?
Thanks in advance. |
|
Back to top |
|
|
herbie Guru
Joined: 09 Oct 2002 Posts: 319 Location: London UK
|
Posted: Thu Mar 17, 2005 1:47 pm Post subject: |
|
|
Please follow the upgrade guide: http://amd64.gentoo.org/2005.0-upgrade-amd64.xml
Looks like you at least missed the part where it tells you to copy some files from /emul/linux to /lib32. Probably best to follow the manual instruction as the script does seem to have posed some problems for a lot of people. |
|
Back to top |
|
|
tuxfan Apprentice
Joined: 14 Feb 2003 Posts: 257
|
Posted: Thu Mar 17, 2005 1:55 pm Post subject: |
|
|
I've tried the guide, but I do not have a libsandbox.so
So I have tried to recompile my gcc with Code: | USE="multilib" FEATURES="-sandbox" emerge --oneshot gcc |
But I get always the following error
Code: | make[4]: Leaving directory `/var/tmp/portage/gcc-3.4.3-r1/work/build/gcc'
./xgcc -B./ -B/usr/x86_64-pc-linux-gnu/bin/ -isystem /usr/x86_64-pc-linux-gnu/include -isystem /usr/x86_64-pc-linux-
gnu/sys-include -L/var/tmp/portage/gcc-3.4.3-r1/work/build/gcc/../ld -O2 -DIN_GCC -W -Wall -Wwrite-strings -Wstr
ict-prototypes -Wmissing-prototypes -Wold-style-definition -isystem ./include -fPIC -DHAVE_SYSLOG -g -DHAVE_GTHR_D
EFAULT -DIN_LIBGCC2 -D__GCC_FLOAT_NOT_NEEDED -D_LIBC_PROVIDES_SSP_ -shared -nodefaultlibs -Wl,--soname=libgcc_s.so.
1 -Wl,--version-script=libgcc/32/libgcc.map -o 32/libgcc_s.so.1.tmp -m32 libgcc/32/_muldi3.o libgcc/32/_negdi2.o l
ibgcc/32/_lshrdi3.o libgcc/32/_ashldi3.o libgcc/32/_ashrdi3.o libgcc/32/_cmpdi2.o libgcc/32/_ucmpdi2.o libgcc/32/_fl
oatdidf.o libgcc/32/_floatdisf.o libgcc/32/_fixunsdfsi.o libgcc/32/_fixunssfsi.o libgcc/32/_fixunsdfdi.o libgcc/32/_
fixdfdi.o libgcc/32/_fixunssfdi.o libgcc/32/_fixsfdi.o libgcc/32/_fixxfdi.o libgcc/32/_fixunsxfdi.o libgcc/32/_float
dixf.o libgcc/32/_fixunsxfsi.o libgcc/32/_fixtfdi.o libgcc/32/_fixunstfdi.o libgcc/32/_floatditf.o libgcc/32/_clear_
cache.o libgcc/32/_enable_execute_stack.o libgcc/32/_trampoline.o libgcc/32/__main.o libgcc/32/_absvsi2.o libgcc/32/
_absvdi2.o libgcc/32/_addvsi3.o libgcc/32/_addvdi3.o libgcc/32/_subvsi3.o libgcc/32/_subvdi3.o libgcc/32/_mulvsi3.o
libgcc/32/_mulvdi3.o libgcc/32/_negvsi2.o libgcc/32/_negvdi2.o libgcc/32/_ctors.o libgcc/32/_ffssi2.o libgcc/32/_ffs
di2.o libgcc/32/_clz.o libgcc/32/_clzsi2.o libgcc/32/_clzdi2.o libgcc/32/_ctzsi2.o libgcc/32/_ctzdi2.o libgcc/32/_po
pcount_tab.o libgcc/32/_popcountsi2.o libgcc/32/_popcountdi2.o libgcc/32/_paritysi2.o libgcc/32/_paritydi2.o libgcc/32/_stack_smash_handler.o libgcc/32/_divdi3.o libgcc/32/_moddi3.o libgcc/32/_udivdi3.o libgcc/32/_umoddi3.o libgcc/32/_udiv_w_sdiv.o libgcc/32/_udivmoddi4.o libgcc/32/unwind-dw2.o libgcc/32/unwind-dw2-fde-glibc.o libgcc/32/unwind-sjlj.o libgcc/32/gthr-gnat.o libgcc/32/unwind-c.o -lc && rm -f libgcc_s_32.so && if [ -f 32/libgcc_s.so.1 ]; then mv-f 32/libgcc_s.so.1 32/libgcc_s.so.1.`basename `; else true; fi && mv 32/libgcc_s.so.1.tmp 32/libgcc_s.so.1 && ln -s 32/libgcc_s.so.1 libgcc_s_32.so
/usr/x86_64-pc-linux-gnu/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3/../../../libc.so whensearching for -lc
/usr/x86_64-pc-linux-gnu/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-pc-linux-gnu/3.4.3/../../../libc.a when searching for -lc
/usr/x86_64-pc-linux-gnu/bin/ld: skipping incompatible /usr/lib/libc.so when searching for -lc
/usr/x86_64-pc-linux-gnu/bin/ld: skipping incompatible /usr/lib/libc.a when searching for -lc
/usr/x86_64-pc-linux-gnu/bin/ld: cannot find -lc
collect2: ld gab 1 als Ende-Status zurück
make[3]: *** [32/libgcc_s_32.so] Fehler 1
make[3]: Leaving directory `/var/tmp/portage/gcc-3.4.3-r1/work/build/gcc'
make[2]: *** [stmp-multilib] Fehler 2
make[2]: Leaving directory `/var/tmp/portage/gcc-3.4.3-r1/work/build/gcc'
make[1]: *** [stage1_build] Fehler 2
make[1]: Leaving directory `/var/tmp/portage/gcc-3.4.3-r1/work/build/gcc'
make: *** [profiledbootstrap] Fehler 2
|
|
|
Back to top |
|
|
herbie Guru
Joined: 09 Oct 2002 Posts: 319 Location: London UK
|
Posted: Thu Mar 17, 2005 3:48 pm Post subject: |
|
|
Go back to 2004.3 profile, make sure:
Code: | /etc/make.profile -> ../usr/portage/profiles/default-linux/amd64/2004.3 |
then make sure that your lib32 symlinks are corrent:
Code: | /lib32 -> /emul/linux/x86/lib
/usr/lib32 -> /emul/linux/x86/usr/lib |
install latest emul-libs:
Code: | emerge emul-linux-x86-glibc emul-linux-x86-compat emul-linux-x86-baselibs |
Then emerge gcc as you did before:
Code: | USE="multilib" FEATURES="-sandbox" emerge --oneshot gcc |
Assuming this works you can then emerge portage to get a 32bit sandbox and then follow the 2005.0 upgrade guide. |
|
Back to top |
|
|
tuxfan Apprentice
Joined: 14 Feb 2003 Posts: 257
|
Posted: Thu Mar 17, 2005 4:28 pm Post subject: |
|
|
Thanks, your instruction works perfectly for me. Now I got back a working 2004.3 and can trying to switch to 2005.0 again. |
|
Back to top |
|
|
taskara Advocate
Joined: 10 Apr 2002 Posts: 3763 Location: Australia
|
Posted: Sat Apr 02, 2005 10:30 pm Post subject: |
|
|
Hi, I am having the same problem when trying to install from stage3 tarball.
Code: | ind-sjlj.o libgcc/32/gthr-gnat.o libgcc/32/unwind-c.o -lc && rm -f libgcc_s_32.so && if [ -f 32/libgcc_s.so.1 ]; then mv -f 32/libgcc_s.so.1 32/libgcc_s.so.1.backup; else true; fi && mv 32/libgcc_s.so.1.tmp 32/libgcc_s.so.1 && ln -s 32/libgcc_s.so.1 libgcc_s_32.so
/usr/x86_64-pc-linux-gnu/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-pc-linux-gnu/../../libc.so when searching for -lc
/usr/x86_64-pc-linux-gnu/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-pc-linux-gnu/../../libc.a when searching for -lc
/usr/x86_64-pc-linux-gnu/bin/ld: skipping incompatible /usr/lib/libc.so when searching for -lc
/usr/x86_64-pc-linux-gnu/bin/ld: skipping incompatible /usr/lib/libc.a when searching for -lc
/usr/x86_64-pc-linux-gnu/bin/ld: cannot find -lc
collect2: ld returned 1 exit status
make[3]: *** [32/libgcc_s_32.so] Error 1
make[3]: Leaving directory `/var/tmp/portage/gcc-3.4.3.20050110-r1/work/build/gcc'
make[2]: *** [stmp-multilib] Error 2
make[2]: Leaving directory `/var/tmp/portage/gcc-3.4.3.20050110-r1/work/build/gcc'
make[1]: *** [stage1_build] Error 2
make[1]: Leaving directory `/var/tmp/portage/gcc-3.4.3.20050110-r1/work/build/gcc'
make: *** [profiledbootstrap] Error 2
|
However I am using the hardened profile
Code: | ls -l /etc/make.profile
lrwxrwxrwx 1 root root 37 Mar 31 03:16 /etc/make.profile -> /usr/portage/profiles/hardened/amd64/ |
and I do not want a 32bit system, but a pure 64bit system.
I do not have multilib, n32 or emul-linux in my USE flags, but I do have n64.
Is there a way I can get past this error without having to emerge 32bit libraries?
Cheers _________________ Kororaa install method - have Gentoo up and running quickly and easily, fully automated with an installer! |
|
Back to top |
|
|
My_World Guru
Joined: 01 Sep 2003 Posts: 339 Location: Kalahari Desert
|
|
Back to top |
|
|
|