Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 562836 - [vmware overlay] [gcc-5.3.0] app-emulation/vmware-workstation-11.1.2.2780323-r3 USE=bundled-libs : undefined symbols _ZN4Glib*
Summary: [vmware overlay] [gcc-5.3.0] app-emulation/vmware-workstation-11.1.2.2780323-...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: AMD64 Linux
: Normal normal (vote)
Assignee: Gentoo VMWare Bug Squashers [disabled]
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2015-10-11 14:09 UTC by Manfred Knick
Modified: 2016-03-19 17:26 UTC (History)
1 user (show)

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


Attachments
/tmp/vmware-manfred/vmware-apploader-23449.log (vmware-apploader-23449.log,14.93 KB, text/x-log)
2015-10-11 14:10 UTC, Manfred Knick
Details
emerge --info vmware-workstation > 0_ei-v (0_ei-v,5.76 KB, text/plain)
2015-10-11 18:26 UTC, Manfred Knick
Details
libvmwareui.so.0 : Undefined symbols beginning with "ZN4Glib" (0.1,11.03 KB, text/plain)
2015-10-12 12:45 UTC, Manfred Knick
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Manfred Knick 2015-10-11 14:09:13 UTC
After seemingly correct "/etc/init.d/vmware start",
starting "vmware" simly exits without error message.

--> /tmp/vmware-manfred/vmware-apploader-23449.log :

appLoader| I120: Loading shipped version of libvmwareui.so.0.

appLoader| W110: Unable to load libvmwareui.so.0 from /opt/vmware/lib/vmware/lib/libvmwareui.so.0/libvmwareui.so.0: 
/opt/vmware/lib/vmware/lib/libvmwareui.so.0/libvmwareui.so.0: 
undefined symbol:
 _ZN4Glib10spawn_syncERKSsRKNS_11ArrayHandleISsNS_17Container_Helpers10TypeTraitsISsEEEENS_10SpawnFlagsERKN4sigc4slotIvNSA_3nilESC_SC_SC_SC_SC_SC_EEPSsSG_Pi

appLoader| W110: Unable to load dependencies for /opt/vmware/lib/vmware/lib/libvmware.so/libvmware.so

appLoader| W110: Unable to execute vmware.

Further information already in Bug 562670 .


