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 install fails :-( - Update - I've got it working :-) but I'd like a systematic fix!
Date Wed, 30 Nov 2011 18:45:37 GMT
Hi again Alan & Ilya.
I'm definitely not doing anything fancy like a parallel make - it's all 
Voodoo to me so I'm not about to try anything fancy :-)

I was aware that qpid/cpp/src/Makefile.am was the source for generated 
makefiles but I couldn't for the life of me figure out anything in that 
which even referred to "install-libLTLIBRARIES" let alone suggested the 
order of install-libLTLIBRARIES in relation to 
install-dmoduleexecLTLIBRARIES

I'll have a look at Ilya's suggestion of "export LDFLAGS=-L`dirname 
$(pwd)`/cpp/src/.libs " but I really don't think that it /should/ be 
necessary to have to do this.

At the very least it might be useful to include Ilya's instructions in 
the README.txt file, what do you reckon?

Ilya these are a really nice set of instructions - good on you!!!

Re "autotool's @Q$#$#@! re-linking nonsense" I couldn't have put it 
better myself :-D


Thanks guys, once again the qpid mailing list comes up trumps for 
helpful support.
Frase



Alan Conway wrote:
> On 11/30/2011 02:25 AM, Ilya Haykinson wrote:
>> For what it's worth, here is how I built qpid 0.12 on Ubuntu 10.04. The
>> LDFLAGS export was necessary to ensure the install step works.
>>
>> sudo apt-get update&&  sudo apt-get upgrade
>>
>> sudo apt-get install libboost-dev libboost-program-options-dev
>> libboost-filesystem-dev libboost-test-dev openais libopenais-dev
>> corosync libcorosync-dev uuid-dev libsasl2-dev sasl2-bin libdb4.8++
>> libdb4.8 libdb4.8-dev libdb4.8++-dev libaio-dev subversion automake
>> autoconf libtool gcc g++ help2man doxygen ruby swig valgrind
>>
>> svn export http://svn.apache.org/repos/asf/qpid/tags/0.12/qpid
>>
>> cd qpid/cpp
>> ./bootstrap
>> export LDFLAGS=-L`dirname $(pwd)`/cpp/src/.libs
>> ./configure --disable-warnings
>> make
>> sudo make install
>> cd ../../
>> svn export 
>> http://anonsvn.jboss.org/repos/rhmessaging/store/tags/qpid-0.12-release/cpp 
>>
>> persist
>> cd persist
>> ./bootstrap
>> ./configure --with-qpid-checkout=`dirname $(pwd)`/qpid
>> make
>> sudo make install
>> cd ../qpid
>> cd python
>> sudo python setup.py install
>> cd ../tools
>> sudo python setup.py install
>> cd ../extras/qmf
>> sudo python setup.py install
>>
>>
>> -ilya
>>
>>
>>
>> On Mon, Nov 28, 2011 at 11:21 AM, Fraser Adams<
>> fraser.adams@blueyonder.co.uk>  wrote:
>>
>>> Hi All,
>>> As an update for anyone following this thread (and thanks for the
>>> suggestions so far).
>>>
>>> I've now got a working install, yippee!!!! but I had to do some 
>>> hacking,
>>> booo, so I'd really like some advice now as to how to "do it right" 
>>> and ask
>>> whether it's a potentially general issue I'm seeing that needs to 
>>> make it
>>> into the "official" make.
>>>
>>>
>>> The first big issue I had (detailed in my previous post) was failure
>>> around:
>>>
>>> libtool: install: warning: relinking `cluster.la'
>>> libtool: install: (cd /home/fadams/java/qpid-0.12/**cpp.......
>>> .......
>>> /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'
>>>
>>>
>>>
>>> I'd figured it was a dependency thing so I looked for 
>>> "install-**dmoduleexecLTLIBRARIES"
>>> in qpid-0.12/cpp/src/Makefile
>>>
>>> I hacked the install-exec-am target as follows:
>>>
>>> #install-exec-am: install-cmoduleexecLTLIBRARIES \
>>> #    install-dmoduleexecLTLIBRARIES install-libLTLIBRARIES \
>>> #    install-qpidexecPROGRAMS install-qpidexecSCRIPTS \
>>> #    install-sbinPROGRAMS install-tmoduleexecLTLIBRARIES
>>>
>>> install-exec-am: install-cmoduleexecLTLIBRARIES \
>>> install-libLTLIBRARIES install-dmoduleexecLTLIBRARIES \
>>> install-qpidexecPROGRAMS install-qpidexecSCRIPTS \
>>> install-sbinPROGRAMS install-tmoduleexecLTLIBRARIES
>>>
>>> So in other words I put "install-libLTLIBRARIES" *before* "install-**
>>> dmoduleexecLTLIBRARIES"
>>>
>>> This pretty much fixed the problem.
>>>
>>> I still got an issue further on with making qmf (another dependency
>>> thing). This issue is an "old friend" of mine (I've had it since I 
>>> first
>>> build qpid 0.8).
>>>
>>> I get around that by tweaking "qmf.mk" thus:
>>>
>>> lib_LTLIBRARIES +=    \
>>>   libqmfengine.la    \
>>>   libqmf.la        \
>>>   libqmf2.la
>>>
>>> Where I have to put "libqmfengine.la" *before* "libqmf.la"
>>>
>>>
>>> So two things really
>>> 1) Where do I modify the ordering of "install-libLTLIBRARIES" and 
>>> "install-
>>> **dmoduleexecLTLIBRARIES" at source - clearly it's not great to be
>>> hacking the generated Makefile (my hack gets overwritten). I found
>>> "install-libLTLIBRARIES" in Makefile.in, but I thought that was 
>>> generated
>>> too? I can't seem to find it anywhere that would generate 
>>> Makefile.in and
>>> Makefile
>
> qpid/cpp/src/Makefile.am is the source for generated makefiles.
>
>>>
>>> 2) qmf.mk has been broken for me since qpid 0.8 has anyone else had to
>>> tweak this? Why would other platforms *not *have similar dependency 
>>> issues
>>> - looking at the error that was generated prior to me swapping the 
>>> order
>>> it's clear that libqmf.la had a dependency on libqmfengine.la.
>
> Automake is supposed to figure out the dependencies and run things in 
> the right order.
>
> Are you doing parallel make - i.e. make -j<N>? Parallel make 
> sporadically trips up in make install with a link error because of 
> autotool's @Q$#$#@! re-linking nonsense. I do: make -jN && make -j1 
> install
>
> ---------------------------------------------------------------------
> 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


Mime
View raw message