Return-Path: X-Original-To: apmail-qpid-users-archive@www.apache.org Delivered-To: apmail-qpid-users-archive@www.apache.org Received: from mail.apache.org (hermes.apache.org [140.211.11.3]) by minotaur.apache.org (Postfix) with SMTP id EB977B137 for ; Wed, 18 Jan 2012 10:21:25 +0000 (UTC) Received: (qmail 55110 invoked by uid 500); 18 Jan 2012 10:21:25 -0000 Delivered-To: apmail-qpid-users-archive@qpid.apache.org Received: (qmail 55008 invoked by uid 500); 18 Jan 2012 10:21:24 -0000 Mailing-List: contact users-help@qpid.apache.org; run by ezmlm Precedence: bulk List-Help: List-Unsubscribe: List-Post: List-Id: Reply-To: users@qpid.apache.org Delivered-To: mailing list users@qpid.apache.org Received: (qmail 55000 invoked by uid 99); 18 Jan 2012 10:21:24 -0000 Received: from athena.apache.org (HELO athena.apache.org) (140.211.11.136) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 18 Jan 2012 10:21:24 +0000 X-ASF-Spam-Status: No, hits=-0.0 required=5.0 tests=SPF_PASS X-Spam-Check-By: apache.org Received-SPF: pass (athena.apache.org: local policy) Received: from [87.106.227.76] (HELO ferdi.naasa.net) (87.106.227.76) by apache.org (qpsmtpd/0.29) with ESMTP; Wed, 18 Jan 2012 10:21:20 +0000 Received: from ferdi.naasa.net (localhost.localdomain [127.0.0.1]) by ferdi.naasa.net (Postfix) with ESMTP id CB9BA1940BA for ; Wed, 18 Jan 2012 11:20:57 +0100 (CET) MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 7bit Date: Wed, 18 Jan 2012 11:20:57 +0100 From: Cajus Pollmeier To: Subject: Re: qpid 0.12 make fails on Linux Mint 12 (I think derived from Ubuntu 11.10) In-Reply-To: <4F0215C3.8040107@blueyonder.co.uk> References: <4EFF171D.6000503@blueyonder.co.uk> <4F018446.2020106@blueyonder.co.uk> <4F01EA9C.2080708@blueyonder.co.uk> <4F0215C3.8040107@blueyonder.co.uk> Message-ID: <98b46730dedfae3600a9e80cd28f6f4f@ferdi.naasa.net> X-Sender: cajus@naasa.net User-Agent: RoundCube Webmail/0.5 Although this thread turns a month now, I'd like to comment on it ;-) The build problems are reproducible from the moment you start to let whatever script recreate the autotools related files of the qpid-cpp package. In the Debian packages, I've some minor modifications in a couple of Makefile.am files where the bootstrap produces a non buildable qpid-cpp. If I ignore the .am files and do some hackish Makefile.in modifications, the build and the tests work fine. For the upcoming 0.14 the problem still exists, and it is not possible to do a clean build with the modifications. Additional "fix-inplicit-linking" modifications are needed to get a clean bulid - but most of the tests related to SASL fail in this case. I don't think that this is a linker issue, because stuff builds fine with the unmodified Makefile.in files. And they do not really differ in the linker options that I can see an error there... The question is: how do I regenerate the autotools files in a way that it just works? Am 02.01.2012 21:38, schrieb Fraser Adams: > I *think" I've cracked this...... > I built everything fresh and added the patches fresh and make install > seemed to then work. I was a bit baffled then realised my shell had > some environment variables set. > > My suspicion is that I needed to have > export LDFLAGS=-L`dirname $(pwd)`/cpp/src/.libs > > set before calling ./bootstrap > This would have been the case for the make that worked so it's got me > wondering. > > I'll try again from absolute scratch tomorrow to see if I can get a > systematic build (I must be mad uninstalling a working build, but I > really want to be able to do a reproducible build) > > I'll keep you posted. > Frase > > > On 02/01/12 17:34, Fraser Adams wrote: >> 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 >> >> >> >> >> --------------------------------------------------------------------- >> Apache Qpid - AMQP Messaging Implementation >> Project: http://qpid.apache.org >> Use/Interact: mailto:users-subscribe@qpid.apache.org --------------------------------------------------------------------- Apache Qpid - AMQP Messaging Implementation Project: http://qpid.apache.org Use/Interact: mailto:users-subscribe@qpid.apache.org