LinuxQuestions.org

LinuxQuestions.org (/questions/)
-   Linux - Software (https://www.linuxquestions.org/questions/linux-software-2/)
-   -   Rpmbuild issues - how to use a particular library (https://www.linuxquestions.org/questions/linux-software-2/rpmbuild-issues-how-to-use-a-particular-library-4175547189/)

terry-duell 07-03-2015 10:39 PM

Rpmbuild issues - how to use a particular library
 
Excuse what is a bit of a long story, but not sure how to explain the problem clearly otherwise.
I regularly build rpm packages of hugin and darktable, both have a dependency on exiv2. The current Fedora 21 repo version is exiv2-0.24.
I needed exiv2-0.25 for darktable for new camera support.
I can't use rpmbuild to build and install exiv2-0.25 as it will break binary compatibility with quite a few installed packages; it provides libexiv2.so.14, whereas exiv2-0.24 provides libexiv2.so.13.
To get around this I did a local build of exiv2-0.25 (not using rpmbuild or package manager), and installed in /usr/local, so I now have libexiv2.so.14 in /usr/local/lib, and libexiv2.so.13 in /usr/lib64 which is known by the rpm database.
I then did a local build of darktable, which automatically linked to libexiv2.so.14, and I installed in /usr/local.
Now this is where the trouble starts! I now want to continue to use rpmbuild to build hugin, and this goes OK until I try to install the package and I find the builds now depend on libexiv2.so.14, which the rpm database doesn't believe is installed. The rpmbuild of hugin finds the libexiv2 in /usr/local/lib and not the one in /usr/lib64.
A couple of additional relevant details. The hugin build uses cmake, and I have control over how cmake is called in my .spec file, but I don't have any control over the hugin CmakeLists.txt file.
How can I get the hugin build to use the libexiv2 in /usr/lib64?...or more specifically, if it is a proper question, is there a way to specify where cmake looks for libs on the command line call to cmake?

Cheers,
Terry

unSpawn 07-04-2015 02:45 AM

Quote:

Originally Posted by terry-duell (Post 5386957)
I can't use rpmbuild to build and install exiv2-0.25 as it will break binary compatibility with quite a few installed packages;

Yes you can if you use a virtual server (or maybe using one of the build services out there)?

terry-duell 07-04-2015 05:33 PM

Quote:

Originally Posted by unSpawn (Post 5387026)
Yes you can if you use a virtual server (or maybe using one of the build services out there)?

Do you mean something like Fedora's 'mock'?
How is that going to help? Do you mean build exiv2-0.25, and All the other packages I have installed that depend on exiv2, in mock, then install the lot?

Cheers,
Terry

terry-duell 07-05-2015 12:08 AM

Whoops...I think I picked up the wrong end of the stick!
I guess you mean build hugin in mock, or similar. Yes I could, but I think I found a simpler way.
Just 'make uninstall' in my exiv2-0.25 src dir, which gets rid of libexiv2.so.14, build and install hugin, then 'make install' in exiv2 dir again.
A bit of a nasty way around my predicament, but certainly simpler than building a virtual machine.
Thanks for your help, and sorry for not paying attention!

Cheers,
Terry


All times are GMT -5. The time now is 11:59 PM.