[CMake] Using CPack to include shared libraries in rpms

Robert Knapke knapkerd5 at gmail.com
Sat Feb 20 13:05:59 EST 2010


Eric,

The reason I asked my original question was because a user of ours who was
trying to install the project (using yum) was unable to install it (and it
displayed the boost python library as a missing dependency).  If I am
building the boost libraries on my computer, would you suggest I just create
another rpm with the missing dependency (or maybe all of the boost
libraries?), or should I find it on one of the rpm sites and send that?  Is
it better if I do it myself, or use an rpm at one of those sites?  I see the
former as being easier for me as I expect that I may have to send these to
several people, and I dont want the user to have to find things.

Thanks for all of your helpful suggetsions.

--Robert
On Sat, Feb 20, 2010 at 10:15 AM, Eric Noulard <eric.noulard at gmail.com>wrote:

> 2010/2/20 Hendrik Sattler <post at hendrik-sattler.de>:
> > Am Samstag 20 Februar 2010 01:27:20 schrieb Robert Knapke:
> >> My CMake project links a boost python shared library when builiding the
> >> libraries and executables.  I am using CPack to make an rpm of my
> project,
> >> but the boost python shared library is not included in the rpm.  So when
> >>  the user tries to install the rpm, it asks for this boost python shared
> >>  library.  However, I do not want to make the user download and compile
> >>  boost.  Is there a way to include this library in the rpm using CPack?
>
> You may find documentation about CPackRPM
> on the Wiki:
> http://www.cmake.org/Wiki/CMake:CPackPackageGenerators#RPM_.28Unix_Only.29
>
> and from the command line (since CMake 2.8.0):
>
> cmake --help-module CPackRPM
>
> > At least for RPM and DEB, you do _not_ include foreign libraries in a
> package!
> > Boost should be available pre-compiled as RPM. If not, ship it as
> additional
> > RPM package.
>
> Hendrik is right it is not a good idea to embed third party shared
> libraries in your RPM/DEB.
> DEB and RPM are meant to handle dependencies between appropriate
> version of RPMs.
>
> Try to run the following command:
>
> rpm -qp --requires <your_CPack_generated.rpm>
>
> and you'll find the requirements for the generated RPMs.
>
> Most of the time RPM installing tools (yum, urpmi, zypper etc...)
> [the same is true for apt-xxx/aptitude/synaptic etc...]
> may find the missing RPMs in standard "repositories".
>
> If they don't try to find for yourself with appropriate RPM search engines:
> http://rpm.pbone.net/
> http://www.rpmfind.net/
> ...
>
>
> --
> Erk
> Membre de l'April - « promouvoir et défendre le logiciel libre » -
> http://www.april.org
> _______________________________________________
> Powered by www.kitware.com
>
> Visit other Kitware open-source projects at
> http://www.kitware.com/opensource/opensource.html
>
> Please keep messages on-topic and check the CMake FAQ at:
> http://www.cmake.org/Wiki/CMake_FAQ
>
> Follow this link to subscribe/unsubscribe:
> http://www.cmake.org/mailman/listinfo/cmake
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.cmake.org/pipermail/cmake/attachments/20100220/42b9054f/attachment.htm>


More information about the CMake mailing list