[Scons-users] Installing libraries

Stijn De Ruyck Stijn.DeRuyck at onsemi.com
Thu Jan 29 06:29:54 EST 2015

I’m not sure, I’m not really an expert in all this. My colleague is, but he’s on holiday. The libs are shared libs.

Let me clarify:

We tried making a stand-alone, self-contained directory “dist/” with all 3rd party libs inside dist/lib:

-          boost stuff (libboost_chrono.so.1.51.0, libboost_date_time.so.1.51.0, etc)

-          libcppunit-1.12.so.1

-          libmuparser.so.2

-          libreadline.so.5

-          libwthttp.so.36

-          libwt.so.36

-          (I don’t know why my colleague did not include therond, m, pthread, dl, readline & curses)

Dist/ also contains a startup script which points the LD_LIBRARY_PATH to dist/lib. We copied only that directory to other servers (our only requirement is 64bit RHEL 5 & 6; most servers at work are like this) and that worked; the tool worked just fine without having to install anything else.
Great, but now we want SCons to populate the dist/lib directory automatically…

So you see the diversity of systems this will run on, is very limited, still we want to be able to generate distributable packages with ease... For example the boost libs can be installed on different locations on different developer machines (which is an error I admit. I think one machine has the 64bit boost libs installed into /usr/lib while the others have it in /usr/lib64 …).

So a) we could rectify that and put the actual, correct paths inside Install(“dist/lib”,”somelibpath”), or b) I wondered if I could tell scons to dynamically figure out where it’s getting its libs from and use that variable inside the Install call…

Best regards,

From: Scons-users [mailto:scons-users-bounces at scons.org] On Behalf Of Bill Deegan
Sent: Wednesday, January 28, 2015 7:40 PM
To: SCons users mailing list
Subject: Re: [Scons-users] Installing libraries

Are you planning on including only static libraries in your distribution?
If not you may find that when unpack on dissimilar systems boost and other libraries will not find the libraries they depend on (g++, clib versions,etc).
I've gone down this route for a number of clients and you really need to pick how broad a variety of systems you want this to work on.

On Wed, Jan 28, 2015 at 10:17 AM, William Blevins <wblevins001 at gmail.com<mailto:wblevins001 at gmail.com>> wrote:

I would approach this by setting correct libpath(s) versus handling this specifically per lib reference.

On Jan 28, 2015 1:14 PM, "Stijn De Ruyck" <Stijn.DeRuyck at onsemi.com<mailto:Stijn.DeRuyck at onsemi.com>> wrote:

I would like to create a self-contained distributable directory “dist” including all executables, config files, docs and 3rd party libraries.

The problem I have is these 3rd party libraries can be installed in different locations on different developer machines, so I don’t want to hardcode paths in SConstruct. I could try and fix that, but I wondered if there is a more flexible SCons approach to this?

I short: I want to translate

env.Append(LIBS = [

into a list of actual path names that I can use in

env.Install("#dist/"+env['build']+"/lib/",” ??? “)

Any suggestions?

Thank you,

Stijn De Ruyck

Scons-users mailing list
Scons-users at scons.org<mailto:Scons-users at scons.org>

Scons-users mailing list
Scons-users at scons.org<mailto:Scons-users at scons.org>

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://pairlist4.pair.net/pipermail/scons-users/attachments/20150129/698f51d5/attachment-0001.html>

More information about the Scons-users mailing list