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 651923 - gtk-vnc-0.4.3 parallel installation fails
gtk-vnc-0.4.3 parallel installation fails
Status: RESOLVED WONTFIX
Product: gtk-vnc
Classification: Other
Component: general
0.4.x
Other Linux
: Normal normal
: ---
Assigned To: gtk-vnc-maint
gtk-vnc-maint
Depends on:
Blocks:
 
 
Reported: 2011-06-05 13:24 UTC by Pacho Ramos
Modified: 2013-09-13 11:34 UTC
See Also:
GNOME target: ---
GNOME version: ---


Attachments
build.log (59.69 KB, text/plain)
2012-10-01 16:30 UTC, Pacho Ramos
Details

Description Pacho Ramos 2011-06-05 13:24:37 UTC
As reported downstream at:
http://bugs.gentoo.org/show_bug.cgi?id=328273

Parallel installation fails with:

Making install in src
make[1]: Entering directory `/home/pacho/gtk-vnc-0.4.3/src'
make  install-am
make[2]: Entering directory `/home/pacho/gtk-vnc-0.4.3/src'
make[3]: Entering directory `/home/pacho/gtk-vnc-0.4.3/src'
test -z "/home/pacho/gtk-vnc/lib" || /bin/mkdir -p "/home/pacho/gtk-vnc/lib"
test -z "/home/pacho/gtk-vnc/lib64/python2.7/site-packages" || /bin/mkdir -p "/home/pacho/gtk-vnc/lib64/python2.7/site-packages"
 /bin/sh ../libtool   --mode=install /usr/bin/install -c   libgvnc-1.0.la libgtk-vnc-1.0.la '/home/pacho/gtk-vnc/lib'
test -z "/home/pacho/gtk-vnc/share/gir-1.0" || /bin/mkdir -p "/home/pacho/gtk-vnc/share/gir-1.0"
 /bin/sh ../libtool   --mode=install /usr/bin/install -c   gtkvnc.la '/home/pacho/gtk-vnc/lib64/python2.7/site-packages'
test -z "/home/pacho/gtk-vnc/include/gtk-vnc-1.0/" || /bin/mkdir -p "/home/pacho/gtk-vnc/include/gtk-vnc-1.0/"
 /usr/bin/install -c -m 644 GVnc-1.0.gir GtkVnc-1.0.gir '/home/pacho/gtk-vnc/share/gir-1.0'
 /usr/bin/install -c -m 644 vncdisplay.h vncdisplayenums.h vncgrabsequence.h vncimageframebuffer.h '/home/pacho/gtk-vnc/include/gtk-vnc-1.0/'
test -z "/home/pacho/gtk-vnc/include/gvnc-1.0/" || /bin/mkdir -p "/home/pacho/gtk-vnc/include/gvnc-1.0/"
test -z "/home/pacho/gtk-vnc/lib/girepository-1.0" || /bin/mkdir -p "/home/pacho/gtk-vnc/lib/girepository-1.0"
 /usr/bin/install -c -m 644 vncpixelformat.h vncframebuffer.h vncbaseframebuffer.h vnccursor.h vnccolormap.h vncconnection.h vncconnectionenums.h vncutil.h '/home/pacho/gtk-vnc/include/gvnc-1.0/'
 /usr/bin/install -c -m 644 GVnc-1.0.typelib GtkVnc-1.0.typelib '/home/pacho/gtk-vnc/lib/girepository-1.0'
libtool: install: /usr/bin/install -c .libs/libgvnc-1.0.so.0.0.1 /home/pacho/gtk-vnc/lib/libgvnc-1.0.so.0.0.1
libtool: install: (cd /home/pacho/gtk-vnc/lib && { ln -s -f libgvnc-1.0.so.0.0.1 libgvnc-1.0.so.0 || { rm -f libgvnc-1.0.so.0 && ln -s libgvnc-1.0.so.0.0.1 libgvnc-1.0.so.0; }; })
libtool: install: (cd /home/pacho/gtk-vnc/lib && { ln -s -f libgvnc-1.0.so.0.0.1 libgvnc-1.0.so || { rm -f libgvnc-1.0.so && ln -s libgvnc-1.0.so.0.0.1 libgvnc-1.0.so; }; })
libtool: install: warning: relinking `gtkvnc.la'
libtool: install: (cd /home/pacho/gtk-vnc-0.4.3/src; /bin/sh /home/pacho/gtk-vnc-0.4.3/libtool  --silent --tag CC --mode=relink gcc -std=gnu99 -pthread -I/usr/include/gtk-2.0 -I/usr/lib64/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng14 -I/usr/include/libdrm -I/usr/include/python2.7 -pthread -I/usr/include/pygtk-2.0 -I/usr/include/gtk-2.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/lib64/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/pango-1.0 -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng14 -I/usr/include/libdrm -Wno-redundant-decls -g -O2 -module -avoid-version -fPIC -o gtkvnc.la -rpath /home/pacho/gtk-vnc/lib64/python2.7/site-packages gtkvnc_la-vncmodule.lo gtkvnc_la-vncmodule.defs.lo libgtk-vnc-1.0.la -pthread -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lm -lcairo -lpng14 -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0 -lz )
libtool: install: /usr/bin/install -c .libs/libgvnc-1.0.lai /home/pacho/gtk-vnc/lib/libgvnc-1.0.la
libtool: install: warning: relinking `libgtk-vnc-1.0.la'
libtool: install: (cd /home/pacho/gtk-vnc-0.4.3/src; /bin/sh /home/pacho/gtk-vnc-0.4.3/libtool  --silent --tag CC --mode=relink gcc -std=gnu99 -pthread -I/usr/include/gtk-2.0 -I/usr/lib64/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib64/glib-2.0/include -I/usr/include/pixman-1 -I/usr/include/freetype2 -I/usr/include/libpng14 -I/usr/include/libdrm -Wall -Wformat -Wformat-security -Wmissing-prototypes -Wnested-externs -Wpointer-arith -Wextra -Wshadow -Wcast-align -Wwrite-strings -Waggregate-return -Winline -Wredundant-decls -Wno-sign-compare -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fasynchronous-unwind-tables -DSYSCONFDIR=\"/home/pacho/gtk-vnc/etc\" -DPACKAGE_LOCALE_DIR=\"/home/pacho/gtk-vnc/share/locale\" -DG_LOG_DOMAIN=\"gtk-vnc\" -g -O2 -Wl,--version-script=./libgtk-vnc_sym.version -Wl,--no-undefined -version-info 0:1:0 -o libgtk-vnc-1.0.la -rpath /home/pacho/gtk-vnc/lib libgtk_vnc_1_0_la-vnccairoframebuffer.lo libgtk_vnc_1_0_la-vncdisplay.lo libgtk_vnc_1_0_la-vncdisplayenums.lo libgtk_vnc_1_0_la-vncdisplaykeymap.lo libgtk_vnc_1_0_la-vncgrabsequence.lo libgtk_vnc_1_0_la-vncmarshal.lo libgtk_vnc_1_0_la-vncimageframebuffer.lo -pthread -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgio-2.0 -lpangoft2-1.0 -lpangocairo-1.0 -lgdk_pixbuf-2.0 -lm -lcairo -lpng14 -lpango-1.0 -lfreetype -lfontconfig -lgobject-2.0 -lgmodule-2.0 -lgthread-2.0 -lrt -lglib-2.0 -lX11 libgvnc-1.0.la -lz )
/home/pacho/gtk-vnc-0.4.3/src/.libs/libgtk-vnc-1.0.so: file not recognized: File truncated
collect2: ld returned 1 exit status
libtool: install: error: relink `gtkvnc.la' with the above command before installing it
make[3]: *** [install-pyexecLTLIBRARIES] Error 1
make[3]: *** Waiting for unfinished jobs....
libtool: install: /usr/bin/install -c .libs/libgtk-vnc-1.0.so.0.0.1T /home/pacho/gtk-vnc/lib/libgtk-vnc-1.0.so.0.0.1
libtool: install: (cd /home/pacho/gtk-vnc/lib && { ln -s -f libgtk-vnc-1.0.so.0.0.1 libgtk-vnc-1.0.so.0 || { rm -f libgtk-vnc-1.0.so.0 && ln -s libgtk-vnc-1.0.so.0.0.1 libgtk-vnc-1.0.so.0; }; })
libtool: install: (cd /home/pacho/gtk-vnc/lib && { ln -s -f libgtk-vnc-1.0.so.0.0.1 libgtk-vnc-1.0.so || { rm -f libgtk-vnc-1.0.so && ln -s libgtk-vnc-1.0.so.0.0.1 libgtk-vnc-1.0.so; }; })
libtool: install: /usr/bin/install -c .libs/libgtk-vnc-1.0.lai /home/pacho/gtk-vnc/lib/libgtk-vnc-1.0.la
libtool: finish: PATH="/usr/local/bin:/usr/bin:/bin:/opt/bin:/usr/x86_64-pc-linux-gnu/gcc-bin/4.4.5:/usr/games/bin:/sbin" ldconfig -n /home/pacho/gtk-vnc/lib
----------------------------------------------------------------------
Libraries have been installed in:
   /home/pacho/gtk-vnc/lib

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:
   - add LIBDIR to the `LD_LIBRARY_PATH' environment variable
     during execution
   - add LIBDIR to the `LD_RUN_PATH' environment variable
     during linking
   - use the `-Wl,-rpath -Wl,LIBDIR' linker flag
   - have your system administrator add LIBDIR to `/etc/ld.so.conf'

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
make[3]: Leaving directory `/home/pacho/gtk-vnc-0.4.3/src'
make[2]: *** [install-am] Error 2
make[2]: Leaving directory `/home/pacho/gtk-vnc-0.4.3/src'
make[1]: *** [install] Error 2
make[1]: Leaving directory `/home/pacho/gtk-vnc-0.4.3/src'
make: *** [install-recursive] Error 1

Thanks for your help
Comment 1 Daniel P. Berrange 2012-07-02 14:33:08 UTC
I'm still unable to reproduce this and can't spot an obvious error in the Makefile.am rules myself. Can you try to confirm if this still happens with the 0.5.0 release, otherwise I'll close this bug.
Comment 2 Pacho Ramos 2012-10-01 16:30:39 UTC
Created attachment 225511 [details]
build.log

Updated build.log with 0.5.1:
https://bugs.gentoo.org/show_bug.cgi?id=328273#c37
Comment 3 Daniel P. Berrange 2013-01-31 11:02:01 UTC
I'm still unable to reproduce this problem on any system even on a 16 core machine using 'make -j 30'. I also can't see any obvious mistake in the Makefile.am that would cause libtool to screw up install in this way. 

So in the absence of someone being able to identify / point to the bug, I can only assume that this is a issue with something in Gentoo build environment / toolchain, rather than gtk-vnc.

I'm closing this bug - re-open/re-file if you can clearly point to a GTK-VNC makefile.am bug.
Comment 4 Gilles Dartiguelongue 2013-01-31 13:11:44 UTC
From the downstream bug:
 * refs https://bugs.gentoo.org/show_bug.cgi?id=253862
 * refs http://www.mail-archive.com/libtool@gnu.org/msg05871.html

This is not a bug of gtk-vnc per see but a problem with libtool not handling nicely two libs being built in the same folder with one depending on the other.

You have a non-null chance for it to work, but if you are not in luck it will fail in various ways: file not existing when trying to link the lib, file truncated messages, etc.

The solution, which is the recommended workaround by libtool upstream, is to move the lib that is needed by the other one to a different folder (a subfolder for example).
Comment 5 Pacho Ramos 2013-01-31 18:45:42 UTC
Will reopen then to see if it can be workarounded at least :)
Comment 6 Daniel P. Berrange 2013-01-31 20:01:47 UTC
This explanation still doesn't explain why no one has been able to reproduce the issue doing parallel make installs on non-Gentoo distributions. I've done enough parallel builds on Fedora/RHEL that I'm not prepared to accept that I'm merely being "lucky" to not hit the race.

I'm also not interested in re-arranging the source code for this issue.
Comment 7 Pacho Ramos 2013-01-31 20:27:04 UTC
If I don't misremember, Lennart told me (on a similar bug related with parallel make installation problem with libcanberra), that they weren't supporting parallel installations, are you sure you are really making a parallel *installation* on your redhat system? (I think fedora stuff is built in parallel but installed with -j1)
Comment 8 Alexandre Rostovtsev 2013-01-31 20:38:16 UTC
Daniel, in other words: "make -j30" works, but "make -j30 install" fails.
Comment 9 Daniel P. Berrange 2013-09-13 11:34:10 UTC
I cannot reproduce this myself even with 'make -j 20 install'. I'm not willing to re-arrange libraries into separate sub-directories to workaround this. If people hit this, then simply don't attempt a parallel 'make install', only do parallel build.