On 11/27/2013 09:38 PM, Andrew Stitcher wrote:
On Wed, 2013-11-27 at 14:16 +0000, Bruno Matos wrote:
Hi,

I've changed the Qpid 0.22 spec file from FC18 to build RPMs for SL 6.2.
If someone need, they are in attachment, and the contents are:
   * Final Qpid spec file for SL 6.2;
   * Diff from original spec file;
   * Patch to add -DNDEBUG to Gnu compiler.
I'd strongly recommend NOT patching the CMake system like this.

Instead in the spec file build using a Release or Release with Debug
Info setting.

So in the line you have

%cmake

use something like

%cmake -DCMAKE_BUILD_TYPE=RelWithDebInfo

[This will also set different optimisation options from the default.
Although I find it a little puzzling the SL6.2s rpmbuild dosn't already
set a Release build type in the %cmake macro - I'm pretty sure that
Fedora's macro does this]
CMake 2.6.4, which is the default SL 6.2 version, doesn't define NDEBUG for RelWithDebInfo mode, this have been fixed in last versions though. I was trying to avoid overriding the default configuration either.


The NDEBUG is needed because there is an assert in ACL plugin that kills
the Broker when a route is created between brokers with ACL policies
set. This may have been fixed in 0.24, at least I couldn't reproduce it
with Qpid 0.24 FC19 packages.

One problem that I know exists and I didn't solve has to do with
dependencies. The package qpid-cpp-client depends on
qpid-cpp-client-rdma and qpid-cpp-client-ssl because there are some
files being added to qpid-cpp-client that I think they shouldn't:
rdmaconnector.so and sslconnector.so. To solve this, however, it would
be necessary to change the way the amqpc.so is included.
I don't understand this: the dependencies are the other way around -
qpid-cpp-client-rdma & qpid-cpp-client-ssl depend on
qpid-cpp-client.

The rdma and ssl subpackages just add those extra plugins to the client
library.

I think your problem is the %files line:

%{_libdir}/qpid/client/*
Yes, I've open a bugzilla for this which was solved by putting an exclude on rdma and ssl related files.

Since the only plugin included in the client package is amqpc.so this
could be just

%{_libdir}/qpid/client/amqpc.so
This would be a problem if the package wasn't build with AMQP 1.0 support (proton).

In any case any plugins shipped with qpid-cpp-client should be
individually enumerated in the files section because there are some
plugins that are not shipped in that package.

In fact I think this is simply a bug in the original spec file.

[In the 0.26 there is no separate amqpc or ssl module leaving only rdma
as a module so this will go away as an issue]

Andrew
Yes, but it was happening for the server plugins too.

Thank you for your comments.

Regards.

--
Bruno Matos


---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@qpid.apache.org
For additional commands, e-mail: users-h...@qpid.apache.org

Reply via email to