You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@qpid.apache.org by "Shearer, Davin" <ds...@novetta.com> on 2014/01/20 17:10:15 UTC

How the experts build and package releases

I need to build and package qpid with amqp 1.0 support with dynamic queue
creation and auto-delete on close.  Target platforms are RHEL6 and RHEL5
(OpenSuSe is a nice bonus) which are all RPM-based.

These systems come with their own versions of qpid and boost, so the
package will need to live in harmony along side those.

What I've been attempting to do is build the core qpid stuff statically
against static builds of proton (for AMQP 1.0) and boost.  Modules
obviously remain dynamic and since I've built proton (v0.6) and boost
(v1.55.0) with position-independent code (PIC), so the linkage should be
fine.

I work for a company named "Novetta", so I would install it into
/opt/novetta (and use symlinks into /usr/... as needed).

I've done this many time in the past.  My basic recipe is to static link
anything that could clash with the OS vendor packages and install things in
/opt/$company_name and carefully symlink certain things in /usr and /etc.
I use autotools, which populate a specfile template, which I then use to
build relocatable RPMs.

The build of qpid is rather complex and I'm a cmake newbie.  It doesn't
"feel right" to me to have to patch CMakeLists.txt, and after the build
scripts are generated to patch some of the link.txt files to use the
non-standard dependency library locations.  Maybe this is meant as a
warning to those who static link stuff, but I don't think I'm being abusive
in this case.  Anyway, I'm having trouble getting this build to behave.

Has anyone else attempted or done this?  If so, please share, I could
really use the assist!

-- 
Davin Shearer