gnu: libbonobo: Build sequentially.
authorLudovic Courtès <ludo@gnu.org>
Thu, 29 Nov 2018 11:42:09 +0000 (12:42 +0100)
committerLudovic Courtès <ludo@gnu.org>
Thu, 29 Nov 2018 11:42:09 +0000 (12:42 +0100)
See
<https://berlin.guixsd.org/log/5mr1fyac5kyz41zwmnf4b0wm7vl42ryv-libbonobo-2.32.1>
for an example of a parallel build failure:

    CCLD   echo-client-2
    CCLD   bonobo-echo-2
  ld: libEcho.a(Bonobo_Sample_Echo-stubs.o): in function `Bonobo_Sample_Echo_echo':
  /tmp/guix-build-libbonobo-2.32.1.drv-0/libbonobo-2.32.1/samples/echo/Bonobo_Sample_Echo-stubs.c:12: undefined reference to `Bonobo_Sample_Echo__iinterface'
  ld: /tmp/guix-build-libbonobo-2.32.1.drv-0/libbonobo-2.32.1/samples/echo/Bonobo_Sample_Echo-stubs.c:12: undefined reference to `Bonobo_Sample_Echo__classid'
  ld: /tmp/guix-build-libbonobo-2.32.1.drv-0/libbonobo-2.32.1/samples/echo/Bonobo_Sample_Echo-stubs.c:12: undefined reference to `_ORBIT_skel_small_Bonobo_Sample_Echo_echo'
  collect2: error: ld returned 1 exit status
  make[3]: *** [Makefile:488: echo-client-2] Error 1

* gnu/packages/gnome.scm (libbonobo)[arguments]: Add #:parallel-build?.

gnu/packages/gnome.scm

index cbd9afb..b497b96 100644 (file)
@@ -1376,7 +1376,14 @@ featuring mature C, C++ and Python bindings.")
            (lambda _
              (substitute* "activation-server/Makefile.in"
                (("-DG_DISABLE_DEPRECATED") "-DGLIB_DISABLE_DEPRECATION_WARNINGS"))
-             #t)))))
+             #t)))
+
+       ;; There's apparently a race condition between the server stub
+       ;; generation and linking of the example under 'samples/echo' that can
+       ;; lead do undefined references when building in parallel, as reported
+       ;; at <https://forums.gentoo.org/viewtopic-t-223376-start-550.html>.
+       ;; Thus, disable parallel builds.
+       #:parallel-build? #f))
     (inputs `(("popt" ,popt)
               ("libxml2" ,libxml2)))
     ;; The following are Required by the .pc file