[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: 64-bit and chroot



Hans-J. Ullrich wrote:
Hi Javier, please take a look at both "ldd" outputs of X-Plane. The first is the one, WITHOUT activated chroot, the second one is the output WITH ACTIVE chroot.

You see, there is a difference ! But in both cases, the application is running well.

------ snip -----------

WITHOUT known chroot path:


ullhan63@protheus2:/usr/local/games/X-Plane 9.00 Beta-25$ ldd ./X-Plane-i686
        linux-gate.so.1 =>  (0xffffe000)
        libGL.so.1 => /usr/lib32/libGL.so.1 (0xf7f42000)
        libGLU.so.1 => /usr/lib32/libGLU.so.1 (0xf7ec2000)
        libXext.so.6 => /usr/lib32/libXext.so.6 (0xf7eb4000)
        libX11.so.6 => /usr/lib32/libX11.so.6 (0xf7dc8000)
        libopenal.so.0 => not found
        libpthread.so.0 => /lib32/libpthread.so.0 (0xf7db0000)
        libdl.so.2 => /lib32/libdl.so.2 (0xf7dac000)
        libm.so.6 => /lib32/libm.so.6 (0xf7d88000)
        libc.so.6 => /lib32/libc.so.6 (0xf7c37000)
        libXxf86vm.so.1 => /usr/lib32/libXxf86vm.so.1 (0xf7c31000)
        libXdamage.so.1 => /usr/lib32/libXdamage.so.1 (0xf7c2e000)
        libXfixes.so.3 => /usr/lib32/libXfixes.so.3 (0xf7c29000)
        libdrm.so.2 => /usr/lib32/libdrm.so.2 (0xf7c20000)
        libstdc++.so.6 => /usr/lib32/libstdc++.so.6 (0xf7b33000)
        libgcc_s.so.1 => /usr/lib32/libgcc_s.so.1 (0xf7b26000)
        libXau.so.6 => /usr/lib32/libXau.so.6 (0xf7b22000)
        libXdmcp.so.6 => /usr/lib32/libXdmcp.so.6 (0xf7b1d000)
        /lib/ld-linux.so.2 (0xf7fc9000)


----------


And the same, with active and known path to chroot:

------------

ullhan63@protheus2:/usr/local/games/X-Plane 9.00 Beta-25$ ldd ./X-Plane-i686
        linux-gate.so.1 =>  (0xffffe000)
        libGL.so.1 => /usr/lib32/libGL.so.1 (0xf7ebc000)
        libGLU.so.1 => /usr/lib32/libGLU.so.1 (0xf7e3c000)
        libXext.so.6 => /usr/lib32/libXext.so.6 (0xf7e2e000)
        libX11.so.6 => /usr/lib32/libX11.so.6 (0xf7d42000)
        libopenal.so.0 => not found
libpthread.so.0 => /var/chroot/sid-ia32/lib/libpthread.so.0 (0xf7d29000)
        libdl.so.2 => /var/chroot/sid-ia32/lib/libdl.so.2 (0xf7d25000)
        libm.so.6 => /var/chroot/sid-ia32/lib/libm.so.6 (0xf7cff000)
        libc.so.6 => /var/chroot/sid-ia32/lib/libc.so.6 (0xf7bc1000)
        libXxf86vm.so.1 => /usr/lib32/libXxf86vm.so.1 (0xf7bbb000)
        libXdamage.so.1 => /usr/lib32/libXdamage.so.1 (0xf7bb8000)
        libXfixes.so.3 => /usr/lib32/libXfixes.so.3 (0xf7bb3000)
        libdrm.so.2 => /usr/lib32/libdrm.so.2 (0xf7baa000)
libstdc++.so.6 => /var/chroot/sid-ia32/usr/lib/libstdc++.so.6 (0xf7abd000)
        libgcc_s.so.1 => /var/chroot/sid-ia32/lib/libgcc_s.so.1 (0xf7aaf000)
        libXau.so.6 => /usr/lib32/libXau.so.6 (0xf7aac000)
        libXdmcp.so.6 => /usr/lib32/libXdmcp.so.6 (0xf7aa7000)
        /lib/ld-linux.so.2 (0xf7f45000)

----------- snap ----------


You see, there are used some other libs. But in both cases, the application is running ! Do you now see, what I meant with "using different names for libs" ?

Or is there another explanation, which I do not yet understand ?

I think a 64-bit app cannot load (automatically) a 32-bit dynamic library, or vice-versa. The output there is different, that's true, but in both cases only 32-bit libraries are loaded.

--
Give me a sleeping pill and tell me your troubles.

Eduardo M KALINOWSKI
ekalin@gmail.com
http://move.to/hpkb


Reply to: