nzbhydra2 icon indicating copy to clipboard operation
nzbhydra2 copied to clipboard

5.1.8 binary not starting because libpython3.7m.so.1.0

Open colemar opened this issue 1 year ago • 1 comments

Similar to #822 See also https://www.reddit.com/r/nzbhydra/comments/10h2g1u/problems_updating_nzbhydra2_from_4x_to_500/ (not mine).

Ubuntu 22.04.2 LTS / Linux 5.15.0-69-generic

Version 5.1.8 was previously installed via GUI menu System/Update. 5.1.8 was running without apparent problems and by chance I spotted something about "wrappers seem not aligned" in the log. Sorry I don't have the log anymore, therefore I could misremember some detail. The same warning message told me to download the latest version and overwrite the install folder. I downloaded nzbhydra2-5.1.8-amd64-linux.zip and unzipped it over /home/nzbhydra2/nzbhydra2.

Now the usual command /home/nzbhydra2/nzbhydra2/nzbhydra2 --nobrowser stops immediately with this error:

[675636] Error loading Python lib '/tmp/_MEIhVQLXx/libpython3.7m.so.1.0': dlopen: /lib/x86_64-linux-gnu/librt.so.1: undefined symbol: __libc_unwind_link_get, version GLIBC_PRIVATE

I checked: librt.so.1 belongs to package libc6 wich is "already the newest version (2.35-0ubuntu3.1)".

# nm -D /lib/x86_64-linux-gnu/librt.so.1
                 w __cxa_finalize@GLIBC_2.2.5
0000000000000000 A GLIBC_2.2.5
0000000000000000 A GLIBC_2.3.3
0000000000000000 A GLIBC_2.3.4
0000000000000000 A GLIBC_2.4
0000000000000000 A GLIBC_2.7
                 w __gmon_start__
                 w _ITM_deregisterTMCloneTable
                 w _ITM_registerTMCloneTable
                 U __libc_fatal@GLIBC_PRIVATE
                 U __libc_unwind_link_get@GLIBC_PRIVATE
0000000000001140 T __librt_version_placeholder@GLIBC_2.3.4
0000000000001140 T __librt_version_placeholder@GLIBC_2.7
0000000000001140 T __librt_version_placeholder@GLIBC_2.2.5
0000000000001140 T __librt_version_placeholder@GLIBC_2.3.3
0000000000001140 T __librt_version_placeholder@GLIBC_2.4

# readelf -sW /lib/x86_64-linux-gnu/librt.so.1

Symbol table '.dynsym' contains 17 entries:
   Num:    Value          Size Type    Bind   Vis      Ndx Name
     0: 0000000000000000     0 NOTYPE  LOCAL  DEFAULT  UND
     1: 0000000000000000     0 NOTYPE  WEAK   DEFAULT  UND _ITM_deregisterTMCloneTable
     2: 0000000000000000     0 FUNC    GLOBAL DEFAULT  UND __libc_fatal@GLIBC_PRIVATE (7)
     3: 0000000000000000     0 NOTYPE  WEAK   DEFAULT  UND __gmon_start__
     4: 0000000000000000     0 FUNC    GLOBAL DEFAULT  UND __libc_unwind_link_get@GLIBC_PRIVATE (7)
     5: 0000000000000000     0 NOTYPE  WEAK   DEFAULT  UND _ITM_registerTMCloneTable
     6: 0000000000000000     0 FUNC    WEAK   DEFAULT  UND __cxa_finalize@GLIBC_2.2.5 (8)
     7: 0000000000000000     0 OBJECT  GLOBAL DEFAULT  ABS GLIBC_2.7
     8: 0000000000000000     0 OBJECT  GLOBAL DEFAULT  ABS GLIBC_2.3.3
     9: 0000000000000000     0 OBJECT  GLOBAL DEFAULT  ABS GLIBC_2.3.4
    10: 0000000000000000     0 OBJECT  GLOBAL DEFAULT  ABS GLIBC_2.4
    11: 0000000000000000     0 OBJECT  GLOBAL DEFAULT  ABS GLIBC_2.2.5
    12: 0000000000001140     5 FUNC    GLOBAL DEFAULT   16 __librt_version_placeholder@GLIBC_2.3.4
    13: 0000000000001140     5 FUNC    GLOBAL DEFAULT   16 __librt_version_placeholder@GLIBC_2.7
    14: 0000000000001140     5 FUNC    GLOBAL DEFAULT   16 __librt_version_placeholder@GLIBC_2.2.5
    15: 0000000000001140     5 FUNC    GLOBAL DEFAULT   16 __librt_version_placeholder@GLIBC_2.3.3
    16: 0000000000001140     5 FUNC    GLOBAL DEFAULT   16 __librt_version_placeholder@GLIBC_2.4

libpython3.7m.so.1.0 is not to be found anywhere and it is not provided by any package:

# locate libpython3.7m.so.1.0
# locate libpython3.7.so.1.0
# locate libpython3.10.so.1.0
/usr/lib/x86_64-linux-gnu/libpython3.10.so.1.0

# apt-file find libpython3.7m.so.1.0
# apt-file find libpython3.7.so.1.0

I attempted this:

# cd /usr/lib/x86_64-linux-gnu/
# ln -s libpython3.10.so.1.0 libpython3.7m.so.1.0
# ls -l libpython3*
lrwxrwxrwx 1 root root      58 Mar 10 11:55 libpython3.10.a -> ../python3.10/config-3.10-x86_64-linux-gnu/libpython3.10.a
lrwxrwxrwx 1 root root      18 Mar 10 11:55 libpython3.10.so -> libpython3.10.so.1
lrwxrwxrwx 1 root root      20 Mar 10 11:55 libpython3.10.so.1 -> libpython3.10.so.1.0
-rw-r--r-- 1 root root 5846784 Mar 10 11:55 libpython3.10.so.1.0
lrwxrwxrwx 1 root root      20 Feb 28  2014 libpython3.3m.so.1 -> libpython3.3m.so.1.0
-rw-r--r-- 1 root root 4176440 Feb 28  2014 libpython3.3m.so.1.0
lrwxrwxrwx 1 root root      20 May 16 15:06 libpython3.7m.so.1.0 -> libpython3.10.so.1.0

but it did not change anything.

In the meantime I switched to command /home/nzbhydra2/nzbhydra2/nzbhydra2wrapperPy3.py --nobrowser which seems to work without issues.

colemar avatar May 16 '23 12:05 colemar

Yeah, just start the python directly. The compilation is a bit iffy and a convenience feature but there's no downside to starting the wrapper using python, especially for linux users.

theotherp avatar May 16 '23 13:05 theotherp