views:

33

answers:

2

I'm working on an RPM spec for centos and it needs to install the shared libraries to /usr/lib64 if the arch is 64 bit and /usr/lib otherwise?

A: 

The path a library is installed into would be determined by the type of package you are creating.

JadziaMD
I need to write the .spec file to make this happen and in the .spec file I need to add the install locations for each file. How do I specify this?
Arthur Ulfeldt
There are macros for the standard installation locations. For a general listing: http://www.rpm.org/api/4.4.2.2/config_macros.html . Your target distribution may add more.
JadziaMD
+1  A: 

That's not how it's supposed to work. It's not the kernel type that should determine where your libraries go, but the library types themselves - 64-bit .so's go to /usr/lib64, 32-bit to /usr/lib.

You can't have one RPM contain both architectures, the result should be 2 different RPMs, and if I am not mistaken RPM macros should resolve this for you if you use %_libdir.

m1tk4
Does seem obvious when you put it that way :) %_libdir yay!
Arthur Ulfeldt