Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

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

share|improve this question
1  
I don't understand very well. But if what you want to do is install that package, then you need to enter this command: sudo apt-get install libraw1394-11:i386 in terminal. That solve your problem? –  Lucio Mar 2 '13 at 4:21
1  
@Lucio I get the impression the author is probably already aware of the install method you recommend. –  Magpie Mar 2 '13 at 4:59
    
@Lucio, Ah ok! I will try that on monday! I have been some time looking in forums for the solution. So I posted the things that seemed more interesting to me here. I did not know about the ":i386" to "sudo apt-get install". –  jespestana Mar 2 '13 at 5:39
1  
I stand corrected! It's always hard to get a balance between assuming too much knowledge and patronising people. @jespestana sudo apt-get install is an important command you must familiarise yourself with if you are to use ubuntu! –  Magpie Mar 4 '13 at 0:03
1  
My advice: install synaptics package manager. This will tell you all the packages that you can install. Also look into learning how to add repositories via terminal using the sudo add-apt-repository command –  Magpie Mar 9 '13 at 18:17
show 4 more comments

1 Answer 1

up vote 1 down vote accepted

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:

  1. Open a terminal Ctrl+Alt+T
  2. Enter this command: sudo apt-get install libraw1394-11:i386

Now you should have installed the 32-bits version of the libraw library.

share|improve this answer
add comment

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.