| Summary: | emul-linux-x86-compat/baselibs breaks multilib environment on amd64/selinux | ||
|---|---|---|---|
| Product: | Gentoo Linux | Reporter: | Michael Crawford (ali3nx) <mcrawford> |
| Component: | Hardened | Assignee: | SE Linux Bugs <selinux> |
| Status: | RESOLVED FIXED | ||
| Severity: | major | ||
| Priority: | High | ||
| Version: | 2005.1 | ||
| Hardware: | AMD64 | ||
| OS: | Linux | ||
| Whiteboard: | |||
| Package list: | Runtime testing required: | --- | |
|
Description
Michael Crawford (ali3nx)
2006-03-12 06:26:39 UTC
Considering my current situation I had a look around the profile for selinux/amd64 and stumbled upon the following from make.defaults in the profile. <snip> # This profile doesn't fully support multilib portage yet. We still rely # on the emul-* packages. As such, we have -multilib-pkg here to emphasise # that point. FEATURES="-multilib-pkg" </snip> It's apparent this has an intended purpose but in retrospect the same emul libs break the base system if added. I managed to find a cached page of blubb's now depreciated pre 2005.0 multilib upgrade guide and after some review i've discovered that /usr/lib32 had been removed and emul baselibs added in it's place as the above restriction would imply. By the disparate intentions of design; this bug creates a circular lib breakage problem, with this profile not fully supporting multilib yet the emul libs requiring more modern multilib support which unless provided removes /usr/lib32 with a pleasant bork-bork-bork warning lol... I have managed to marginally fix my server by remaking /usr/lib32 and following the steps listed in blubb's guide with one or two exceptions which defeated the warning offered by portage that is possibly caused by the non existance of /usr/lib32. <snip> # mkdir /lib32 /usr/lib32 # cp # mkdir /lib32 /usr/lib32 # cp /emul/linux/x86/lib32/libsandbox.so /usr/lib32 # cp /emul/linux/x86/usr/lib32/libsandbox.so /usr/lib32 # cp /emul/linux/x86/usr/lib32/libc.so /usr/lib32 # cp /emul/linux/x86/usr/lib32/libpthread.so /usr/lib32 # cp /emul/linux/x86/usr/lib32/*crt*.o /usr/lib32 # env-update </snip> /lib32 which was a symlink to /emul/linux/x86/usr/lib32/ in <=2004.3 amd64 allready exists and was never removed and libsandbox.so does not exist any longer in /emul/linux/x86/lib32/ due to the sandbox bugs that were previously addressed in <=sys-apps/portage-2.0.51.22-r3 and most likely that the location was depreciated. I'll keep at it and relay any more information I can offer. Perhaps with 2.0.54 portage being available for some time now full multilib support for selinux/2006.0/amd64 could be addressed. shouldn't be a problem anymore now that 2007.1 profiles inherit default-linux/$arch profiles |