View previous topic :: View next topic |
Author |
Message |
joekickass n00b
Joined: 19 Mar 2012 Posts: 18 Location: Sweden
|
Posted: Sun Jan 27, 2013 12:24 pm Post subject: [SOLVED] multilib question - missing 32-bit libncurses |
|
|
Hi,
I'm having problems executing a precompiled 32-bit binary on my 64-bit installation of Gentoo:
Code: |
# file adb
adb: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), for GNU/Linux 2.6.8, not stripped
# ldd adb
linux-gate.so.1 (0xf77d8000)
librt.so.1 => /lib32/librt.so.1 (0xf77bc000)
libncurses.so.5 => not found
libpthread.so.0 => /lib32/libpthread.so.0 (0xf77a2000)
libstdc++.so.6 => /usr/lib/gcc/x86_64-pc-linux-gnu/4.6.3/32/libstdc++.so.6 (0xf76b8000)
libm.so.6 => /lib32/libm.so.6 (0xf7691000)
libgcc_s.so.1 => /usr/lib/gcc/x86_64-pc-linux-gnu/4.6.3/32/libgcc_s.so.1 (0xf7675000)
libc.so.6 => /lib32/libc.so.6 (0xf74ec000)
libdl.so.2 => /lib32/libdl.so.2 (0xf74e8000)
/lib/ld-linux.so.2 (0xf77d9000)
|
Reason is a missing 32-bit lib of ncurses. My question is, how do I go about installing this 32-bit lib? I though I was using a multilib profile:
Code: |
# eselect profile list
...
[2] default/linux/amd64/10.0/selinux
[3] default/linux/amd64/10.0/desktop *
[4] default/linux/amd64/10.0/desktop/gnome
...
|
Checking the ncurses package shows it is using the multilib USE flag, but (as I understand the brackets) it is not supported by my current profile? Thus, the 32-bit lib is missing under /lib32
Code: |
# emerge --info ncurses
...
sys-libs/ncurses-5.9-r2 was built with the following:
USE="cxx gpm (multilib) unicode -ada -debug -doc -minimal -profile -static-libs -tinfo -trace"
...
|
How does multilib and profiles work together? Is there another multilib profile I should use instead?
Thanks
/ Tomas
Last edited by joekickass on Tue Jan 29, 2013 5:56 pm; edited 1 time in total |
|
Back to top |
|
|
padoor Advocate
Joined: 30 Dec 2005 Posts: 4185 Location: india
|
Posted: Sun Jan 27, 2013 5:33 pm Post subject: |
|
|
libncursess05 and libncursess059 and libncurseswso.5 and libncursesw.5.9 are present in my gentoo amd64 /lib32
and so in /lib64 all these are present.
i feel you can try copy to lib32 , if it does not work remove it.
i installed stage3 amd64 mltilib tar file _________________ reach out a little bit more to catch it (DON'T BELIEVE the advocate part under my user name) |
|
Back to top |
|
|
DaggyStyle Watchman
Joined: 22 Mar 2006 Posts: 5909
|
Posted: Sun Jan 27, 2013 5:40 pm Post subject: |
|
|
check if app-emulation/emul-linux-x86-baselibs is installed. _________________ Only two things are infinite, the universe and human stupidity and I'm not sure about the former - Albert Einstein |
|
Back to top |
|
|
joekickass n00b
Joined: 19 Mar 2012 Posts: 18 Location: Sweden
|
Posted: Mon Jan 28, 2013 6:32 am Post subject: |
|
|
DaggyStyle wrote: | check if app-emulation/emul-linux-x86-baselibs is installed. |
I'll check as soon as I get home from work today. Thanks...
Quote: |
i installed stage3 amd64 mltilib tar file
|
Good point, can't remember if I used a multilib stage3 or a non-multilib,but if ncurses is part of stage3 tarball it could very well be the reason they are missing. Strange that re-emerging ncurses didn't get me the 32-bit versions though...
If DaggyStyle's suggestion don't work out, I'll try to symlink, but I doubt it will work... =)
/ Tomas |
|
Back to top |
|
|
yngwin Retired Dev
Joined: 19 Dec 2002 Posts: 4572 Location: Suzhou, China
|
Posted: Mon Jan 28, 2013 7:59 am Post subject: |
|
|
At this point, multilib only means you have the capability of installing 32-bits stuff in parallel to standard 64-bits stuff. This doesn't mean all things you install will be both 32-bits and 64-bits. Far from it. You will need emul-x86-* packages to get specific 32-bits libs, and they don't cover everything.
For what you want multilib to be, you will need to use the multilib overlay, or what is being worked on on the dev mailinglist. _________________ "Those who deny freedom to others deserve it not for themselves." - Abraham Lincoln
Free Culture | Defective by Design | EFF |
|
Back to top |
|
|
joekickass n00b
Joined: 19 Mar 2012 Posts: 18 Location: Sweden
|
Posted: Tue Jan 29, 2013 5:53 pm Post subject: |
|
|
yngwin wrote: | At this point, multilib only means you have the capability of installing 32-bits stuff in parallel to standard 64-bits stuff. This doesn't mean all things you install will be both 32-bits and 64-bits. Far from it. You will need emul-x86-* packages to get specific 32-bits libs, and they don't cover everything.
For what you want multilib to be, you will need to use the multilib overlay, or what is being worked on on the dev mailinglist. |
Ah, the final piece of the puzzle.
After installing app-emulation/emul-linux-x86-baselibs I can now find libncurses* under /lib32.
Problem solved with excellent answer to my questions! |
|
Back to top |
|
|
|