Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 565544 - app-emulation/open-vm-tools-10.0.0_p3000743 libdndcp.la link failure
Summary: app-emulation/open-vm-tools-10.0.0_p3000743 libdndcp.la link failure
Status: RESOLVED OBSOLETE
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Unspecified (show other bugs)
Hardware: AMD64 Linux
: Normal normal (vote)
Assignee: Mike Gilbert
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-11-11 21:35 UTC by Mike DeSimone
Modified: 2017-11-30 19:13 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
Build log (build.log.gz,39.52 KB, application/x-gzip)
2015-11-11 21:44 UTC, Mike DeSimone
Details
Ebuild modified for 10.0.7 (open-vm-tools-10.0.7_p3227872.ebuild,2.76 KB, text/plain)
2016-04-15 15:15 UTC, Mike DeSimone
Details
Proposed 10.0.7 ebuild (open-vm-tools-ebuild-10.0.7.tar.bz2,4.51 KB, application/x-bzip2)
2016-04-24 16:15 UTC, Mike DeSimone
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Mike DeSimone 2015-11-11 21:35:09 UTC
While building app-emulation/open-vm-tools-10.0.0_p3000743, libdndcp.la fails to link.


Reproducible: Always

Steps to Reproduce:
1. add app-emulation/open-vm-tools to package.keywords
2. emerge app-emulation/open-vm-tools
Actual Results:  
[... successful commands omitted ...]
libtool: relink: x86_64-pc-linux-gnu-g++  -fPIC -DPIC -shared -nostdlib /usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3/../../../../lib64/crti.o /usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3/crtbeginS.o  .libs/libdndcp_la-dndClipboard.o .libs/libdndcp_la-dndCommon.o .libs/libdndcp_la-dndCPMsgV4.o .libs/libdndcp_la-dndLinux.o .libs/libdndcp_la-dndMsg.o .libs/libdndcp_la-copyPasteRpcV3.o .libs/libdndcp_la-dndFileList.o .libs/libdndcp_la-dndRpcV3.o .libs/libdndcp_la-guestCopyPasteDest.o .libs/libdndcp_la-guestCopyPasteMgr.o .libs/libdndcp_la-guestCopyPasteSrc.o .libs/libdndcp_la-guestDnDCPMgr.o .libs/libdndcp_la-guestDnDDest.o .libs/libdndcp_la-guestDnDMgr.o .libs/libdndcp_la-guestDnDSrc.o .libs/libdndcp_la-guestFileTransfer.o .libs/libdndcp_la-copyPasteRpcV4.o .libs/libdndcp_la-dndRpcV4.o .libs/libdndcp_la-fileTransferRpcV4.o .libs/libdndcp_la-rpcV3Util.o .libs/libdndcp_la-rpcV4Util.o .libs/libdndcp_la-dndCPTransportGuestRpc.o .libs/libdndcp_la-string.o .libs/libdndcp_la-xutils.o .libs/libdndcp_la-copyPasteCompat.o .libs/libdndcp_la-copyPasteCompatX11.o .libs/libdndcp_la-copyPasteDnDWrapper.o .libs/libdndcp_la-copyPasteDnDX11.o .libs/libdndcp_la-copyPasteUIX11.o .libs/libdndcp_la-dndUIX11.o .libs/libdndcp_la-dndcp.o .libs/libdndcp_la-dragDetWndX11.o .libs/libdndcp_la-pointer.o .libs/libdndcp_la-cpFileContents_xdr.o   -L/var/tmp/portage/app-emulation/open-vm-tools-10.0.0_p3000743/work/open-vm-tools-10.0.0-3000743/libvmtools/.libs -Wl,--as-needed -lXtst -lXrandr -lXrender -lXi -lXext -lSM -lICE -lX11 -lgtkmm-2.4 -latkmm-1.6 -lgdkmm-2.4 -lgiomm-2.4 -lpangomm-1.4 -lglibmm-2.4 -lcairomm-1.0 -lsigc-2.0 -lgtk-x11-2.0 -lgdk-x11-2.0 -lpangocairo-1.0 -latk-1.0 -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lpangoft2-1.0 -lpango-1.0 -lgobject-2.0 -lfontconfig -lfreetype -L/usr/lib64 -L/var/tmp/portage/app-emulation/open-vm-tools-10.0.0_p3000743/image/usr/lib64 -lhgfs -lgthread-2.0 -lvmtools -ldnet -ldl -lrt -lcrypt -lpthread -licui18n -licuuc -licudata -lglib-2.0 -L/usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3 -L/usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3/../../../../x86_64-pc-linux-gnu/lib -L/usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3/../../.. -lstdc++ -lm -lc -lgcc_s /usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3/crtendS.o /usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3/../../../../lib64/crtn.o  -O2 -Wl,-z -Wl,defs -Wl,-lc -Wl,-O1   -pthread -Wl,-soname -Wl,libdndcp.so -o .libs/libdndcp.so
dndUIX11.cpp:(.text+0xf03): undefined reference to `HgfsUri_ConvertFromPathToHgfsUri'
collect2: error: ld returned 1 exit status
libtool:   error: error: relink 'libdndcp.la' with the above command before installing it
Makefile:521: recipe for target 'install-pluginLTLIBRARIES' failed
make[5]: *** [install-pluginLTLIBRARIES] Error 1
make[5]: Leaving directory '/var/tmp/portage/app-emulation/open-vm-tools-10.0.0_p3000743/work/open-vm-tools-10.0.0-3000743/services/plugins/dndcp'
Makefile:1003: recipe for target 'install-am' failed
make[4]: *** [install-am] Error 2
make[4]: Leaving directory '/var/tmp/portage/app-emulation/open-vm-tools-10.0.0_p3000743/work/open-vm-tools-10.0.0-3000743/services/plugins/dndcp'
Makefile:997: recipe for target 'install' failed
make[3]: *** [install] Error 2
make[3]: Leaving directory '/var/tmp/portage/app-emulation/open-vm-tools-10.0.0_p3000743/work/open-vm-tools-10.0.0-3000743/services/plugins/dndcp'
Makefile:454: recipe for target 'install-recursive' failed
make[2]: *** [install-recursive] Error 1
make[2]: Leaving directory '/var/tmp/portage/app-emulation/open-vm-tools-10.0.0_p3000743/work/open-vm-tools-10.0.0-3000743/services/plugins'
Makefile:446: recipe for target 'install-recursive' failed
make[1]: *** [install-recursive] Error 1
make[1]: Leaving directory '/var/tmp/portage/app-emulation/open-vm-tools-10.0.0_p3000743/work/open-vm-tools-10.0.0-3000743/services'
Makefile:506: recipe for target 'install-recursive' failed
make: *** [install-recursive] Error 1


Expected Results:  
The file should link, the ebuild should succeed, etc.

Google tells me that HgfsUri_ConvertFromPathToHgfsUri is defined in open-vm-tools/open-vm-tools/lib/hgfsUri/hgfsUriPosix.c, but there's no hgfsUriPosix.o in the link command.

Versions prior to 10 don't build against the 4.1 kernel.

# emerge --info '=app-emulation/open-vm-tools-10.0.0_p3000743::gentoo'
Portage 2.2.20.1 (python 3.4.3-final-0, default/linux/amd64/13.0/desktop, gcc-4.9.3, glibc-2.21-r1, 4.0.5-gentoo x86_64)
=================================================================
                         System Settings
=================================================================
System uname: Linux-4.0.5-gentoo-x86_64-Intel-R-_Core-TM-_i7-4980HQ_CPU_@_2.80GHz-with-gentoo-2.2
KiB Mem:     4053732 total,   1354712 free
KiB Swap:    4194300 total,   4187236 free
Timestamp of repository gentoo: Mon, 09 Nov 2015 03:20:01 +0000
sh bash 4.3_p39
ld GNU ld (Gentoo 2.25.1 p1.1) 2.25.1
distcc 3.2rc1 x86_64-pc-linux-gnu [disabled]
app-shells/bash:          4.3_p39::gentoo
dev-lang/perl:            5.20.2::gentoo
dev-lang/python:          2.7.10::gentoo, 3.4.3::gentoo
dev-util/cmake:           3.2.2::gentoo
dev-util/pkgconfig:       0.28-r2::gentoo
sys-apps/baselayout:      2.2::gentoo
sys-apps/openrc:          0.17::gentoo
sys-apps/sandbox:         2.6-r1::gentoo
sys-devel/autoconf:       2.13::gentoo, 2.69::gentoo
sys-devel/automake:       1.11.6-r1::gentoo, 1.12.6::gentoo, 1.14.1::gentoo, 1.15::gentoo
sys-devel/binutils:       2.25.1-r1::gentoo
sys-devel/gcc:            4.9.3::gentoo
sys-devel/gcc-config:     1.7.3::gentoo
sys-devel/libtool:        2.4.6::gentoo
sys-devel/make:           4.1-r1::gentoo
sys-kernel/linux-headers: 3.18::gentoo (virtual/os-headers)
sys-libs/glibc:           2.21-r1::gentoo
Repositories:

gentoo
    location: /usr/portage
    sync-type: rsync
    sync-uri: rsync://mirror.arlut.utexas.edu/gentoo-portage
    priority: -1000

x-portage
    location: /usr/local/portage
    masters: gentoo
    priority: 0

ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="* -@EULA"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://mirror.arlut.utexas.edu/gentoo"
LANG="en_US.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j10 -l3"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
USE="X a52 aac acl acpi alsa amd64 bash-completion berkdb branding bzip2 cairo cdda cdr cli consolekit corefonts cracklib crypt cups curl cursors cvs cxx dbus device-mapper dot dri dts dvd dvdr emboss encode exif fam fat fftw firefox flac fontconfig fortran ftdi fuse gdbm gif glamor gpg gpm graphviz gtk gtk3 gtkstyle http icons iconv icu imagemagick ipv6 jpeg jpeg2k lapack latex lcms libkms libnotify lua lvm lzma mad mmx mmxext mng modules mp3 mp4 mpeg multilib ncurses nfs nfsdcld nfsidmap nfsv41 nis nls nptl ogg opengl openmp pam pango pcre pdf png policykit postscript ppds python qt3support qt4 readline rpc script sdl seccomp session slang smp spell sqlite sse sse2 ssh ssl startup-notification subversion svg tcpd thunar tiff truetype udev udisks unicode upower usb vala vorbis wxwidgets x264 xa xattr xcb xetex xml xorg xpm xscreensaver xv xvid zlib" ABI_X86="64" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="aes avx avx2 fma3 mmx mmxext popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="en en_US" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-5" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_4" RUBY_TARGETS="ruby20 ruby21" USERLAND="GNU" VIDEO_CARDS="vmware" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CC, CPPFLAGS, CTARGET, CXX, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON
Comment 1 Mike DeSimone 2015-11-11 21:38:37 UTC
As seen in the info dump, current kernel is 4.0.5, but I have built a 4.1.12 kernel, switched to it with eselect, and it's what this ebuild should be building against. (This bug was first seen via `emerge @module-rebuild`.)
Comment 2 Mike DeSimone 2015-11-11 21:44:54 UTC
Created attachment 416722 [details]
Build log

# emerge -pqv '=app-emulation/open-vm-tools-10.0.0_p3000743::gentoo'
[ebuild     U ] app-emulation/open-vm-tools-10.0.0_p3000743 [9.10.2_p2822639] USE="X icu pam pic -doc -grabbitmqproxy -vgauth -xinerama"
Comment 3 Mike DeSimone 2016-02-01 20:13:31 UTC
Further debugging has revealed that this bug only manifests if the X use flag is present. Disabling the X use flag has the downside of preventing X from getting the correct screen dimensions.

This report has been ignored for months. Is open-vm-tools no longer supported?
Comment 4 Mike Gilbert gentoo-dev 2016-02-01 21:25:06 UTC
I don't have a system running VMWare with X, so this has not been a high priority for me personally.

Patches are welcome; otherwise I will get to this when I can.
Comment 5 Rudolf Mayerhofer 2016-02-27 22:05:00 UTC
(In reply to Mike Gilbert from comment #4)
> I don't have a system running VMWare with X, so this has not been a high
> priority for me personally.
> 
> Patches are welcome; otherwise I will get to this when I can.

This seems to have been fixed upstream at some point after 10.0.0-3000743 as the current stable upstream version (10.0.7-3227872) builds perfectly fine for me (with the X useflag) after manually bumping the version of the ebuild.
Comment 6 Mike DeSimone 2016-04-15 15:15:58 UTC
Created attachment 430652 [details]
Ebuild modified for 10.0.7

Rudolf, I have tried to build a version-bumped ebuild (attached) and I'm having the same problem.

libtool: relink: x86_64-pc-linux-gnu-g++  -fPIC -DPIC -shared -nostdlib /usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3/../../../../lib64/crti.o /usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3/crtbeginS.o  .libs/libdndcp_la-dndClipboard.o .libs/libdndcp_la-dndCommon.o .libs/libdndcp_la-dndCPMsgV4.o .libs/libdndcp_la-dndLinux.o .libs/libdndcp_la-dndMsg.o .libs/libdndcp_la-copyPasteRpcV3.o .libs/libdndcp_la-dndFileList.o .libs/libdndcp_la-dndRpcV3.o .libs/libdndcp_la-guestCopyPasteDest.o .libs/libdndcp_la-guestCopyPasteMgr.o .libs/libdndcp_la-guestCopyPasteSrc.o .libs/libdndcp_la-guestDnDCPMgr.o .libs/libdndcp_la-guestDnDDest.o .libs/libdndcp_la-guestDnDMgr.o .libs/libdndcp_la-guestDnDSrc.o .libs/libdndcp_la-guestFileTransfer.o .libs/libdndcp_la-copyPasteRpcV4.o .libs/libdndcp_la-dndRpcV4.o .libs/libdndcp_la-fileTransferRpcV4.o .libs/libdndcp_la-rpcV3Util.o .libs/libdndcp_la-rpcV4Util.o .libs/libdndcp_la-dndCPTransportGuestRpc.o .libs/libdndcp_la-string.o .libs/libdndcp_la-xutils.o .libs/libdndcp_la-copyPasteCompat.o .libs/libdndcp_la-copyPasteCompatX11.o .libs/libdndcp_la-copyPasteDnDWrapper.o .libs/libdndcp_la-copyPasteDnDX11.o .libs/libdndcp_la-copyPasteUIX11.o .libs/libdndcp_la-dndUIX11.o .libs/libdndcp_la-dndcp.o .libs/libdndcp_la-dragDetWndX11.o .libs/libdndcp_la-pointer.o .libs/libdndcp_la-cpFileContents_xdr.o   -L/var/tmp/portage/app-emulation/open-vm-tools-10.0.7_p3227872/work/open-vm-tools-10.0.7-3227872/libvmtools/.libs -Wl,--as-needed -lXtst -lXrandr -lXrender -lXi -lXinerama -lXext -lSM -lICE -lX11 -lgtkmm-2.4 -latkmm-1.6 -lgdkmm-2.4 -lgiomm-2.4 -lpangomm-1.4 -lglibmm-2.4 -lcairomm-1.0 -lsigc-2.0 -lgtk-x11-2.0 -lgdk-x11-2.0 -lpangocairo-1.0 -latk-1.0 -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lpangoft2-1.0 -lpango-1.0 -lgobject-2.0 -lfontconfig -lfreetype -L/usr/lib64 -L/var/tmp/portage/app-emulation/open-vm-tools-10.0.7_p3227872/image/usr/lib64 -lhgfs -lgthread-2.0 -lvmtools -ldnet -ldl -lrt -lcrypt -lpthread -licui18n -licuuc -licudata -lglib-2.0 -L/usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3 -L/usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3/../../../../x86_64-pc-linux-gnu/lib -L/usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3/../../.. -lstdc++ -lm -lc -lgcc_s /usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3/crtendS.o /usr/lib/gcc/x86_64-pc-linux-gnu/4.9.3/../../../../lib64/crtn.o  -O2 -Wl,-z -Wl,defs -Wl,-lc -Wl,-O1   -pthread -Wl,-soname -Wl,libdndcp.so -o .libs/libdndcp.so
.libs/libdndcp_la-dndUIX11.o: In function `DnDUIX11::SetCPClipboardFromGtk(Gtk::SelectionData const&)':
dndUIX11.cpp:(.text+0xea3): undefined reference to `HgfsUri_ConvertFromPathToHgfsUri'
collect2: error: ld returned 1 exit status
Comment 7 Mike DeSimone 2016-04-24 16:15:40 UTC
Created attachment 431828 [details]
Proposed 10.0.7 ebuild

I think I figured out what Rudolf did. Using the stable tarball (https://github.com/vmware/open-vm-tools/archive/stable-10.0.7.tar.gz) instead of the snapshot tarball (https://github.com/vmware/open-vm-tools/files/133266/open-vm-tools-10.0.7-3227872.tar.gz), the package will successfully build with USE=X. Something about the snapshot tarball breaks relinking on the drag-and-drop module.

Anyway, I've included an ebuild that builds for me(TM). The vgauth patch had to change because `vgauth/service` in the stable tarball doesn't have `Makefile.in`, just the (actually used) `Makefile.am`. You'll probably want to remove the `RESTRICT="mirror"` line once the tarball shows up on the mirrors. SRC_URI was changed to rename `stable-10.0.7.tar.gz` to `open-vm-tools-10.0.7.tar.gz`, and S was adjusted as needed. Other than that, the ebuild is the same as 10.0.0.

This tarball is what I put into my /usr/local/portage overlay; it's not a patch. in `app-emulation/open-vm-tools/files`, the modified patch is named `10-stable-vgauth.patch`, and the other files are direct copies of the ones currently in portage.

Comments welcome. This is the first time I've modified an ebuild.
Comment 8 Manfred Knick 2017-11-30 19:13:47 UTC
(In reply to Rudolf Mayerhofer from comment #5)

> This seems to have been fixed upstream at some point after 10.0.0-3000743 as
> the current stable upstream version (10.0.7-3227872) builds perfectly fine
> for me (with the X useflag) after manually bumping the version of the ebuild.


(In reply to Mike DeSimone from comment #7)

> Proposed 10.0.7 ebuild

Current app-emulation/open-vm-tools is >= 10.1.10 .

Current upstream open-vm-tools is >= 10.1.15
[ https://github.com/vmware/open-vm-tools ] .


Please, open a-new in case this problem persists.

Thank you.