VMware Communities
checkman
Contributor
Contributor

libpng12.so.0: no version information available

I run vmware-workstation 5.5.1 in ubuntu 5.1

newbie@boxit~$ uname -a

Linux boxit 2.6.16.1 #3 Sun Apr 9 22:10:21 CST 2006 i686 GNU/Linux

3 days ago, I could use vmware or vmplayer to start my windows 2k server guest box,but today I could not start it with the following error message .

newbie@boxit~$ vmware

/usr/lib/vmware/bin/vmware: /usr/lib/vmware/lib/libpng12.so.0/libpng12.so.0: no version information available (required by /usr/lib/libcairo.so.2)

kde-config: /usr/lib/vmware/lib/libpng12.so.0/libpng12.so.0: no version information available (required by /usr/lib/libqt-mt.so.3)

kde-config: /usr/lib/vmware/lib/libpng12.so.0/libpng12.so.0: no version information available (required by /usr/lib/libqt-mt.so.3)

\*** attempt to put segment in horiz list twice

newbie@boxit~$ vmplayer

/usr/lib/vmware/bin/vmplayer: /usr/lib/vmware/lib/libpng12.so.0/libpng12.so.0: no version information available (required by /usr/lib/libcairo.so.2)

kde-config: /usr/lib/vmware/lib/libpng12.so.0/libpng12.so.0: no version information available (required by /usr/lib/libqt-mt.so.3)

kde-config: /usr/lib/vmware/lib/libpng12.so.0/libpng12.so.0: no version information available (required by /usr/lib/libqt-mt.so.3)

\*** attempt to put segment in horiz list twice

newbie@boxit~$ vmware -v

/usr/lib/vmware/bin/vmware: /usr/lib/vmware/lib/libpng12.so.0/libpng12.so.0: no version information available (required by /usr/lib/libcairo.so.2)

VMware Workstation 5.5.1 build-19175

any body got the same thing ?

btw:I have not upgrade my uguntu box yet,and I apply the any-to-any update 101.

Reply
0 Kudos
32 Replies
petr
VMware Employee
VMware Employee

Perhaps you've updated libpng (or libcairo/libqt?) on your system, and libpng12 shipped with VMware is now needed... Either search your distro for libpng12, or try 'VMWARE_USE_SHIPPED_GTK=force vmware'. If you'll find libpng12 in your distro, everything should work. If you'll use VMWARE_USE_SHIPPED_GTK environment variable, theme you are using will probably not apply (at all or correctly) to the vmware.

Reply
0 Kudos
checkman
Contributor
Contributor

the real problem is the scim input methord.

when I remove the scim ,it work fine

thx Smiley Happy

Reply
0 Kudos
pdrap
Contributor
Contributor

I've got the same problem, and I'm running Debian testing on two systems. They both have identical libpng12 and libcairo libraries. On one system, vmware prints the message about the version information and exits (fails to start). On the other system, vmware prints the message and continues on to run normally.

I think there's something else going on besides a problem with libcairo and libpng, or else I wouldn't be able to run vmware on either system.

Reply
0 Kudos
pdrap
Contributor
Contributor

Additional information: shortly after I started having this trouble, my X server crashed. When it came back up, everything was working normally. I've seen other references to this particular problem attributed to library problems. Before looking at libraries, try restarting the X server.

Reply
0 Kudos
JRodd
Contributor
Contributor

I had this same problem. I am using KDE with dapper 6.06. I did an update today and suddenly vmware no longer worked. I was getting the same error as described in this thread. I tried both methods to fix the problem. First, I tried 'VMWARE_USE_SHIPPED_GTK=force vmware'. It worked great but did strip the theme. Once I was able to do that, I tried the other method of copying back the original libpng12.so.0 from the distrib. Of course I made a backup of the file before overwriting it. I was able to launch vmware again without any problems and my theme was restored.

Reply
0 Kudos
miltieIV2
Contributor
Contributor

This same error is now popping up in relation to a completely different problem.

On Debian unstable, the latest version of libhal (Hardware Abstraction Layer) breaks

vmware and must be downgraded from 0.5.7.1-2 to 0.5.7.1-1

Below are instructions for five steps:

downgrade, make a private copy, adjust the wrapper to use it, backup, re-upgrade.

