[Scons-users] SCons 2.3.6: SharedLibrary + SHLIBVERSION messes up with dependencies
Paweł Tomulik
ptomulik at meil.pw.edu.pl
Mon Aug 10 10:31:19 EDT 2015
W dniu 10.08.2015 o 11:55, Paweł Tomulik pisze:
> 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
> +-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?
>
>
>
> _______________________________________________
> Scons-users mailing list
> Scons-users at scons.org
> https://pairlist4.pair.net/mailman/listinfo/scons-users
>
Dependency tree generated by 2.3.1 with SHLIBVERSION:
+-.
+-SConstruct
+-foo.cpp
+-foo.hpp
+-foo.os
| +-foo.cpp
| +-/usr/bin/g++
+-libfoo.so.0.1.2
| +-foo.os
| +-foo.cpp
| +-/usr/bin/g++
+-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
| +-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++
| +-libfoo.so.0.1.2
| +-foo.os
| +-foo.cpp
| +-/usr/bin/g++
+-main.cpp
+-main.o
+-main.cpp
+-foo.hpp
+-/usr/bin/g++
--
Pawel Tomulik
More information about the Scons-users
mailing list