----- Original Message ----- > From: "Justin Ross" <[email protected]> > To: [email protected] > Sent: Wednesday, April 30, 2014 7:08:09 AM > Subject: Re: How do you install qpid bits? > > Thanks, Alan. This is helpful. You've captured what I do, except that I > typically use an install prefix in my home dir. > > On Tue, Apr 29, 2014 at 10:12 PM, Alan Conway <[email protected]> wrote: > > > The discussion about how make install should work has made me wonder, > > how are people installing the various qpid bits? > > > > Perhaps we can collect the different use cases and come up with some > > simple, consistent behavior for all the various projects that will make > > life easy for everyone. > > > > Here's what I do: I install everything in /usr/local. I do not want to > > ever clobber RPM installed files in /usr. Here's how I do it: > > > > With a qpid-proton checkout at $PROTON and > > CMAKE_INSTALL_PREFIX=/usr/local (the default) > > > > cd $PROTON/<build-directory>; make install > > > > With a qpid checkout at $QPID and CMAKE_INSTALL_PREFIX=/usr/local (the > > default) > > > > cd $QPID/qpid/cpp/<build-directory>; make install > > > > This step does something helpful: it uses the proton bits at $PREFIX, if > present, to build and install the cpp code. Dispatch does not do this. If > we added Dispatch to these instructions, it would not look so seamless. > > > > cd $QPID/qpid/tools; ./setup.py install --prefix /usr/local > > cd $QPID/qpid/python; ./setup.py install --prefix /usr/local > > > > And finally make sure to set up your environment: > > > > export PATH="$PATH:/usr/local/sbin:/usr/local/bin" > > export > > > > PYTHONPATH="$PYTHONPATH:/usr/local/lib/proton/bindings/python:/usr/local/lib64/proton/bindings/python:/usr/local/lib/python2.7/site-packages:/usr/local/lib64/python2.7/site-packages" > > export LD_LIBRARY_PATH="$LD_LIBRARY_PATH:/usr/local/lib64" > > > > IMO, we should work to make the extra stuff for proton at the start of > PYTHONPATH unnecessary. That is, the installed bindings should be > available under site-packages, where you expect to set your PYTHONPATH. > I've talked to Rafi and Darryl about doing this. > > I'm uncertain about having to set LD_LIBRARY_PATH here. The cpp code > configures its outputs to load dependencies from the build-targeted prefix. > Perhaps the same should be done for the bindings. > > In dispatch, I've added some simple scripting to cleanly run tests, in > order to verify work before checkin. I've been thinking of adding similar > scripting to simplify the developer experience for installs: > > # QPID_INSTALL_PREFIX := $HOME/.qpid-install > > $ cd proton > $ source config.sh > $ install.sh (builds to proton/build; installs to $QPID_INSTALL_PREFIX) > > $ cd qpid/cpp > $ source config.sh > $ install.sh (builds to qpid/cpp/build; installs to $QPID_INSTALL_PREFIX) > > $ cd dispatch > $ source config.sh > $ install.sh (builds to dispatch/build; installs to $QPID_INSTALL_PREFIX) > > Justin >
Please add the similar scripting for all three packages. I ran into the troubles Alan describes for Dispatch. I was using script dispatch/bin/test.sh which needs the config.sh and some environment from Proton and Qpid. Having a common CMAKE_INSTALL_PREFIX "fixes" a lot of issues for Qpid finding/using Proton, particularly on Windows builds. -Chuck --------------------------------------------------------------------- To unsubscribe, e-mail: [email protected] For additional commands, e-mail: [email protected]
