Arif Ali wrote: > I am trying to build an RPM for one of the applications that we ship > with the customer builds, but the RPM fails to build although I have > tried the same thing before and it has worked. You have supplied an opening statement that many people say but is rarely true. "I didn't change anything. It worked before." :-) > I have a spec file which takes variables to with 32bit and 64 bit > builds. When I specify the 64 bit build it expects that one of the files > to be in lib64. But the application by default includes then in lib. Is > there anyway we can force it to expect in lib? Your description is very vague. It would be better if you supplied examples of the problem. > Below is the error message that I get: > > + /usr/lib/rpm/brp-lib64-linux > sf@xxxxxxx <mailto:sf@xxxxxxx>: if you find problems with this script, > drop me a note > /var/tmp/mpich-buildroot/opt/mpich/gcc/64/lib/shared/libmpich.so: > file format elf64-x86-64 > /var/tmp/mpich-buildroot/opt/mpich/gcc/64/lib/shared/libmpich.so: should > be in */lib64 > error: Bad exit status from /var/tmp/rpm-tmp.18556 (%install) Here is a general summary of the lib64 problem. In order to support a special case installation of two architectures (biarch support) where the native system is a 32-bit system where normally lib would hold 32-bit versions of libraries, the-powers-that-be created lib64 to hold the 64-bit versions of libraries. This way both 32-bit and 64-bit code can share on the same machine. (Unfortunately there are several problems with this simplistic hack. The multiarch model works to solve the problems with the special case biarch model. Search the web for it if you are interested in that.) On a 32/64 biarch system all projects compiling in 64-bit mode must accomodate relocating the lib directory from lib to lib64. If the project fails to do that then it will install libraries in lib. But lib in that case is the wrong directory. That appears to be your problem in the above. If the project uses the GNU autotools and the rpm spec file uses the "%configure" macro then the --libdir options will be supplied to redirect lib to lib64. Look in /usr/lib/rpm/macros for details. Other configurations will need to be considered individually. Having said all of that it could be that the script you are running "brp-lib64-linux" has a check that is too simplistic looking for this problem. In which case it provided a problem reporting address. Send a problem report to that address. If that is the problem then update the script or don't use it. > I can provide the spec file if required. That would be good. Large files are discarded by the mailing list so if you don't see it on the mailing list then you will need to split up the file and send it in smaller pieces. Bob _______________________________________________ Rpm-list mailing list Rpm-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/rpm-list