Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 464404 - >=sys-fs/udev-197-r8 and =sys-apps/kmod-12-r1 installing library files in / not /lib
Summary: >=sys-fs/udev-197-r8 and =sys-apps/kmod-12-r1 installing library files in / ...
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: x86 Linux
: Normal normal
Assignee: udev maintainers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2013-04-03 20:19 UTC by Peter Fox
Modified: 2013-04-04 08:02 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
emerge --info (emergeinfo,5.74 KB, text/plain)
2013-04-03 20:22 UTC, Peter Fox
Details
build.log for udev-200 (build.log,566.82 KB, text/plain)
2013-04-03 20:51 UTC, Peter Fox
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Peter Fox 2013-04-03 20:19:49 UTC
One of my machines puts udev and kmod libraries in / and /usr, which means no other packages depending on udev can find them. This happens with udev-1.97-r8 and udev-200

Reproducible: Always

Steps to Reproduce:
1. emerge -1 udev kmod
2.
3.
Actual Results:  
Emerge complete ok, but ls -l /*udev* /*kmod* gives:
lrwxrwxrwx 1 root root    16 Apr  3 17:55 /libkmod.so.2 -> libkmod.so.2.2.2
-rwxr-xr-x 1 root root 95888 Apr  3 17:55 /libkmod.so.2.2.2
lrwxrwxrwx 1 root root    16 Apr  3 21:11 /libudev.so.1 -> libudev.so.1.3.1
-rwxr-xr-x 1 root root 79100 Apr  3 21:11 /libudev.so.1.3.1
and ls -l /usr/*udev*:
lrwxrwxrwx 1 root root    21 Apr  3 21:11 /usr/libgudev-1.0.so -> libgudev-1.0.so.0.1.3
lrwxrwxrwx 1 root root    21 Apr  3 21:11 /usr/libgudev-1.0.so.0 -> libgudev-1.0.so.0.1.3
-rwxr-xr-x 1 root root 38060 Apr  3 21:11 /usr/libgudev-1.0.so.0.1.3
lrwxrwxrwx 1 root root    20 Apr  3 21:11 /usr/libudev.so -> ..//libudev.so.1.3.1



Expected Results:  
Libraries should go in /lib /usr/lib like on all the other machines.

The machine with the problem has /usr mounted separately.
Comment 1 Peter Fox 2013-04-03 20:22:03 UTC
Created attachment 344280 [details]
emerge --info
Comment 2 Peter Fox 2013-04-03 20:26:07 UTC
emerge --info udev end bit:

=================================================================
                        Package Settings
=================================================================

sys-fs/udev-200 was built with the following:
USE="acl firmware-loader gudev hwdb kmod openrc -doc -introspection -keymap (-selinux) -static-libs"
Comment 3 Samuli Suominen (RETIRED) gentoo-dev 2013-04-03 20:36:09 UTC
Provide a complete build.log here for starters.
Comment 4 Peter Fox 2013-04-03 20:51:01 UTC
Created attachment 344282 [details]
build.log for udev-200
Comment 5 Ben Kohler gentoo-dev 2013-04-03 21:19:45 UTC
Seems like get_libdir from multilib.eclass is returning an empty string instead of 'lib' on your setup.  I bet this breaks a lot more than just udev.
Comment 6 Peter Fox 2013-04-03 22:11:05 UTC
Thanks I had put

DEFAULT_ABI="x86"

in my make.conf which seemed to break it.

Now I've commented it out it seems better.

I don't understand the multilib stuff properly is there a straight forward writeup anywhere? Perhaps it could be added to/referred to from the safe cflags page?

Could there be a sanity checker for multilib, like for java?
Comment 7 Samuli Suominen (RETIRED) gentoo-dev 2013-04-04 05:19:36 UTC
Closing as per Comment #6
Comment 8 Samuli Suominen (RETIRED) gentoo-dev 2013-04-04 08:02:33 UTC
(In reply to comment #6)
> Thanks I had put
> DEFAULT_ABI="x86"
> in my make.conf which seemed to break it.
> Now I've commented it out it seems better.

Yeah, just don't do that.

If you need help for using multilib, I would suggest starting with http://forums.gentoo.org/ instead.

> I don't understand the multilib stuff properly is there a straight forward
> writeup anywhere? Perhaps it could be added to/referred to from the safe
> cflags page?

I don't see how this is related to *flags except remotely, with -m32 type of flags.

> Could there be a sanity checker for multilib, like for java?

There is FEATURES="multilib-strict" but I don't think it will catch thesetype of issues, or even should. Overriding any major eclass/profiles variable can break the system in a minute, not something that is multilib specific.