Error while trying to start kibana: libstdc++.so.6: wrong ELF class: ELFCLASS32


(Andreynikk) #1

Hi,

im testing an upgrade to ES 2.1 and kibana to 4.3.1 and when i try to start kibana i get the following error:
./kibana
./../node/bin/node: error while loading shared libraries: libstdc++.so.6: wrong ELF class: ELFCLASS32

any idea what might cause it?

Thanks.


(Mark Walkom) #2

What OS are you on?

And what package did you download?


(Andreynikk) #3

Hi,

im running on Scientific Linux release 6.4 (Carbon) (64Bit) and downloaded kibana-4.3.1-linux-x64.tar.
i know what the problem is:
[root@XXX bin]# ldd node
linux-vdso.so.1 => (0x00007fff17ff8000)
librt.so.1 => /lib64/librt.so.1 (0x00007f7cb3f47000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007f7cb3d43000)
libstdc++.so.6 => not found
libm.so.6 => /lib64/libm.so.6 (0x00007f7cb3abe000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007f7cb38a8000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f7cb368a000)
libc.so.6 => /lib64/libc.so.6 (0x00007f7cb32f6000)
/lib64/ld-linux-x86-64.so.2 (0x00007f7cb4159000)

    libstdc++.so.6 => not found, trying to find  a solution for that. the files exists:

lrwxrwxrwx. 1 root root 19 Jan 8 2015 /usr/lib64/libstdc++.so.6 -> libstdc++.so.6.0.13
-rwxr-xr-x. 1 root root 930192 Mar 23 2015 /usr/lib64/libstdc++.so.6.0.13

but for some reason it doesnt see it in its rpath.

any linux-savvy people could help out here?


(Mike Simos) #4

Hi,

Can you try this:

ldconfig -p | grep libstdc

Do you see:

        libstdc++.so.6 (libc6,x86-64) => /lib64/libstdc++.so.6
        libstdc++.so.6 (libc6) => /lib/libstdc++.so.6

If not try running ldconfig -v and see if that fixes it. If not try doing:

export LD_LIBRARY_PATH=/usr/lib64

Then start kibana.


(Andreynikk) #5

Hi,

thanks for the reply, that would probably helped me to find the problem faster.

the problem was, that for some reason, the lib file that was in the 64 bit folder was 32 bit:
file /usr/lib64/libstdc++.so.6
/usr/lib64/libstdc++.so.6: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, stripped

i copied a 64 bit lib file from a different node and it worked:
ldd /var/opt/kibana/node/bin/node
linux-vdso.so.1 => (0x00007fffb73ff000)
librt.so.1 => /lib64/librt.so.1 (0x00007feac9923000)
libdl.so.2 => /lib64/libdl.so.2 (0x00007feac971f000)
libstdc++.so.6 => /usr/lib64/libstdc++.so.6 (0x00007feac9418000)
libm.so.6 => /lib64/libm.so.6 (0x00007feac9194000)
libgcc_s.so.1 => /lib64/libgcc_s.so.1 (0x00007feac8f7e000)
libpthread.so.0 => /lib64/libpthread.so.0 (0x00007feac8d60000)
libc.so.6 => /lib64/libc.so.6 (0x00007feac89cc000)
/lib64/ld-linux-x86-64.so.2 (0x00007feac9b35000)


(Oussama Slassi) #6

how did you copied a 64 bit lib file from a different node plz answer


(system) #7