[Scons-dev] Tutorial for Linux versioned libraries

Kenny, Jason L jason.l.kenny at intel.com
Tue May 19 15:59:37 EDT 2015


I think a little clarification is needed.

SCons install() api makes an install sandbox. There is a list that holds all the install files. When you call Install() those files get added to the internal list. This information is used by the Package() and GetInstallFiles() api in SCons to allow a package to be created. One can get this to work.

I find personally this setup in SCons works for simple cases, more complex stuff this can fall short on. I have added code to Parts ( that I have to officially release outside my dev branch) to address this with support for WIX,RPM,DEB and achieve (zip/tar.gz.. etc) based packages ( others setups have to be added such as mac, android apk).

Anyways ( minus the Parts extension) I hope the understand that Install() setups an install sandbox that is used by the package() API to create some install package based on what was installed.

Jason


From: Scons-dev [mailto:scons-dev-bounces at scons.org] On Behalf Of Gary Oberbrunner
Sent: Tuesday, May 19, 2015 9:21 AM
To: SCons developer list
Subject: Re: [Scons-dev] Tutorial for Linux versioned libraries

SCons Install just copies files (and in this case makes symlinks).  Building installers is a whole different thing.  SCons can do it, but Install isn't what you're looking for.

On Tue, May 19, 2015 at 8:51 AM, anatoly techtonik <techtonik at gmail.com<mailto:techtonik at gmail.com>> wrote:
On Tue, May 19, 2015 at 3:29 AM, William Blevins <wblevins001 at gmail.com<mailto:wblevins001 at gmail.com>> wrote:
>> Anatoly,
>>
>> > I've sent a pull request with the changes:
>> > https://github.com/techtonik/RHVoice/pull/1
>>
>> Thanks. I need to understand the issue better before merging it.
>> 1. If RHVoice needs those version numbers at all?
>> 2. Why it tries to load so.0 when there is .0.0.0?
>
>
> Here is my understanding of linux standards for shared libraries:
>
> Example:
> thing.so -> thing.so.1
> thing.so.1 -> thing.so.1.2.3
> thing.so.1.2.3 (the real file)
>
> GNU linkers (and others) embed shared library information into the final
> product in the form thing.so.1, so that the library can undergo patch
> updates (EG. 1.2.3 -> 1.2.4) without requiring the application to be
> recompiled.
That make it clear. Thanks.

The only question is the Install stuff. The operating system knows better
where to install things, no? It creates a package registry and tracks all the
files. Is SCons Install just a development hack?
_______________________________________________
Scons-dev mailing list
Scons-dev at scons.org<mailto:Scons-dev at scons.org>
https://pairlist2.pair.net/mailman/listinfo/scons-dev



--
Gary
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://pairlist2.pair.net/pipermail/scons-dev/attachments/20150519/174fb3ee/attachment-0001.html>


More information about the Scons-dev mailing list