[Scons-users] SHLIBVERSION questions
William Blevins
wblevins001 at gmail.com
Sun Jun 14 14:32:44 EDT 2015
Order of events:
1. make_ready called on node libcc.so.0.1.0, action = gcc -o
libcc.so.0.1.0 -shared cc.os
1. At this point, node libcc.so.0.1.0 bact differs from
.sconsign.dblite (IE. the correct value)
2. Node marked as requiring update
2. Tool/__init__.py:VersionedSharedLibrary executes and modifies the
ShLinkAction
1. The action is now correct and match the .sconsign.dblite value,
action = gcc -o libcc.so.0.1.0 -shared -Wl,-Bsymbolic
-Wl,-soname=libcc.so.0 cc.os
3. .sconsign.dblite written with action from step 2
I hope this marks sense. Not immediately sure how to resolve.
V/R,
William
On Sun, Jun 14, 2015 at 2:01 PM, William Blevins <wblevins001 at gmail.com>
wrote:
> I think my original assumption was silly. More like the command is
> changing after the initial action is created...
>
> V/R,
> William
>
> On Sun, Jun 14, 2015 at 1:23 PM, William Blevins <wblevins001 at gmail.com>
> wrote:
>
>> Here is some additional information for anyone with indepth knowledge of
>> the VersionedSharedLibrary tool.
>>
>> Sample SConstruct: SharedLibrary( 'cc', 'cc.c', SHLIBVERSION = '0.1.0' )
>>
>> bactsig is computed as md5( executor.get_contents() ) and the executor
>> contents differ between lookups at byte 2828 line 162.
>>
>> Pass 1: "S),(N.,N.,N.),()gcc -o libcc.so.0.1.0 -shared cc.osgcc -o
>> libcc.so.0.1.0 -shared cc.os"
>> Pass 2: "S),(N.,N.,N.),()gcc -o libcc.so.0.1.0 -shared -Wl,-Bsymbolic
>> -Wl,-soname=libcc.so.0 cc.osgcc -o libcc.so.0.1.0 -shared -Wl,-Bsymbolic
>> -Wl,-soname=libcc.so.0 cc.os"
>>
>> What I see on the command line: "gcc -o libcc.so.0.1.0 -shared
>> -Wl,-Bsymbolic -Wl,-soname=libcc.so.0 cc.os"
>>
>> Seems that the issue is that the symlink targets are getting turned into
>> libcc.so Node rather than being there OWN node. We may need to add symlink
>> handling to Node disambiguate?
>>
>> V/R,
>> William
>>
>> On Sun, Jun 14, 2015 at 11:55 AM, William Blevins <wblevins001 at gmail.com>
>> wrote:
>>
>>> I'm looking at the Node object code and I see that get_binfo gets called
>>> twice for versioned shared libraries but the bactsig changes between calls.
>>>
>>> I'll try and determine the delta.
>>>
>>> On Sat, Jun 6, 2015 at 6:55 PM, Paweł Tomulik <ptomulik at meil.pw.edu.pl>
>>> wrote:
>>>
>>>> Ok, submitted: http://scons.tigris.org/issues/show_bug.cgi?id=3006
>>>>
>>>> W dniu 06.06.2015 o 22:23, Bill Deegan pisze:
>>>> > Seems like a bug.
>>>> > Please file with a simple reproducible test case.
>>>> >
>>>> > Thanks,
>>>> > Bill
>>>> >
>>>> > On Sat, Jun 6, 2015 at 3:53 PM, Paweł Tomulik <
>>>> ptomulik at meil.pw.edu.pl
>>>> > <mailto:ptomulik at meil.pw.edu.pl>> wrote:
>>>> >
>>>> >
>>>> > W dniu 06.06.2015 o 18:59, Bill Deegan pisze:
>>>> > > What version of SCons are you running?
>>>> >
>>>> >
>>>> > ptomulik at barakus:$ scons --version
>>>> > SCons by Steven Knight et al.:
>>>> > script: v2.3.4, 2014/09/27 12:51:43, by garyo on lubuntu
>>>> > engine: v2.3.4, 2014/09/27 12:51:43, by garyo on lubuntu
>>>> > engine path: ['/usr/local/lib/scons-2.3.4/SCons']
>>>> > Copyright (c) 2001 - 2014 The SCons Foundation
>>>> >
>>>> >
>>>> >
>>>> >
>>>> >
>>>> > > There have been some fixes since 2.3.4 for this code
>>>> > > Can you try running the tip of default?
>>>> >
>>>> >
>>>> > Tip (b6cecd171b57) does the same.
>>>> >
>>>> >
>>>> > >
>>>> > > -Bill
>>>> > >
>>>> > > On Fri, Jun 5, 2015 at 9:07 AM, Paweł Tomulik <
>>>> ptomulik at meil.pw.edu.pl <mailto:ptomulik at meil.pw.edu.pl>
>>>> > > <mailto:ptomulik at meil.pw.edu.pl <mailto:ptomulik at meil.pw.edu.pl
>>>> >>>
>>>> > wrote:
>>>> > >
>>>> > > I have this simple sconstruct:
>>>> > >
>>>> > > env = Environment()
>>>> > > tgt = env.SharedLibrary('test', ['test.cpp'],
>>>> > SHLIBVERSION='0.1.0')
>>>> > > print tgt
>>>> > >
>>>> > > I observed, that the linking command is invoked each time I
>>>> > run scons,
>>>> > > which is wrong:
>>>> > >
>>>> > > ptomulik at barakus:$ scons -Q
>>>> > > ['libtest.so.0.1.0']
>>>> > > g++ -o libtest.so.0.1.0 -shared -Wl,-Bsymbolic
>>>> > -Wl,-soname=libtest.so.0
>>>> > > test.os
>>>> > > ptomulik at barakus:$ scons -Q
>>>> > > ['libtest.so.0.1.0']
>>>> > > g++ -o libtest.so.0.1.0 -shared -Wl,-Bsymbolic
>>>> > -Wl,-soname=libtest.so.0
>>>> > > test.os
>>>> > >
>>>> > > debug=explain shows this:
>>>> > >
>>>> > > ptomulik at barakus:$ scons -Q --debug=explain
>>>> > > ['libtest.so.0.1.0']
>>>> > > scons: rebuilding `libtest.so.0.1.0' because the contents of
>>>> > the build
>>>> > > action changed
>>>> > > action: SharedFlagChecker(target, source,
>>>> env)
>>>> > > VersionedSharedLibrary(target,
>>>> source, env)
>>>> > > g++ -o libtest.so.0.1.0 -shared -Wl,-Bsymbolic
>>>> > -Wl,-soname=libtest.so.0
>>>> > > test.os
>>>> > >
>>>> > >
>>>> > > Is it something already known, or shall I submit a bug?
>>>> > >
>>>> > > Anyway, the SharedLibrary builder creates symlinks, but they
>>>> > do not
>>>> > > appear in the function result (tgt contains only the
>>>> library).
>>>> > Is this a
>>>> > > bug or a feature? How can I guess what are the nodes
>>>> produced
>>>> > by the
>>>> > > builder?
>>>> > >
>>>> > > --
>>>> > > Pawel Tomulik
>>>> > > _______________________________________________
>>>> > > Scons-users mailing list
>>>> > > Scons-users at scons.org <mailto:Scons-users at scons.org>
>>>> > <mailto:Scons-users at scons.org <mailto:Scons-users at scons.org>>
>>>> > > https://pairlist4.pair.net/mailman/listinfo/scons-users
>>>> > >
>>>> > >
>>>> > >
>>>> > >
>>>> > > _______________________________________________
>>>> > > Scons-users mailing list
>>>> > > Scons-users at scons.org <mailto:Scons-users at scons.org>
>>>> > > https://pairlist4.pair.net/mailman/listinfo/scons-users
>>>> > >
>>>> >
>>>> >
>>>> >
>>>> >
>>>> > --
>>>> > Pawel Tomulik
>>>> > _______________________________________________
>>>> > Scons-users mailing list
>>>> > Scons-users at scons.org <mailto:Scons-users at scons.org>
>>>> > https://pairlist4.pair.net/mailman/listinfo/scons-users
>>>> >
>>>> >
>>>> >
>>>> >
>>>> > _______________________________________________
>>>> > Scons-users mailing list
>>>> > Scons-users at scons.org
>>>> > https://pairlist4.pair.net/mailman/listinfo/scons-users
>>>> >
>>>>
>>>>
>>>> --
>>>> Pawel Tomulik
>>>> _______________________________________________
>>>> Scons-users mailing list
>>>> Scons-users at scons.org
>>>> https://pairlist4.pair.net/mailman/listinfo/scons-users
>>>>
>>>
>>>
>>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://pairlist4.pair.net/pipermail/scons-users/attachments/20150614/ba9c3da2/attachment.html>
More information about the Scons-users
mailing list