[Scons-users] Adding dependency on installed libs

Bill Deegan bill at baddogconsulting.com
Wed Mar 29 22:16:53 EDT 2017

On Wed, Mar 29, 2017 at 5:54 PM, Pawel Winogrodzki via Scons-users <
scons-users at scons.org> wrote:

> Hi all,
> Does anyone know, if scons supports such scenarios correctly:
>    1. We’re running a multi-thread build.
>    2. We build a static library X and Install() it to a different
>    directory.
>    3. We also build a dynamic library Y, which depends on the library X
>    BUT in the LIBPATH we provide the installation directory, not the original
>    build directory.
> In most cases everything works fine, but from time to time lib Y fails to
> link lib X. The error message shows the whole path to the library X in the
> install directory and I was always able to see in the output, that before
> linking started the installation has been performed. Also, it only fails
> this way on Windows from my observations and it’s a lot easier to reproduce
> if you set -j to a number higher than the actual number of logical CPUs
> (with twice as much we had a 100% repro).
> My question is: does scons correctly recognizes dependencies on installed
> libraries? Might this be some multi-threading issue with scons? Is there a
> known workaround for this issue (except for adding the original build
> directory to the LIBPATH)?

Yes, Yes (multi only on windows it seems), and yes (most likely, it works
for some users, and no users have reported it not working yet)...

It seems that in some cases on windows parallel builds copy operations may
not complete before the files are used by the next builder.

You might try applying this patch to see if it resolves the issue for you.
A more complete and maybe more correct fix is forthcoming, but likely not
til after py 2+py3 work is complete.

One thing you should check is if the dependencies show up correctly using
scons --tree=prune

SCons Project Co-Manager
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://pairlist4.pair.net/pipermail/scons-users/attachments/20170329/2562d248/attachment.html>

More information about the Scons-users mailing list