hasse69 / rar2fs

FUSE file system for reading RAR archives
https://hasse69.github.io/rar2fs/
GNU General Public License v3.0
272 stars 25 forks source link

./rar2fs: /lib/libstdc++.so.6: no version information available (required by ./rar2fs) #185

Closed perlaxe closed 2 months ago

perlaxe commented 2 months ago

Hi,

I am not sure if this is an error or something harmless, but rar2fs mounts seem to be working fine even with these errors. Complied rar2fs for Synology DSM 6.2 , whenever I run it I get this no version error twice:


./rar2fs
./rar2fs: /lib/libstdc++.so.6: no version information available (required by ./rar2fs)
./rar2fs: /lib/libstdc++.so.6: no version information available (required by ./rar2fs)
Usage: rar2fs source mountpoint [options]
Try `rar2fs -h' or `rar2fs --help' for more information.

./rar2fs --help
./rar2fs: /lib/libstdc++.so.6: no version information available (required by ./rar2fs)
./rar2fs: /lib/libstdc++.so.6: no version information available (required by ./rar2fs)
usage: ./rar2fs source mountpoint [options]

general options:
    -o opt,[opt...]        mount options
    -h   --help            print help
    -V   --version         print version
...

Please let me know, if there is anything to worry about it.

thanks.
hasse69 commented 2 months ago

I would say it is an annoyance but nothing more. This looks like some issue in your build environment installation. Googling this leave you with a lot of hits, such as https://github.com/sgerrand/alpine-pkg-glibc/issues/80

perlaxe commented 2 months ago

What is interesting that on the Synology build environment I do not have that error. Although that is only available for the major version DSM6.2 and the actual NAS where I run it is 6.2.2

ldd on NAS

./build/rar2fs: /lib/libstdc++.so.6: no version information available (required by ./build/rar2fs)
./build/rar2fs: /lib/libstdc++.so.6: no version information available (required by ./build/rar2fs)
        linux-vdso.so.1 (0x00007ffcd7162000)
        libfuse.so.2 => /lib/libfuse.so.2 (0x00007fab51529000)
        libdl.so.2 => /lib/libdl.so.2 (0x00007fab51325000)
        librt.so.1 => /lib/librt.so.1 (0x00007fab5111d000)
        libstdc++.so.6 => /lib/libstdc++.so.6 (0x00007fab50e2c000)
        libm.so.6 => /lib/libm.so.6 (0x00007fab50b27000)
        libgcc_s.so.1 => /lib/libgcc_s.so.1 (0x00007fab50916000)
        libpthread.so.0 => /lib/libpthread.so.0 (0x00007fab506fa000)
        libc.so.6 => /lib/libc.so.6 (0x00007fab50355000)
        /lib64/ld-linux-x86-64.so.2 (0x00007fab51764000)

files on NAS

lrwxrwxrwx  1 root root       19 Apr 15 18:29 libstdc++.so.6 -> libstdc++.so.6.0.20
-r-xr-xr-x  1 root root   901208 May  2  2023 libstdc++.so.6.0.20

ldd on build

        linux-vdso.so.1 (0x00007ffd62bfe000)
        libfuse.so.2 => /usr/lib/libfuse.so.2 (0x00007fc44d800000)
        libdl.so.2 => /usr/lib/libdl.so.2 (0x00007fc44d400000)
        librt.so.1 => /usr/lib/librt.so.1 (0x00007fc44d000000)
        libstdc++.so.6 => /usr/lib/libstdc++.so.6 (0x00007fc44cc00000)
        libm.so.6 => /usr/lib/libm.so.6 (0x00007fc44c800000)
        libgcc_s.so.1 => /usr/lib/libgcc_s.so.1 (0x00007fc44c400000)
        libpthread.so.0 => /usr/lib/libpthread.so.0 (0x00007fc44c000000)
        libc.so.6 => /usr/lib/libc.so.6 (0x00007fc44bc00000)
        /lib64/ld-linux-x86-64.so.2 (0x00007fc44dc00000)

files on build

-rw-r--r--  1 root root  3370756 Apr 24  2015 libstdc++.a
lrwxrwxrwx  1 root root       19 Apr 24  2015 libstdc++.so -> libstdc++.so.6.0.20*
lrwxrwxrwx  1 root root       19 Apr 24  2015 libstdc++.so.6 -> libstdc++.so.6.0.20*
-rwxr-xr-x  1 root root  1486960 Apr 24  2015 libstdc++.so.6.0.20*

Same version but looks different.

hasse69 commented 2 months ago

But that looks like you have some discrepancy between your build environment and actual runtime? I.e. they are not compatible.

hasse69 commented 2 months ago

In the build environment case it seems you have libraries with complete symbols but that is not what appears to be installed on target? You can easily check if that is the difference using the 'file' command. I do not see how this can be a problem with your rar2fs build though, and I suggest you check on some target specific forum if this is some known issue with cross-compilation etc

perlaxe commented 2 months ago

I made backup then copied temporarily libstdc++.so.6.0.20 from synobuild environment to the NAS, so far so good warning is gone.

BUILD: libstdc++.so.6.0.20: ELF 64-bit LSB shared object, x86-64, version 1 (GNU/Linux), dynamically linked, BuildID[sha1]=fd2f94e959ba1bd3dde6ca9c8ba8eb8f5f7b7479, not stripped
NAS: libstdc++.so.6.0.20: ELF 64-bit LSB shared object, x86-64, version 1 (GNU/Linux), dynamically linked, stripped

Definitely not rar2fs problem, so close it please. Thanks