Adjust all the /usr/lib/vmware... stuff to match your vmware install (maybe /usr/local)

Downgrade:

\# apt-get update

\# apt-get install libhal1=0.5.7.1-1

Make a vmware private copy:

\# mkdir /usr/lib/vmware-server-console/lib/libhal.so.1

\# cd /usr/lib/vmware-server-console/lib/libhal.so.1

\# cp /usr/lib/libhal.so.1 .

\# ln -s libhal.so.1 libhal.so.1.0.0

\# ls -l

-rw-rr 1 root root 31352 Sep 18 14:11 libhal.so.1

lrwxrwxrwx 1 root root 11 Sep 18 14:12 libhal.so.1.0.0 -> libhal.so.1

(Repeat for each vmware, vmware-console, etc.)

Edit the wrapper(s) to use the private copy:

\# cp /usr/lib/vmware-server-console/lib/wrapper-gtk24.sh /usr/lib/vmware-server-console/lib/wrapper-gtk24.sh-dist

\# vi /usr/lib/vmware-server-console/lib/wrapper-gtk24.sh

(find the line

vm_append_lib 'libpng12.so.0'

and add this line after it:

vm_append_lib 'libhal.so.1'

Save and exit)

(Repeat for each vmware, vmware-console, etc.)

Save off a copy of the 0.5.7.1-1 libs in case we need them later and can't downgrade

\# tar zcf /root/libhal1_0.5.7.1-1.tar.gz /usr/lib/vmware-server-console/lib/libhal.so.1

Re-upgrade libhal1 for all the other applications:

\# apt-get install libhal1

Reply
0 Kudos
miltieIV2
Contributor
Contributor

Hmm

Sometimes the private copy stuff works, sometimes it doesn't, not sure why.

You may just have to leave libhal1 downgraded (only do the first of five steps)

Reply
0 Kudos
aakef
Contributor
Contributor

Hi miltieIV2,

I found an easier workaround in the Ubuntu forums:

Add to vmware/lib/wrapper-gtk24.sh in vm_run()

\# Fix for pulling in libdbus-1.so.2 instead of .3

export LD_PRELOAD=/usr/lib/libdbus-1.so.3:$LD_PRELOAD

Cheers,

Bernd

Message was edited by:

aakef

Reply
0 Kudos
paulnicklin
Contributor
Contributor

