Boost logo

Boost-Build :

Subject: Re: [Boost-build] linking to prebuilt 3rd party libraries
From: Hazel John (hazeljjohn_at_[hidden])
Date: 2011-04-07 13:36:33


When I try to run the executable this is the error I get:
AppUsing3rdPartyLib
./AppUsing3rdPartyLib: error while loading shared libraries:
<.../bin/gcc-4.3.2/release/libXYZ.so: cannot open shared object file: No
such file or directory

I have tried specifying the third party library as an alias as well as
creating cp rule and both still look for the 3rd party library in the
original location (or the build location)

I'd really appreciate some insight into how to handle this.

# jamfile to build AppUsing3rdPartyLib
alias libXYZ.so
        : ./<3rdpartydir>/libXYZ.so
        ;

install dist
        : libESPD.so
        : <location>/finallocation
        ;

This causes the executable to look for libXYZ.so in the 3rdpartydir (which
doesn't exist in our servers we deployed our applications to).

I tried this too:
# jamfile to build AppUsing3rdPartyLib
actions cp3rdparty
{
        cp $(>) $(<)
}

make libXYZ.so
        : ./<3rdpartydir>/libXYZ.so
        : @cp3rdparty
        ;

install dist
        : libESPD.so
        : <location>/finallocation
        ;

This causes the executable to look for libXYZ.so in the release build path
(bin/gcc/release) which also doesn't exist in our servers we deployed our
applications to.

Some ideas would be really appreciated.

On Wed, Mar 30, 2011 at 1:45 PM, Hazel John <hazeljjohn_at_[hidden]> wrote:

> Hi,
> Our current configuration on our production linux boxes is that we use a
> predefined library location and copy all the libraries we have built to that
> directory and our executable use that location. In our build box we install
> our libraries to the same predefined location. My problem occurs when we
> have 3rd party libraries that we need some of our applications to link to. I
> created the following jamfile and this copies over the 3rd party library
> correctly. The problem through is that when I try to run the application it
> tries to find the library in the original 3rd party location, which defeats
> the whole purpose.
>
> # jamfile to copy 3rd party libraries
> lib libXYZ
> : #Sources
> : <file>./3rdpartylibrarypath/libXYZ.so
> ;
>
> install dist
> : libXYZ
> : <location>/ourlibpath
>
> any suggestions?
>
> Thank you,
> Hazel
> ;
>
>
>
>



Boost-Build list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk