qpid-users mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Fraser Adams <fraser.ad...@blueyonder.co.uk>
Subject Re: qpid 0.12 make fails on Linux Mint 12 (I think derived from Ubuntu 11.10)
Date Mon, 02 Jan 2012 17:34:20 GMT
Hi again,
I've now got a bit further forward and have got make to work. I had an 
awful lot of problems due to the explicit linkage issue that seems to be 
caused by recent versions of gcc (I'm using 4.6.1)

 From a virgin qpid-0.12.tar.gz download I had to

cd qpid-0.12/cpp
patch -p1 < ../../fixed_unused.patch
patch -p1 < ../../fix-explicit-link-problem.patch
./bootstrap
./configure
make

I've attached the patches, the first of these is Cajus Pollmeier's patch 
the fix-explicit-link-problem.patch is a patch I've put together for a 
number of Makefile.am files to add the necessary explicit linkage.

So far this seems to give me a make that completes and I can run qpidd 
in qpid-0.12/cpp/src OK but unfortunately sudo make install fails with 
the errors below.

Previously when I had libtool linkage errors with make install I did:

export LDFLAGS=-L`dirname $(pwd)`/cpp/src/.libs

which used to work on my old Ubuntu 9.1 box. Unfortunately this doesn't 
seem to work on my Mint 12 box running gcc version 4.6.1

I'd really appreciate any help, this is really bugging me now - I don't 
think this is necessarily a qpid problem per se, but given what I'm 
seeing I'd be surprised if anyone has managed to build on Ubuntu 11.10 
without a fight - am I wrong, have I missed something obvious????

heeeellllppppp!!!!
Frase


Making install in managementgen
make[1]: Entering directory `/home/fadams/qpid/qpid-0.12/cpp/managementgen'
make[2]: Entering directory `/home/fadams/qpid/qpid-0.12/cpp/managementgen'
test -z "/usr/local/bin" || /bin/mkdir -p "/usr/local/bin"
  /usr/bin/install -c qmf-gen '/usr/local/bin'
test -z "/usr/local/lib/python2.7/site-packages/qmfgen" || /bin/mkdir -p 
"/usr/local/lib/python2.7/site-packages/qmfgen"
  /usr/bin/install -c -m 644 qmfgen/__init__.py qmfgen/generate.py 
qmfgen/schema.py qmfgen/management-types.xml 
'/usr/local/lib/python2.7/site-packages/qmfgen'
Byte-compiling python modules...
__init__.pygenerate.pyschema.py
Byte-compiling python modules (optimized versions) ...
__init__.pygenerate.pyschema.py
test -z "/usr/local/lib/python2.7/site-packages/qmfgen/templates" || 
/bin/mkdir -p "/usr/local/lib/python2.7/site-packages/qmfgen/templates"
  /usr/bin/install -c -m 644 qmfgen/templates/Args.h 
qmfgen/templates/Class.cpp qmfgen/templates/Class.h 
qmfgen/templates/Event.cpp qmfgen/templates/Event.h 
qmfgen/templates/Makefile.mk qmfgen/templates/Package.cpp 
qmfgen/templates/Package.h qmfgen/templates/V2Package.cpp 
qmfgen/templates/V2Package.h 
'/usr/local/lib/python2.7/site-packages/qmfgen/templates'
Byte-compiling python modules...

Byte-compiling python modules (optimized versions) ...

make[2]: Nothing to be done for `install-data-am'.
make[2]: Leaving directory `/home/fadams/qpid/qpid-0.12/cpp/managementgen'
make[1]: Leaving directory `/home/fadams/qpid/qpid-0.12/cpp/managementgen'
Making install in etc
make[1]: Entering directory `/home/fadams/qpid/qpid-0.12/cpp/etc'
make[2]: Entering directory `/home/fadams/qpid/qpid-0.12/cpp/etc'
test -z "/usr/local/etc" || /bin/mkdir -p "/usr/local/etc"
  /usr/bin/install -c -m 644  qpidd.conf '/usr/local/etc/.'
/bin/mkdir -p '/usr/local/etc/sasl2'
  /usr/bin/install -c -m 644  sasl2/qpidd.conf '/usr/local/etc/sasl2'
test -z "/usr/local/etc/qpid" || /bin/mkdir -p "/usr/local/etc/qpid"
  /usr/bin/install -c -m 644  qpidc.conf '/usr/local/etc/qpid/.'
test -z "/usr/local/var/lib/qpidd" || /bin/mkdir -p 
"/usr/local/var/lib/qpidd"
  /usr/bin/install -c -m 644 qpidd.sasldb '/usr/local/var/lib/qpidd'
make[2]: Leaving directory `/home/fadams/qpid/qpid-0.12/cpp/etc'
make[1]: Leaving directory `/home/fadams/qpid/qpid-0.12/cpp/etc'
Making install in src
make[1]: Entering directory `/home/fadams/qpid/qpid-0.12/cpp/src'
Making install in .
make[2]: Entering directory `/home/fadams/qpid/qpid-0.12/cpp/src'
make[3]: Entering directory `/home/fadams/qpid/qpid-0.12/cpp/src'
test -z "/usr/local/lib/qpid/client" || /bin/mkdir -p 
"/usr/local/lib/qpid/client"
test -z "/usr/local/lib/qpid/daemon" || /bin/mkdir -p 
"/usr/local/lib/qpid/daemon"
  /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/qpid/qpid-0.12/cpp/src; /bin/bash 
/home/fadams/qpid/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++  -fPIC -DPIC -shared -nostdlib 
/usr/lib/gcc/x86_64-linux-gnu/4.6.1/../../../x86_64-linux-gnu/crti.o 
/usr/lib/gcc/x86_64-linux-gnu/4.6.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.6.1 
-L/usr/lib/gcc/x86_64-linux-gnu/4.6.1/../../../x86_64-linux-gnu 
-L/usr/lib/gcc/x86_64-linux-gnu/4.6.1/../../../../lib 
-L/lib/x86_64-linux-gnu -L/lib/../lib -L/usr/lib/x86_64-linux-gnu 
-L/usr/lib/../lib -L/usr/lib/gcc/x86_64-linux-gnu/4.6.1/../../.. 
-lstdc++ -lm -lc -lgcc_s /usr/lib/gcc/x86_64-linux-gnu/4.6.1/crtendS.o 
/usr/lib/gcc/x86_64-linux-gnu/4.6.1/../../../x86_64-linux-gnu/crtn.o  
-O2   -Wl,-soname -Wl,cluster.so -o .libs/cluster.so
/usr/bin/ld: cannot find -lqpidbroker
/usr/bin/ld: cannot find -lqpidclient
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/qpid/qpid-0.12/cpp/src'
make[2]: *** [install-am] Error 2
make[2]: Leaving directory `/home/fadams/qpid/qpid-0.12/cpp/src'
make[1]: *** [install-recursive] Error 1
make[1]: Leaving directory `/home/fadams/qpid/qpid-0.12/cpp/src'
make: *** [install-recursive] Error 1




On 02/01/12 10:17, Fraser Adams wrote:
> Hi again all, I've done a bit of Googling on this and it appears that 
> this behaviour has something to do with changes that have been made to 
> the linker behaviour 
> http://fedoraproject.org/wiki/UnderstandingDSOLinkChange (this is a 
> Fedora page and I'm using Mint but the symptoms seem identical).
>
> Has anyone else seen this and got a decent workaround?
>
> I'll have a play and see if I can hack the makefile, at a guess it 
> probably just needs an *explicit* -lboost_program_options added to the 
> right place in the Makefile my problem is that I'm clueless about 
> automake, so if it doesn't "just work" I'm working blind. At a guess 
> some work is needed to the automake generation templates to fix this 
> properly, but I wouldn't know where to begin.
>
> I suspect that I'm not the only one who's going to be seeing this 
> issue (my Mint 12 box uses gcc version 4.6.1) given the description in 
> the Fedora page.
>
> I'd appreciate any thoughts/tips
> cheers,
> Frase


Mime
View raw message