State of multilib development update

Hans de Goede j.w.r.degoede at hhs.nl
Sat Nov 4 10:22:02 UTC 2006



dragoran wrote:
> I would like to add this:
> i386-devel packages do not create the symlinks needed by ld to find a lib.
> ld -lX11 will search for libX11.so
> If you have libX11-devel.x86_64 installed there will be a symlink
> /usr/lib64/libX11.so -> /usr/lib64/libX11.so.6.2.0 which is ok and works.
> But if you have installed libX11-devel.i386 there is no symlink which
> results into ld is unable to find the lib.
> libX11 was just an example, this happens with ALL i386-devel packages.
> 

Wrong,

The foo-devel packages does install the symlink and it requires foo to
ensure that the target of the symlink is there, however since foo.x86_64
is already installed, the requires: foo will be fullfilled and foo.i386
 won't get installed. The trick is to learn yourself todo:
yum -y install foo.i386 foo-devel.i386
instead of just:
yum -y install foo-devel.i386

The same must be done for x86_64 btw, because otherwise if
foo-devel.x86_64 is newer then the installed foo.x86_64, then the
requires: foo = %{version}-%{release} will not be met and thus
foo.x86_64 will get updated and foo.i386 will get installed (since
yum doesn't know which if these 2 foo's to install to match the requires
it installs both).

Thus the proper way to install a foo-devel.x86_64 is:
yum -y install foo.x86_64 foo-devel.x86_64

Otherwise foo.i386 might get installed as an unwanted side effect.

I think we really should put this all in the wiki somewhere, suggestions
where?

Regards,

Hans




More information about the fedora-extras-list mailing list