[prev in list] [next in list] [prev in thread] [next in thread] 

List:       buildroot
Subject:    Re: [Buildroot] [PATCH] yajl: disable parallel build
From:       Thomas Petazzoni <thomas.petazzoni () free-electrons ! com>
Date:       2016-03-31 19:14:46
Message-ID: 20160331211446.4727873e () free-electrons ! com
[Download RAW message or body]

Hello,

On Thu, 31 Mar 2016 21:01:01 +0200, Jörg Krause wrote:
> The yajl build system contains a race condition, which gets triggered by
> high BR2_JLEVEL settings - It tries to link the executable gen-extra-close
> against libyajl before it is created:
> 
> [ 21%] Linking C executable gen-extra-close
> [ 26%] Building C object src/CMakeFiles/yajl_s.dir/yajl_buf.c.o
> /home/test/autobuild/instance-3/output/host/opt/ext-toolchain/bfin-uclinux/bfin-uclinux/bin/ld.real: \
> cannot find -lyajl 
> Fix it by disabling parallel build.
> 
> Fixes:
> http://autobuild.buildroot.net/results/a9b/a9b5209377acb51e69f376e0c008ee71fe00397a/
>  http://autobuild.buildroot.net/results/55f/55fe22463d49addb42b635d10be5176522f4a561/
>  http://autobuild.buildroot.net/results/808/808acca0cfed93465845c2aa055a7a4fc56a8a17/
>  http://autobuild.buildroot.net/results/b92/b92a9c84b71a8a2d022d307245ca6be36a000e6c/
>  http://autobuild.buildroot.net/results/55d/55df698ab53f7d94235166e8576eb681ed68668e/
>                 
> .. and more.
> 
> Signed-off-by: Jörg Krause <joerg.krause@embedded.rocks>

yajl is using a reasonable build system, so there should be a
reasonable way of getting parallel build to work.

Can you try the following patch:

diff --git a/test/api/CMakeLists.txt b/test/api/CMakeLists.txt
index cd65a54..f7b6be1 100644
--- a/test/api/CMakeLists.txt
+++ b/test/api/CMakeLists.txt
@@ -22,4 +22,5 @@ FOREACH (test ${TESTS})
   GET_FILENAME_COMPONENT(testProg ${test} NAME_WE)
   ADD_EXECUTABLE(${testProg} ${test})
   TARGET_LINK_LIBRARIES(${testProg} yajl)
+  ADD_DEPENDENCIES(${testProg} yajl)
 ENDFOREACH()

And see if it helps ?

Note: this is only fixing the dependency of the gen-extra-close test
program against the yajl library. Probably other ADD_DEPENDENCIES()
invocations need to be added.

Thanks,

Thomas
-- 
Thomas Petazzoni, CTO, Free Electrons
Embedded Linux, Kernel and Android engineering
http://free-electrons.com
_______________________________________________
buildroot mailing list
buildroot@busybox.net
http://lists.busybox.net/mailman/listinfo/buildroot


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic