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<
[email protected]> 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:[email protected]
---------------------------------------------------------------------
Apache Qpid - AMQP Messaging Implementation
Project: http://qpid.apache.org
Use/Interact: mailto:[email protected]