You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@qpid.apache.org by Alan Conway <ac...@redhat.com> on 2014/04/30 04:12:56 UTC

How do you install qpid bits?

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
 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"





---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@qpid.apache.org
For additional commands, e-mail: users-help@qpid.apache.org


Re: How do you install qpid bits?

Posted by Alan Conway <ac...@redhat.com>.
On Wed, 2014-04-30 at 07:08 -0400, Justin Ross wrote:
> 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 <ac...@redhat.com> 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.

I had to do this for dispatch to pick up the proton library but as you
point out I didn't install dispatch consistently with the rest.

> 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)
> 




---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscribe@qpid.apache.org
For additional commands, e-mail: users-help@qpid.apache.org


Re: How do you install qpid bits?

Posted by Chuck Rolke <cr...@redhat.com>.

----- Original Message -----
> From: "Justin Ross" <jr...@apache.org>
> To: users@qpid.apache.org
> 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 <ac...@redhat.com> 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: users-unsubscribe@qpid.apache.org
For additional commands, e-mail: users-help@qpid.apache.org


Re: How do you install qpid bits?

Posted by Justin Ross <jr...@apache.org>.
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 <ac...@redhat.com> 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