After an evaluation, GNOME has moved from Bugzilla to GitLab. Learn more about GitLab.
No new issues can be reported in GNOME Bugzilla anymore.
To report an issue in a GNOME project, go to GNOME GitLab.
Do not go to GNOME Gitlab for: Bluefish, Doxygen, GnuCash, GStreamer, java-gnome, LDTP, NetworkManager, Tomboy.
Bug 750897 - Failure to parallel install
Failure to parallel install
Status: RESOLVED FIXED
Product: gnome-online-accounts
Classification: Core
Component: general
3.16.x
Other All
: Normal normal
: ---
Assigned To: GNOME Online Accounts maintainer(s)
GNOME Online Accounts maintainer(s)
Depends on:
Blocks:
 
 
Reported: 2015-06-13 09:34 UTC by kobboi
Modified: 2015-08-04 16:10 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
proposed patch (1.22 KB, patch)
2015-06-13 16:48 UTC, Alexandre Rostovtsev
committed Details | Review

Description kobboi 2015-06-13 09:34:22 UTC
libtool: relink: x86_64-pc-linux-gnu-gcc -shared  -fPIC -DPIC  .libs/libgoawebextension_la-goawebextension.o .libs/libgoawebextension_la-goawebextensionmain.o   -L/var/tmp/portage/net-libs/gnome-online-accounts-3.16.2/work/gnome-online-accounts-3.16.2/src/goa/.libs -Wl,--as-needed -L/var/tmp/portage/net-libs/gnome-online-accounts-3.16.2/image//usr/lib64 -L/usr/lib64 -lgoa-backend-1.0 -lgoa-1.0 -ljson-glib-1.0 -ltelepathy-glib -lsecret-1 -lrest-0.7 -lxml2 -lwebkit2gtk-4.0 -lgtk-3 -lgdk-3 -lpangocairo-1.0 -lpango-1.0 -latk-1.0 -lcairo-gobject -lcairo -lgdk_pixbuf-2.0 -lsoup-2.4 -lgio-2.0 -lgobject-2.0 -ljavascriptcoregtk-4.0 -lglib-2.0  -pthread -pthread -march=nehalem -msse4 -mcx16 -mpopcnt -msahf -O2 -Wl,-O1   -pthread -Wl,-soname -Wl,libgoawebextension.so -o .libs/libgoawebextension.so
/usr/lib/gcc/x86_64-pc-linux-gnu/4.9.2/../../../../x86_64-pc-linux-gnu/bin/ld: cannot find -lgoa-backend-1.0
collect2: error: ld returned 1 exit status
libtool: install: error: relink `libgoawebextension.la' with the above command before installing it
Makefile:713: recipe for target 'install-webextensionLTLIBRARIES' failed
make[4]: *** [install-webextensionLTLIBRARIES] Error 1
make[4]: *** Waiting for unfinished jobs....

Works fine when building with -j1

Downstream URL: https://bugs.gentoo.org/show_bug.cgi?id=550378
Comment 1 Alexandre Rostovtsev 2015-06-13 15:42:20 UTC
Note: this bug appears when doing parallel install on a machine that doesn't already have >=goa-3.16 installed systemwide.

If you are building on a machine with systemwide goa, everything will seem to work because your local libgoawebextension will link to systemwide goa-backend.
Comment 2 Alexandre Rostovtsev 2015-06-13 16:48:38 UTC
Created attachment 305202 [details] [review]
proposed patch

Unfortunately, fixing this requires using ugly automake syntax to work around a very old automake bug - http://debbugs.gnu.org/cgi/bugreport.cgi?bug=7328

Other projects with .la interdependencies have been forced to do the same thing (e.g. take a look at pulseaudio's makefiles).

Patch attached.
Comment 3 Debarshi Ray 2015-08-04 14:55:00 UTC
I wonder why we don't hit this bug in Fedora. We do use parallel builds for this package.
Comment 4 Alexandre Rostovtsev 2015-08-04 15:04:37 UTC
(In reply to Debarshi Ray from comment #3)

The failure is in parallel "make install". If you use parallel mode only for the main "make" call but not for "make install", you won't see the bug.
Comment 5 Debarshi Ray 2015-08-04 15:17:17 UTC
Review of attachment 305202 [details] [review]:

Thanks for the patch, Alexandre. One question:

::: src/goabackend/Makefile.am
@@ +172,3 @@
+
+installwebextensionLTLIBRARIES = install-webextensionLTLIBRARIES
+$(installwebextensionLTLIBRARIES): install-libLTLIBRARIES

According to the workaround mentioned in the Automake bug, the left hand side should be install-webextensionLTLIBRARIES but you are missing the hyphen. I hope that is not an issue.
Comment 6 Debarshi Ray 2015-08-04 15:18:35 UTC
(In reply to Alexandre Rostovtsev from comment #4)
> The failure is in parallel "make install". If you use parallel mode only for
> the main "make" call but not for "make install", you won't see the bug.

Ok. That makes sense because the workaround involves the installation targets.
Comment 7 Alexandre Rostovtsev 2015-08-04 15:24:29 UTC
(In reply to Debarshi Ray from comment #5)
> Review of attachment 305202 [details] [review] [review]:
> 
> Thanks for the patch, Alexandre. One question:
> 
> ::: src/goabackend/Makefile.am
> @@ +172,3 @@
> +
> +installwebextensionLTLIBRARIES = install-webextensionLTLIBRARIES
> +$(installwebextensionLTLIBRARIES): install-libLTLIBRARIES
> 
> According to the workaround mentioned in the Automake bug, the left hand
> side should be install-webextensionLTLIBRARIES but you are missing the
> hyphen. I hope that is not an issue.

No, it's a change in automake syntax since 2010. They got rid of the hyphens.
Comment 8 Alexandre Rostovtsev 2015-08-04 15:26:41 UTC
Again, take a look at how other projects with .la interdependencies are handling this: http://cgit.freedesktop.org/pulseaudio/pulseaudio/tree/src/Makefile.am#n2259
Comment 9 Debarshi Ray 2015-08-04 16:09:45 UTC
(In reply to Alexandre Rostovtsev from comment #7)
> (In reply to Debarshi Ray from comment #5)
> > Review of attachment 305202 [details] [review] [review] [review]:
> > 
> > Thanks for the patch, Alexandre. One question:
> > 
> > ::: src/goabackend/Makefile.am
> > @@ +172,3 @@
> > +
> > +installwebextensionLTLIBRARIES = install-webextensionLTLIBRARIES
> > +$(installwebextensionLTLIBRARIES): install-libLTLIBRARIES
> > 
> > According to the workaround mentioned in the Automake bug, the left hand
> > side should be install-webextensionLTLIBRARIES but you are missing the
> > hyphen. I hope that is not an issue.
> 
> No, it's a change in automake syntax since 2010. They got rid of the hyphens.

I see. Thanks for the clarification. I am never too sure when it comes to build systems.
Comment 10 Debarshi Ray 2015-08-04 16:10:01 UTC
Comment on attachment 305202 [details] [review]
proposed patch

Pushed to master.