Am 28.11.2011 19:24, schrieb Fraser Adams:
Hi Alan/Cajus
Just to let you know that Cajus' set of patches below was more or
less exactly what I ended up doing to get it to work.

When I Googled there was an implication that casting to void should
work, but clearly it didn't. I'm afraid that I don't know what Cajus
means "when rising compat level to 9" though.

In Debian packaging you can (or must) set a compatibility level. These errors started to pop up after rising the compatibility level from 7 to 9 - which had to be done while building for multiarch support. I *think* it has to do with some of the compiler flags - or the handling of multiarch, but I'm not that familiar with compiler internals to see what wrong at the first glance...

Cajus would it make sense for you to raise the Jira for Alan as
you've got all the info to hand?

I think that casting to void is correct. It's more a build system issue.

At the moment I've got a more pressing issue - I've managed to get
"make" to complete (I tried both ./configure --disable-warnings and
actually fixing the return values, both worked) but I'm really
struggling with "make install" see my post "Qpid 0.12 make install
fails :-("


I'm getting some advice on trying the debian package approach,, which
I might do at some point, but I'd really like to be able to build from
source especially as I want to start contributing patches to the C++
broker (I've mainly focussed on Java stuff to date).


I'm bombing out with.

/bin/bash ../libtool   --mode=install /usr/bin/install -c
cluster.la watchdog.la acl.la xml.la replicating_listener.la
replication_exchange.la '/usr/local/lib/qpid/daemon'
libtool: install: warning: relinking `cluster.la'
libtool: install: (cd /home/fadams/java/qpid-0.12/cpp/src; /bin/bash
/home/fadams/java/qpid-0.12/cpp/libtool  --tag CXX --mode=relink g++
-Werror -pedantic -Wall -Wextra -Wno-shadow -Wpointer-arith
-Wcast-qual -Wcast-align -Wno-long-long -Wvolatile-register-var
-Winvalid-pch -Wno-system-headers -Woverloaded-virtual
-DQPID_LIBEXEC_DIR=\"/usr/local/libexec/qpid\"
-DBOOST_FILESYSTEM_VERSION=2 -fno-strict-aliasing -g -O2 -no-undefined
-module -avoid-version -L/usr/lib/openais -L/usr/lib64/openais
-L/usr/lib/corosync -L/usr/lib64/corosync -o cluster.la -rpath
/usr/local/lib/qpid/daemon qpid/cluster/cluster_la-Quorum_cman.lo
qpid/cluster/cluster_la-Cluster.lo
qpid/cluster/cluster_la-ClusterTimer.lo
qpid/cluster/cluster_la-Decoder.lo
qpid/cluster/cluster_la-ClusterMap.lo
qpid/cluster/cluster_la-ClusterPlugin.lo
qpid/cluster/cluster_la-Connection.lo
qpid/cluster/cluster_la-ConnectionCodec.lo
qpid/cluster/cluster_la-Cpg.lo qpid/cluster/cluster_la-UpdateClient.lo
qpid/cluster/cluster_la-RetractClient.lo
qpid/cluster/cluster_la-ErrorCheck.lo qpid/cluster/cluster_la-Event.lo
qpid/cluster/cluster_la-EventFrame.lo
qpid/cluster/cluster_la-ExpiryPolicy.lo
qpid/cluster/cluster_la-FailoverExchange.lo
qpid/cluster/cluster_la-UpdateExchange.lo
qpid/cluster/cluster_la-Multicaster.lo
qpid/cluster/cluster_la-OutputInterceptor.lo
qpid/cluster/cluster_la-PollerDispatch.lo
qpid/cluster/cluster_la-InitialStatusMap.lo
qpid/cluster/cluster_la-MemberSet.lo
qpid/cluster/cluster_la-SecureConnectionFactory.lo
qpid/cluster/cluster_la-StoreStatus.lo
qpid/cluster/cluster_la-UpdateDataExchange.lo -lcpg -lcman
libqpidbroker.la libqpidclient.la )
libtool: relink: g++ -shared -nostdlib
/usr/lib/gcc/x86_64-linux-gnu/4.4.1/../../../../lib/crti.o
/usr/lib/gcc/x86_64-linux-gnu/4.4.1/crtbeginS.o
qpid/cluster/.libs/cluster_la-Quorum_cman.o
qpid/cluster/.libs/cluster_la-Cluster.o
qpid/cluster/.libs/cluster_la-ClusterTimer.o
qpid/cluster/.libs/cluster_la-Decoder.o
qpid/cluster/.libs/cluster_la-ClusterMap.o
qpid/cluster/.libs/cluster_la-ClusterPlugin.o
qpid/cluster/.libs/cluster_la-Connection.o
qpid/cluster/.libs/cluster_la-ConnectionCodec.o
qpid/cluster/.libs/cluster_la-Cpg.o
qpid/cluster/.libs/cluster_la-UpdateClient.o
qpid/cluster/.libs/cluster_la-RetractClient.o
qpid/cluster/.libs/cluster_la-ErrorCheck.o
qpid/cluster/.libs/cluster_la-Event.o
qpid/cluster/.libs/cluster_la-EventFrame.o
qpid/cluster/.libs/cluster_la-ExpiryPolicy.o
qpid/cluster/.libs/cluster_la-FailoverExchange.o
qpid/cluster/.libs/cluster_la-UpdateExchange.o
qpid/cluster/.libs/cluster_la-Multicaster.o
qpid/cluster/.libs/cluster_la-OutputInterceptor.o
qpid/cluster/.libs/cluster_la-PollerDispatch.o
qpid/cluster/.libs/cluster_la-InitialStatusMap.o
qpid/cluster/.libs/cluster_la-MemberSet.o
qpid/cluster/.libs/cluster_la-SecureConnectionFactory.o
qpid/cluster/.libs/cluster_la-StoreStatus.o
qpid/cluster/.libs/cluster_la-UpdateDataExchange.o
-L/usr/lib/openais -L/usr/lib64/openais -L/usr/lib/corosync
-L/usr/lib64/corosync -lcpg -lcman -L/usr/local/lib -lqpidbroker
-lqpidclient -L/usr/lib/gcc/x86_64-linux-gnu/4.4.1
-L/usr/lib/gcc/x86_64-linux-gnu/4.4.1/../../../../lib -L/lib/../lib
-L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/4.4.1/../../..
-lstdc++ -lm -lc -lgcc_s /usr/lib/gcc/x86_64-linux-gnu/4.4.1/crtendS.o
/usr/lib/gcc/x86_64-linux-gnu/4.4.1/../../../../lib/crtn.o
-Wl,-soname -Wl,cluster.so -o .libs/cluster.so
/usr/bin/ld: cannot find -lqpidbroker
collect2: ld returned 1 exit status
libtool: install: error: relink `cluster.la' with the above command
before installing it
make[3]: *** [install-dmoduleexecLTLIBRARIES] Error 1
make[3]: Leaving directory `/home/fadams/java/qpid-0.12/cpp/src'
make[2]: *** [install-am] Error 2
make[2]: Leaving directory `/home/fadams/java/qpid-0.12/cpp/src'
make[1]: *** [install-recursive] Error 1
make[1]: Leaving directory `/home/fadams/java/qpid-0.12/cpp/src'
make: *** [install-recursive] Error 1



At a guess it's a dependency issue. I'm "assuming" that perhaps this
needs to have had the qpidbroker relinked and installed before the
relinking of cluster.la but I know very little about the automake
stuff so I wouldn't know where to begin in order to figure out how to
get qpidbroker relinked before cluster.la

I'd really appreciate any help you can offer. I'm getting a bit
desparate. I'm tempted to revert back to my 0.10 build, but that would
be admitting defeat.

Cheers,
Frase




Cajus Pollmeier wrote:
For the Debian packaging, I only get these problems when rising compat level to 9. I've opened a bug on the debian side, because I think that casting to void is more than OK in this case.

In the moment I use this patch to work around it:


https://github.com/cajus/qpid-cpp-debian/blob/master/debian/patches/fix-unused.patch


HTH,
Cajus

Am 28.11.2011 16:04, schrieb Alan Conway:
On 11/27/2011 06:14 AM, Fraser Adams wrote:
OK so I fixed that one by doing:

ssize_t unused; // Prevents ignoring return value of ‘ssize_t write..’, declared
with attribute warn_unused_result
unused = ::write.......

in Daemon.cpp

but it cropped up again in LockFile.cpp

I noticed

cc1plus: warnings being treated as errors
qpid/sys/posix/LockFile.cpp: In destructor ‘qpid::sys::LockFile::~LockFile()’: qpid/sys/posix/LockFile.cpp:61: error: ignoring return value of ‘int lockf(int,
int, __off_t)’, declared with attribute warn_unused_result

So clearly it's bombing out due to warnings rather than "real errors". arguably
a good thing but.......

Seems like there may be some issues with the code base, but surely someone else would have seen similar. Any reason why make on my box is treating warnings as errors whereas that's (I assume) not happening with whoever packaged the distro.


You may be using a different compiler, even a different version of
the same compiler can introduce errors like these. At one point I
thought we fixed all of those but some may be re-introduced. Can you
try this patch  and see if it fixes the LogFile issue? If so open a
JIRA assigned to me and attach whatever patches you need to get it
working. I'll commit them.



---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:[email protected]




---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:[email protected]


---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project:      http://qpid.apache.org
Use/Interact: mailto:[email protected]

Reply via email to