Summary: | [multilib-strict] net-dialup/ppp-2.4.3-r3 | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | José Romildo Malaquias <jrmalaq> |
Component: | Current packages | Assignee: | Gentoo Dialup Developers <net-dialup> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | amd64, sbriesen |
Priority: | High | ||
Version: | unspecified | ||
Hardware: | AMD64 | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- |
Description
José Romildo Malaquias
2005-05-10 06:16:27 UTC
Stefan, can you see what's happen? no, since it works here. But perhaps there's a special portage flag to check this (multilib?). I don't know. This error message looks like "hey, you try to install 64-Bit libs outside of /lib64 or /usr/lib64". @Jos no, since it works here. But perhaps there's a special portage flag to check this (multilib?). I don't know. This error message looks like "hey, you try to install 64-Bit libs outside of /lib64 or /usr/lib64". @José: please try to emerge net-dialup/capi4k-utils. This ebuild installs some plugins for ppp and uses /usr/lib as the location. I want to check if your problem exists there also. The amd64 machine where I have access to is 64-Bit only (no 32-Bit!). And I have no problems at all with latest ppp and capi4k-utils. @Alin: it seems, that we have to take care for the location of libs on amd64. So you should do something like this: useq amd64 && LIBDIR=/usr/lib64 || LIBDIR=/usr/lib and then use ${LIBDIR} instead of /usr/lib. Yes, according to the FHS 64bit shared libs should get installed in lib64 on multilib systems. In portage FEATURES=multilib-strict checks for this and results in the error message here. We also have a get_libdir function (multilib.eclass) to determine the correct libdir. Added a fix using this function to ppp-2.4.3-r3. No, the correct way to do it is, LIBDIR=$(get_libdir) You may need to inherit from mutlilib. This will then return the appropriate lib dir for whatever architecture - amd64 isn't the only arch with different lib directories. ok, cool. @Alin: I will add this to capi4k-utils also this evening. After testing, I ask genstef to put it into portage. @Marcus/Herbie: does 'econf' set the correct libdir? @Stefan - Yes, econf appends a --libdir=/usr/$(get_libdir) on multilib systems. You beat me to it again :) But yes it does... I hope all 64 bit arches have a symlink /usr/lib -> /usr/lib64. ppp search its plugins in _PATH_PLUGINS, which is /usr/lib/ppp/2.4.3. Of course, user could specify the full path to plugin. Right now amd64 does have /usr/lib -> /usr/lib64 yes. This will be removed in the future though. _PATH_PLUGINS is defined in pathnames.h which is why I added the sed line to correct this so that nothing will break once the simlink is removed. @Alin: the symlink exists. The problem is, that portage checks the location. if you try to put 64-Bit libs into /usr/lib, the portage is angry with you. ;) At least if you use 'multilib'. So I will test the ebuild with multilib and then I create a (hopefully) simple patch for capi4k-utils. Problem: capi4k-utils doesn't use 'econf', not even 'configure'. At least not directly. If your ebuild uses 'econf' then you don't have any troubles (as long as you don't copy or move some libs later). Huh, I still have a question. ;) firmware files go to /lib/firmware. Where should they be located on 64-Bit? in /lib/firmware or in /lib64/firmware? In the next few hours I will submit a reorganized net-dialup/ppp. ppp-2.4.2-r10 will be fixed too. |