Ask Your Question

multilib packaging policy

asked 2012-05-27 06:58:05 -0500

Meeuw gravatar image

updated 2014-09-28 11:14:09 -0500

mether gravatar image


I would like to know what the multilib packaging policy is. What files are installed for x86_64 in /usr/lib and /lib ?

Thanks in advance

edit retag flag offensive close merge delete

2 Answers

Sort by ยป oldest newest most voted

answered 2012-05-27 08:27:22 -0500

FranciscoD_ gravatar image

From F17, /lib is only a symlink to /usr/lib etc. Please read this feature page for more details.

Information on directories is here:

edit flag offensive delete link more

answered 2012-05-28 03:04:42 -0500

misc gravatar image

The multilib policy is the split between /lib64 and /lib, and was done by several distribution in order to support old 32 bits software on a 64 bits system.

x86_64 processor have a compatibility mode that let them run x86 ( ie 32 bits ) instructions. You can install a 32 bits system and start it. But the kernel can also switch in this mode on demand, for a single binary.

So for example, on Linux ( and also on windows ), you can install some software compiled for 32 bits ( let's say a old game ) and start it, provided all libraries are present.

The multilib policy is just a packaging policy saying that 32 bits library goes to /usr/lib ( or /lib ), and 64 bits goes to /lib64 or /usr/lib64.

Rpm can handle installation of a rpm with same name and different architectures, but that cannot have the same file ( unless the file is the same, ie documentation ). So if you want to have 2 versions of a file, it has to installed on 2 different locations, hence the separation.

Everything is mostly transparent to the packager. x86864 rpm requires what they need in the correct arch, files are placed on the right directory almost automatically ( most of the time ). You just need to say to use %_libdir.

edit flag offensive delete link more

Question Tools


Asked: 2012-05-27 06:58:05 -0500

Seen: 959 times

Last updated: May 28 '12