I have an old acquisition program for a firewire that seems to need the 32bits version of the library libraw1394.so
.
Some notes, about the problem:
I think that the output of uname -m
indicates that I have an ubuntu 64bits installed:
$ uname -m
x86_64
If I execute ldd on my application, the output indicates that lib1394.so was not found:
$ ldd ./smallv
linux-gate.so.1 => (0xf76e9000)
libsvs.so => /usr/local/svs/bin/libsvs.so (0xf76c7000)
libsvscalc.so => /usr/local/svs/bin/libsvscalc.so (0xf76b7000)
libsvscap.so => /usr/local/svs/bin/libsvscap.so (0xf76a0000)
libfltk.so.1.1 => /usr/local/svs/bin/libfltk.so.1.1 (0xf761a000)
libfltk_gl.so.1.1 => /usr/local/svs/bin/libfltk_gl.so.1.1 (0xf7612000)
libGLU.so.1 => /usr/lib32/libGLU.so.1 (0xf7573000)
libGL.so.1 => /usr/lib32/nvidia-current/libGL.so.1 (0xf74a1000)
libstdc++.so.6 => /usr/lib32/libstdc++.so.6 (0xf73b5000)
libpthread.so.0 => /lib32/libpthread.so.0 (0xf739a000)
libm.so.6 => /lib32/libm.so.6 (0xf7370000)
libc.so.6 => /lib32/libc.so.6 (0xf71f1000)
libgcc_s.so.1 => /usr/lib32/libgcc_s.so.1 (0xf71d3000)
libdcap.so => /usr/local/svs/bin/libdcap.so (0xf71c5000)
libraw1394.so.8 => not found
libXext.so.6 => /usr/lib32/libXext.so.6 (0xf71b2000)
libX11.so.6 => /usr/lib32/libX11.so.6 (0xf707c000)
libnvidia-tls.so.280.13 => /usr/lib32/nvidia-current/tls/libnvidia-tls.so.280.13 (0xf7079000)
libnvidia-glcore.so.280.13 => /usr/lib32/nvidia-current/libnvidia-glcore.so.280.13 (0xf5767000)
librt.so.1 => /lib32/librt.so.1 (0xf575e000)
libdl.so.2 => /lib32/libdl.so.2 (0xf5759000)
/lib/ld-linux.so.2 (0xf76ea000)
libraw1394.so.8 => not found
libxcb.so.1 => /usr/lib32/libxcb.so.1 (0xf573a000)
libXau.so.6 => /usr/lib32/libXau.so.6 (0xf5735000)
libXdmcp.so.6 => /usr/lib32/libXdmcp.so.6 (0xf572e000)
When I run the application I get the following error:
$ ./smallv
./smallv: error while loading shared libraries: libraw1394.so.8: wrong ELF class: ELFCLASS64
The library is locted in /usr/lib/
but it is and ELF63 version:
$ readelf -h /usr/lib/libraw1394.so
ELF Header:
Magic: 7f 45 4c 46 02 01 01 00 00 00 00 00 00 00 00 00
Class: ELF64
Data: 2's complement, little endian
Version: 1 (current)
OS/ABI: UNIX - System V
ABI Version: 0
Type: DYN (Shared object file)
Machine: Advanced Micro Devices X86-64
Version: 0x1
Entry point address: 0x4460
Start of program headers: 64 (bytes into file)
Start of section headers: 58768 (bytes into file)
Flags: 0x0
Size of this header: 64 (bytes)
Size of program headers: 56 (bytes)
Number of program headers: 7
Size of section headers: 64 (bytes)
Number of section headers: 26
Section header string table index: 25
I have been searching a solution in various posts. So, I think that I have the source code of the applications so that I should be able to compile it. So I have to solutions, but I do not know how to execute them:
solution 1) Install the i386 (32bits) version of the library
solution 2) Compile the application again
I have been reading posts and it seems that I should use either GetLibs either ia32-libs either multiarch. Please, any feedback to the problem will be helpful! Thanks a lot!
jespestana
First of all, you're right, your system is using the 64 bits architecture.
As you said that a solution for your problem could be install i386 (32bits) version of the library, I have told you how to do it:
sudo apt-get install libraw1394-11:i386
Now you should have installed the 32-bits version of the libraw
library.
Collected from the Internet
Please contact [email protected] to delete if infringement.
Comments