Reproducible: Always
Comment 1 Manfred Knick 2015-10-11 14:10:34 UTC
Created attachment 414348 [details]
/tmp/vmware-manfred/vmware-apploader-23449.log
Comment 2 Manfred Knick 2015-10-11 18:21:52 UTC
(In reply to Manfred Knick from comment #0)

> starting "vmware" _silently_ exits without error message.
Comment 3 Manfred Knick 2015-10-11 18:26:27 UTC
Created attachment 414374 [details]
emerge --info vmware-workstation  > 0_ei-v
Comment 4 Manfred Knick 2015-10-11 18:29:10 UTC
(In reply to Manfred Knick from comment #0)

> undefined symbol:

Some investigation reveiled that a lot of other symbols like

>  _ZN4Glib*

are also undefined.

Anybody an idea which lib could be missing?

Thx.
Comment 5 Manfred Knick 2015-10-11 19:55:02 UTC
Concerning Bug 558242 :

The behaviour described above is uncorrelated to the 
openssl version [and corresponding symlink] in use -
I already tested that later openssl versions throw the same error.
Comment 6 Manfred Knick 2015-10-12 12:45:33 UTC
Created attachment 414440 [details]
libvmwareui.so.0 : Undefined symbols beginning with "ZN4Glib"

nm -D /opt/vmware/lib/vmware/lib/libvmwareui.so.0/libvmwareui.so.0

grep "U _ZN4Glib"
Comment 7 Kenton Groombridge 2015-10-12 13:20:21 UTC
I believe I had a similar problem when rebuilding my system with gcc-5.X.  Reverting back to 4.9.X solved it for me.
Comment 8 Manfred Knick 2015-10-12 14:55:57 UTC
(In reply to Kenton Groombridge from comment #7)
> I believe I had a similar problem when rebuilding my system with gcc-5.X. 

Same suspicion meanwhile ...

Special suspect :  dev-cpp/glibmm-2.44.0:2

> Reverting back to 4.9.X solved it for me.

Can you remember if
just re-building vmware-* was enough ?

Or did you re-built even toolchain etc.?
Comment 9 Manfred Knick 2015-10-12 17:38:05 UTC
_NOT_ enough:

.- emerge -aC vmware-modules vmware-tools vmware-workstation
.- switch to gcc-4.9
.- emerge vmware-workstation (and vmware-modules vmware-tools )

/etc/init.d/vmware start : --> same errors ( BUG 562670 )

vmware (applicatgion start) :  --> same errors ( this BUG 562836 )
Comment 10 Kenton Groombridge 2015-10-12 20:10:24 UTC
(In reply to Manfred Knick from comment #8)

> Or did you re-built even toolchain etc.?

I had to rebuild the entire toolchain before I could get vmware-workstation working again.  Yes, a pain, but the price we pay by playing with unstable.
Comment 11 Manfred Knick 2015-10-12 23:17:37 UTC
My suspects are the dev-cpp-entries from BUNDLED_LIB_DEPENDS :
    dev-cpp/atkmm
    dev-cpp/cairomm
    dev-cpp/gtkmm:2.4
    dev-cpp/glibmm:2
built with gcc-5.2.0 .
Comment 12 Manfred Knick 2015-10-13 08:46:55 UTC
(In *cross-reference* to Andreas K. Hüttel) :

. . . https://bugs.gentoo.org/show_bug.cgi?id=562764#c10

> If you're using gcc-5, you will *have* to use USE=bundled-libs
> 
> And possibly some additional hacks are needed which I'm still working on (to
> make sure libs from /opt/vmware are preferred).
> 
> (c++ libraries compiled with gcc-5 are not binary-compatible.)

@ Andreas: Thanks for confirmation
Comment 13 Manfred Knick 2015-10-13 08:56:16 UTC
Result with bundlded libs:

/etc/init.d/vmware:
... vmware-usbarb-8671.log:
... ... same

vmware:
... vmware-apploader-8829.log:
... ... same
Comment 14 Andreas K. Hüttel archtester gentoo-dev 2015-10-13 09:56:45 UTC
(In reply to Manfred Knick from comment #13)
> Result with bundlded libs:
> 
> /etc/init.d/vmware:
> ... vmware-usbarb-8671.log:
> ... ... same
> 
> vmware:
> ... vmware-apploader-8829.log:
> ... ... same

Sync your overlay and try again. There was something badly wrong with USE=bundled-libs ... (the libraries were removed unconditionally)
Comment 15 Manfred Knick 2015-10-13 13:58:28 UTC
(In reply to Andreas K. Hüttel from comment #14)

> (the libraries were removed unconditionally)

Unfortunately, the above note already based upon
this morning's git pull, including your fix :

... if ! use bundled-libs ; then
...        clean_bundled_libs
... fi

Two failing links in
... /opt/vmware/lib/vmware/lib/libvmwarebase.so.0:

... libcrypto.so.0.9.8 -> 
... /opt/vmware/lib/vmware/lib/libcrypto.so.0.9.8/libcrypto.so.0.9.8

... libssl.so.0.9.8 -> 
... /opt/vmware/lib/vmware/lib/libssl.so.0.9.8/libssl.so.0.9.8

... # equery belongs libcrypto.so libvmwarebase.so 
points to dev-libs/openssl.

# equery list -p dev-libs/openssl       
[IP-] [  ] dev-libs/openssl-0.9.8z_p7:0.9.8
...
[IP-] [  ] dev-libs/openssl-1.0.2d:0
...

# equery files =dev-libs/openssl-0.9.8z_p7:0.9.8 | grep ".so"
/usr/lib64/libcrypto.so.0.9.8
/usr/lib64/libssl.so.0.9.8

This points to chapter "src_install()", section "# Bug 432918",
working with 
... version "0.9.8".

But in
... BUNDLED_LIBS_DIR=/opt/vmware/lib/vmware/lib
I find corresponding libraries
working with 
... version "1.0.1":

# pwd
/opt/vmware/lib/vmware/lib

# find . -name libcrypto.so*
./libcrypto.so.1.0.1
./libcrypto.so.1.0.1/libcrypto.so.1.0.1

# find . -name libssl.so*   
./libssl.so.1.0.1
./libssl.so.1.0.1/libssl.so.1.0.1


@ Andreas: seems one of your fixes got lost ?

*cross-reference* : Bug 558242 comment 4

... https://bugs.gentoo.org/show_bug.cgi?id=558242#c4
Comment 16 Manfred Knick 2015-10-13 14:04:11 UTC
? ALTERNATIVE ?

Currrently:

RDEPEND="
...
    dev-libs/openssl:0.9.8
...

The links matching from system would be

# equery files =dev-libs/openssl-0.9.8z_p7:0.9.8 | grep ".so"

/usr/lib64/libcrypto.so.0.9.8
/usr/lib64/libssl.so.0.9.8


@ Andreas :

Perhaps this entry should be moved to BUNDLED_LIB_DEPENDS also ?
Comment 17 Manfred Knick 2015-10-13 14:45:06 UTC
Adapted to =dev-libs/openssl-1.0.1* in BUNDLED_LIB_DEPENDS

and changed the dosym's accordingly.

Still the same as in comment 13 :

... nm -D /opt/vmware/lib/vmware/lib/libcrypto.so.1.0.1/libcrypto.so.1.0.1
... nm -D /opt/vmware/lib/vmware/lib/libssl.so.1.0.1/libssl.so.1.0.1

( openssl is unrelated to any _ZN4Glib* symbols . )
Comment 18 Manfred Knick 2015-10-13 16:18:21 UTC
(In reply to Manfred Knick from comment #0)

> undefined symbol:

>  _ZN4Glib10spawn_syncERKSsRKNS_11ArrayHandleISsNS_17Container_Helpers10TypeTr
> aitsISsEEEENS_10SpawnFlagsERKN4sigc4slotIvNSA_3nilESC_SC_SC_SC_SC_SC_EEPSsSG_
> Pi


is being defined in 

... /opt/vmware/lib/vmware/lib/libglibmm-2.4.so.1/libglibmm-2.4.so.1

belonging to

... BUNDLED_LIB_DEPENDS=

... ... ... dev-cpp/glibmm:2
Comment 19 Manfred Knick 2015-10-13 17:05:43 UTC
grep "glibmm-2"  vmware-apploader-19107.log 

 appLoader| I120: Marking libglibmm-2.4.so.1 node as INVALID.

 appLoader| I120: Marking libglibmm-2.4.so.1 node as SYSTEM.

 appLoader| I120: libglibmm-2.4.so.1 <SYSTEM>

 appLoader| I120: Loading system version of libglibmm-2.4.so.1.


==>  although being requested as BUNDLED_LIB,   <==
==>  the _system_ lib gets loaded! ,            <==

which is dev-cpp/glibmm-2.44.0:2 ,   and 

which indeed does _not_ provide the requested symbol.
Comment 20 Manfred Knick 2015-10-13 18:21:41 UTC
ADDENDUM:

Forgot to cite: Application call was done by

... $ LD_LIBRARY_PATH="/opt/vmware/lib/vmware/lib/*/" 
...      && export LD_LIBRARY_PATH 
...      &&  vmware
Comment 21 Sven Eden 2015-10-23 05:22:13 UTC
(In reply to Manfred Knick from comment #20)
> ADDENDUM:
> 
> Forgot to cite: Application call was done by
> 
> ... $ LD_LIBRARY_PATH="/opt/vmware/lib/vmware/lib/*/" 
> ...      && export LD_LIBRARY_PATH 
> ...      &&  vmware

Does this work?

LD_LIBRARY_PATH=/opt/vmware/lib/vmware/lib/libglibmm-2.4.so.1/:\
/usr/lib64/gtk-2.0/modules/:\
$LD_LIBRARY_PATH /opt/vmware/bin/vmware

This is how I start vmware-worksation merged with the -r1 ebuild, my system is built using gcc-5.2.0.
Comment 22 Manfred Knick 2015-10-24 20:54:58 UTC
(In reply to Sven Eden from comment #21)
> (In reply to Manfred Knick from comment #20)
 
> LD_LIBRARY_PATH=/opt/vmware/lib/vmware/lib/libglibmm-2.4.so.1/:\
> /usr/lib64/gtk-2.0/modules/:\
> $LD_LIBRARY_PATH /opt/vmware/bin/vmware

Confirmed with -r3 :

. . . "works" := "starts at least" :

Only error messages:

... I/O warning : failed to load external entity "/etc/vmware/hostd/proxy.xml"
... I/O warning : failed to load external entity "/etc/vmware/hostd/proxy.xml"
... I/O warning : failed to load external entity "/etc/vmware/hostd/proxy.xml"
... I/O warning : failed to load external entity "/etc/vmware/hostd/proxy.xml"

which really does not exist at all.
Comment 23 Manfred Knick 2015-10-24 21:26:33 UTC
(In reply to Manfred Knick from comment #22)
> (In reply to Sven Eden from comment #21)
> > (In reply to Manfred Knick from comment #20)

> Only ...

ADDENDUM:   There's more:

# grep -i "unable"  /tmp/vmware-manfred/*.log  | more

I120: Unable to dlopen libgtkmm-2.4.so.1 on the system.  /usr/lib64/libgiomm-2.4.so.1: undefined symbol: _ZN4Glib11VariantTypeD1Ev
I120: Unable to dlopen libgtkmm-2.4.so.1 on the system.  /usr/lib64/libgiomm-2.4.so.1: undefined symbol: _ZN4Glib11VariantTypeD1Ev
I120: Unable to dlopen libgtkmm-2.4.so.1 on the system.  /usr/lib64/libgiomm-2.4.so.1: undefined symbol: _ZN4Glib11VariantTypeD1Ev
I120: UUID: Unable to open /sys/firmware/efi/systab: No such file or directory
I120: UUID: Unable to open /dev/mem: Keine Berechtigung
I120: HostDeviceInfoFindHostIDECDROMs: /proc/ide could not be explored. Unable to enumerate host IDE cdroms.
I120: HostDeviceInfo_FindHostParallelPorts: /proc/sys/dev/parport could not be explored. Unable to enumerate host parallel ports.
I120: Unable to check configure-hostd.sh: Kindprozess »/opt/vmware/lib/vmware/bin/configure-hostd.sh« konnte nicht ausgeführt werden (Datei oder Verzeichnis nicht gefunden)
I120: UUID: Unable to open /sys/firmware/efi/systab: Datei oder Verzeichnis nicht gefunden
I120: UUID: Unable to open /dev/mem: Keine Berechtigung
I120: HostDeviceInfoFindHostIDECDROMs: /proc/ide could not be explored. Unable to enumerate host IDE cdroms.
I120: HostDeviceInfo_FindHostParallelPorts: /proc/sys/dev/parport could not be explored. Unable to enumerate host parallel ports.
Comment 24 Manfred Knick 2015-12-21 18:47:39 UTC
UPDATE:

   kernel 4.3.3-gentoo

   sys-devel/gcc-5.3.0

   vmware-workstation-11.1.2.2780323-r3   ( from layman overlay )

Applying
   https://bugs.gentoo.org/show_bug.cgi?id=561252   and
   https://bugs.gentoo.org/show_bug.cgi?id=565060   ,

> LD_LIBRARY_PATH=/opt/vmware/lib/vmware/lib/libglibmm-2.4.so.1/:\
> /usr/lib64/gtk-2.0/modules/:\
> $LD_LIBRARY_PATH /opt/vmware/bin/vmware            (comment #21)

started and I could begin to setup a linux guest.

Without wrangling LD_LIBRARY_PATH,
it failed silently as described earlier.
Comment 25 Andreas K. Hüttel archtester gentoo-dev 2016-03-19 17:26:00 UTC
This should be fixed now, finally. 

If you still have problems, please check two things: 

1) does /etc/env.d/90vmware exist and have a line VMWARE_USE_SHIPPED_LIBS=1  ???
2) is that variable in your environment when vmware is started?

if 1) and not 2), it might make sense to re-login...