[Scons-users] SCons 2.3.6: SharedLibrary + SHLIBVERSION messes up with dependencies

William Blevins wblevins001 at gmail.com
Tue Aug 11 12:27:29 EDT 2015


Should I assume that the problem building is due to build dependencies and
threading order?  Since the .so symlink does not depend on the actual
library, then applications linked against the .so symlink could find broken
links?
On Mon, Aug 10, 2015 at 5:55 AM, Paweł Tomulik <ptomulik at meil.pw.edu.pl>
wrote:

> After recent upgrade of SCons my projects can't be built anymore.
>
> I use SharedLibrary builder with SHLIBVERSION argument, but now (2.3.6)
> the softlinks generated by SharedLibrary are not seen as dependency.
>
> I attach a minimal example, that replicates the bug(?). The mini-project
> builds one shared library (libfoo.so) and one program (main) which uses
> the library. The Sconstruct is as simple as:
>
> env = Environment()
> env.AppendUnique(CPPPATH = ['.'], LIBPATH = ['.'])
> env.Program('main.cpp', LIBS = ['foo'])
> env.SharedLibrary('foo', 'foo.cpp', SHLIBVERSION = '0.1.2')
>
>
> The dependency tree for this mini-project is the following:
>
> +-.
>   +-SConstruct
>   +-foo.cpp
>   +-foo.hpp
>   +-foo.os
>   | +-foo.cpp
>   | +-/usr/bin/g++
>   +-libfoo.so
>

I would expect this entry to have the same dependency graph as libfoo.so.0
and libfoo.so.0.1.


>   +-libfoo.so.0
>   | +-libfoo.so.0.1.2
>   |   +-foo.os
>   |     +-foo.cpp
>   |     +-/usr/bin/g++
>   +-libfoo.so.0.1
>   | +-libfoo.so.0.1.2
>   |   +-foo.os
>   |     +-foo.cpp
>   |     +-/usr/bin/g++
>   +-libfoo.so.0.1.2
>   | +-foo.os
>   |   +-foo.cpp
>   |   +-/usr/bin/g++
>   +-main
>   | +-main.o
>   | | +-main.cpp
>   | | +-foo.hpp
>   | | +-/usr/bin/g++
>   | +-/usr/bin/g++
>   +-main.cpp
>   +-main.o
>     +-main.cpp
>     +-foo.hpp
>     +-/usr/bin/g++
>
> Without SHLIBVERSION the poject builds without problem, and the
> dependency tree is:
>
> +-.
>   +-SConstruct
>   +-foo.cpp
>   +-foo.hpp
>   +-foo.os
>   | +-foo.cpp
>   | +-/usr/bin/g++
>   +-libfoo.so
>   | +-foo.os
>   |   +-foo.cpp
>   |   +-/usr/bin/g++
>   +-main
>   | +-main.o
>   | | +-main.cpp
>   | | +-foo.hpp
>   | | +-/usr/bin/g++
>   | +-/usr/bin/g++
>   | +-libfoo.so
>   |   +-foo.os
>   |     +-foo.cpp
>   |     +-/usr/bin/g++
>   +-main.cpp
>   +-main.o
>     +-main.cpp
>     +-foo.hpp
>     +-/usr/bin/g++
>
>
> Is this a bug, or am I doing a mistake?
>
> --
> 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/20150811/29b64a16/attachment.html>


More information about the Scons-users mailing list