wrong lib linked?

Get community help for technical problems

Moderators: bert_the_turtle, jelco

Posts: 2
Joined: Sun May 27, 2012 5:48 pm

wrong lib linked?

Postby system.exit » Sun May 27, 2012 6:24 pm

Hi all!
Sorry for posting this in the Windows troubleshooting section but since there is none for Linux . . .
I just bought Multiwinia and downloaded the Nixstaller packed for Linux (multiwinia-including-openal.sh).
Installed it in my home (~/Multiwinia) and launched it. But all I get is this shiny error message:

Code: Select all

$ ./multiwinia.bin.x86_64
./multiwinia.bin.x86_64: error while loading shared libraries: libpng12.so.0: cannot open shared object file: No such file or directory

Also Readme tells me that libpng-1.4.5 is included, but ls says not:

Code: Select all

$ ls -a ./Multiwinia/lib*
.  ..  libSDL-1.2.so.0  libSDL-1.2.so.0.11.3  libopenal.so.1  libopenal.so.1.12.854

And ldd tells me that multiwinia.bin.x86_64 depends on libpng12 (32bit), that can't be right.

Code: Select all

$ lddtree Multiwinia/multiwinia.bin.x86_64
multiwinia.bin.x86_64 => Multiwinia/multiwinia.bin.x86_64 (interpreter => /lib64/ld-linux-x86-64.so.2)
    libSDL-1.2.so.0 => /usr/lib64/libSDL-1.2.so.0
        libasound.so.2 => /usr/lib64/libasound.so.2
            librt.so.1 => /lib64/librt.so.1
        libdl.so.2 => /lib64/libdl.so.2
        libpulse-simple.so.0 => /usr/lib64/libpulse-simple.so.0
            libjson.so.0 => /usr/lib64/libjson.so.0
            libpulsecommon-2.0.so => /usr/lib64/pulseaudio/libpulsecommon-2.0.so
            libX11-xcb.so.1 => /usr/lib64/libX11-xcb.so.1
            libX11.so.6 => /usr/lib64/libX11.so.6
            libxcb.so.1 => /usr/lib64/libxcb.so.1
                libXau.so.6 => /usr/lib64/libXau.so.6
                libXdmcp.so.6 => /usr/lib64/libXdmcp.so.6
            libICE.so.6 => /usr/lib64/libICE.so.6
            libSM.so.6 => /usr/lib64/libSM.so.6
                libuuid.so.1 => /lib64/libuuid.so.1
            libXtst.so.6 => /usr/lib64/libXtst.so.6
                libXext.so.6 => /usr/lib64/libXext.so.6
            libwrap.so.0 => /lib64/libwrap.so.0
            libsndfile.so.1 => /usr/lib64/libsndfile.so.1
            libFLAC.so.8 => /usr/lib64/libFLAC.so.8
            libvorbisenc.so.2 => /usr/lib64/libvorbisenc.so.2
            libasyncns.so.0 => /usr/lib64/libasyncns.so.0
                libresolv.so.2 => /lib64/libresolv.so.2
            libdbus-1.so.3 => /usr/lib64/libdbus-1.so.3
            libgdbm.so.4 => /usr/lib64/libgdbm.so.4
            libcap.so.2 => /lib64/libcap.so.2
                libattr.so.1 => /lib64/libattr.so.1
        libpulse.so.0 => /usr/lib64/libpulse.so.0
    libGL.so.1 => /usr/lib64/libGL.so.1
        libglapi.so.0 => /usr/lib64/libglapi.so.0
        libXdamage.so.1 => /usr/lib64/libXdamage.so.1
        libXfixes.so.3 => /usr/lib64/libXfixes.so.3
        libxcb-glx.so.0 => /usr/lib64/libxcb-glx.so.0
        libXxf86vm.so.1 => /usr/lib64/libXxf86vm.so.1
        libdrm.so.2 => /usr/lib64/libdrm.so.2
    libGLU.so.1 => /usr/lib64/libGLU.so.1
    libpng12.so.0 => /usr/lib32/libpng12.so.0
    libopenal.so.1 => /usr/lib64/libopenal.so.1
    libvorbisfile.so.3 => /usr/lib64/libvorbisfile.so.3
    libvorbis.so.0 => /usr/lib64/libvorbis.so.0
    libogg.so.0 => /usr/lib64/libogg.so.0
    libpthread.so.0 => /lib64/libpthread.so.0
    libz.so.1 => /lib64/libz.so.1
    libstdc++.so.6 => /usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/32/libstdc++.so.6
        ld-linux.so.2 => /lib64/ld-linux.so.2
    libm.so.6 => /lib64/libm.so.6
    libgcc_s.so.1 => /usr/lib/gcc/x86_64-pc-linux-gnu/4.5.3/32/libgcc_s.so.1
    libc.so.6 => /lib64/libc.so.6

I've libpng-1.5.10 installed. And I'm running Gentoo 10.0:

Code: Select all

$ uname -a
Linux <name> 3.3.4-gentoo #2 SMP Sat May 12 17:33:02 CEST 2012 x86_64 Intel(R) Core(TM)2 Duo CPU L7500 @ 1.60GHz GenuineIntel GNU/Linux

Any hinds for me?
Thanks in advance,
User avatar
Posts: 4795
Joined: Fri Oct 13, 2006 6:11 pm
Location: Cologne

Postby bert_the_turtle » Sun May 27, 2012 8:21 pm

libpng is rapidly changing version numbers; have you tried soft-linking your 64 bit version of the library into Multiwinia's libs directory as libpng12.so.0? There is the possibility for nasty crashes if you do that, of course.

Or you could simply get the 32 bit installer instead; looks like your system is perfectly well equipped to run it, and this isn't exactly the kind of application that benefits from 64 bit address spaces.
Posts: 2
Joined: Sun May 27, 2012 5:48 pm

Postby system.exit » Sun May 27, 2012 9:29 pm

Thanks for the reply.
I've already tried setting a soft link. But it detects that the lib doesn't match and gives me error message.

Code: Select all

$ ./multiwinia.bin.x86_64
./multiwinia.bin.x86_64: /home/<user>/Multiwinia/lib64/libpng12.so.0: version `PNG12_0' not found (required by ./multiwinia.bin.x86_64)

I would be happy to try the 32bit Version version. Unfortunately there is only one installer for both architectures and it decides for itself which binary to take. Yet I'm trying to get my hands on the embedded archive and extract the binary (and libs) myself.

But a clean solution would be to use the in docs/readme.txt mentioned libpng-1.4.5 put it in Multiwinia/lib64 and link the 64bit binary to it.
That would most definitely solve my problem. :)

Edit: Well, found the 32bit binary and guess what: It works. Though I did also find the 32bit libpng12.so.0 in /usr/lib32 which the 32bit binary also depends on.
Even more interesting: If I create a soft link of this 32bit libpng in Multiwinia/lib64 and try to run multiwinia.bin.x86_64 I get this:

Code: Select all

./multiwinia.bin.x86_64: error while loading shared libraries: libpng12.so.0: wrong ELF class: ELFCLASS32

Which supports what I said in my first post: A 64bit binary depending on a 32bit lib that can't be right.
Seams to me that the 64bit binary is just plain broken.

Return to “Windows Troubleshooting”

Who is online

Users browsing this forum: No registered users and 1 guest