I fixed this by removing libpng12.so.0/* from /usr/lib/vmware-server-console/lib

I presume then vmware uses my distro copy and libcairo is happy.

I notice too that vm_append_lib libpng12.so.0' appears in the wrapper script maybe I just needed to remove that instead.

along with miltieIV2 's fix. it now works.

Reply
0 Kudos
fabianoma
Contributor
Contributor

Hi all.

I have same problem and try this aakef trick to run vmware in my debian unstable.

But now have a new error: If I ckick in browse button inside vmware to changes settings, vmware freezy ang give the error at console:

(vmware:10798): libgnomevfs-WARNING **: Cannot load module `/usr/lib/gnome-vfs-2.0/modules/libfile.so' (/usr/lib/vmware/lib/libgcc_s.so.1/libgcc_s.so.1: version `GCC_4.2.0' not found (required by /usr/lib/libstdc++.so.6))

Any help?

Reply
0 Kudos
ksc
VMware Employee
VMware Employee

Somehow, you've got libstdc+.so.6 loading (~gcc4.2) ... all the VMware code is compiled against libstdc.so.5 (~gcc3.4). Why is this happening? It looks like the version of gnome-vfs you are using is compiled to use more recent C, vmware is compiled against older C+ libraries, and the two conflict.

I don't know what is bringing in gnome-vfs but it could be the tweak you made to the wrapper script; the wrapper script exists to avoid those dependency problems by substituting older library versions that don't have unsatisfiable dependencies.

Reply
0 Kudos
fabianoma
Contributor
Contributor

The only change I did in wrapper script was to put

\# Fix for pulling in libdbus-1.so.2 instead of .3

export LD_PRELOAD=/usr/lib/libdbus-1.so.3:$LD_PRELOAD

in vm_run().

The vmware works but I can change options using browser button.

In my system I have gcc version 4.1.2 and don't have libstdc++.so.5 installed in my system.

Thanks for help.

Reply
0 Kudos
ksc
VMware Employee
VMware Employee

  1. Fix for pulling in libdbus-1.so.2 instead of .3

export LD_PRELOAD=/usr/lib/libdbus-1.so.3:$LD_PRELOAD

So because you don't have a .2, you bring in .3 ... yikes? You end up bringing in all the dependencies of libdbus-1.so.3 (use ldd -r to see those), which I suspect conflict. This is probably why the wrong libstdc++ is appearing too. You really do want libdbus-1.so.2.

You should be able to find a /usr/lib/libdbus-1.so.2 (it's the current library on my Ubuntu system, using Drake) for installation.

XXXXXX - scratch most of that. I looked at some e-mails and found out the actual story. libdbus is just strange on this prerelease system.

Message was edited by:

ksc

Message was edited by:

ksc

Reply
0 Kudos
ksc
VMware Employee
VMware Employee

I'm looking at this more carefully now ... turns out we had an internal e-mail discussion a while ago that relates to this problem.

Edgy ships two versions of libdbus. The version we use is the older one. There is also a libhal involved; it is linked against the newer one (by Debian). This conflicts, resulting in the "bring in a more recent libdbus" workaround. Honestly, it's an Ubuntu bug (understandable; Edgy is pre-release); they shouldn't ship a libdbus that doesn't work correctly on their system. (Our code, in fact, works fine without libdbus/libhal, and only breaks because there is a broken old version of libdbus around).

Somehow, though, a gnome-vfs dependency is leaking through, which brings a bad libstdc++ dependency, which breaks the whole mess with the crash you got. Don't know what it is. I'm suspecting libdbus and/or libhal, which means I would like to see the ldd -r output. Actually, ldd -r for any libdbus or libhal on your system.

Reply
0 Kudos
fabianoma
Contributor
Contributor

Well, If I don't use

  1. Fix for pulling in libdbus-1.so.2 instead of .3

export LD_PRELOAD=/usr/lib/libdbus-1.so.3:$LD_PRELOAD

vmware fails to run. But I have changed to libdbus-1.so.2, so put

export LD_PRELOAD=/usr/lib/libdbus-1.so.2:$LD_PRELOAD

The program runs but still have the same browser problem with the same error message above with libdbus-1.so.3.

Here is the output of ldd -r command

:~$ ldd -r /usr/lib/libdbus-1.so.2

linux-gate.so.1 => (0xffffe000)

libnsl.so.1 => /lib/tls/libnsl.so.1 (0xa7edf000)

libc.so.6 => /lib/tls/libc.so.6 (0xa7dad000)

/lib/ld-linux.so.2 (0x75555000)

~$ ldd -r /usr/lib/libdbus-1.so.3

linux-gate.so.1 => (0xffffe000)

libnsl.so.1 => /lib/tls/libnsl.so.1 (0xa7f83000)

libc.so.6 => /lib/tls/libc.so.6 (0xa7e51000)

/lib/ld-linux.so.2 (0x75555000)

Cheers.

Reply
0 Kudos
lousypoetry
Contributor
Contributor

Just found this thread because I've got the same problem.

I used to run vmware on ubuntu 2.6.12-9-386 but it fails with 2.6.12-10-386. I tried starting it with

VMWARE_USE_SHIPPED_GTK=yes LD_PRELOAD=/usr/lib/libglib-2.0.so.0 vmware[/b]

vmware starts and I can chose my winxp to boot. The winxp booting screen appears but after a while I'm taken back to the wmware menu.

I'm grateful for any idea or hint, if you want me to post some output stuff just say a word (and excuse my english)

Reply
0 Kudos
miikka
Contributor
Contributor

hi, i did have same problem in debian etch (testing)

all i had to do was remove package libdbus-1-2

there is libdbus-1-3 version also but old library still have some dependency packages

Reply
0 Kudos
KrystianNowak
Contributor
Contributor

I've got the same problem under Debian Etch. Executing apt-get remove libdbus-1-2 (1.3 still should be installed) fixes the bug.

Reply
0 Kudos
lousypoetry
Contributor
Contributor

Hi,

thanks fo your reply. It seams to me like I don't have libdbus-1-2 installed:

user@ubuntu:~$ sudo apt-cache policy libdbus-1-2

W: cannot find libdbus-1-2

however, libdbus 1-1 is installed

Reply
0 Kudos