Undefined __dso_handle symbol when linking Fuse module

PaweÅ‚ Tomak <[email protected]> Sun, 5 Aug 2018 23:11:17 +0200
Newsgroups gmane.comp.lang.pike.user
Message-ID <[email protected]>
Hello,

I've started to get linking error when building Pike, both 8.0 and 8.1:

#### Making dynamic: modules/Fuse
Compiling modules/Fuse/fuse.c
Linking Fuse
/usr/lib64/libc_nonshared.a(atexit.oS): In function `atexit':
(.text+0x27): undefined reference to `__dso_handle'
/usr/lib/gcc/x86_64-pc-linux-gnu/7.3.0/../../../../x86_64-pc-linux-gnu/bin/ld:
/usr/lib64/libc_nonshared.a(atexit.oS): relocation R_X86_64_PC32 against
undefined hidden symbol `__dso_handle' can not be used when making a
shared object
/usr/lib/gcc/x86_64-pc-linux-gnu/7.3.0/../../../../x86_64-pc-linux-gnu/bin/ld:
final link failed: Bad value
collect2: error: ld returned 1 exit status
Linking failed:
/var/tmp/portage/dev-lang/pike-8.0.622_beta/work/Pike-v8.0.622/bin/smartlink
gcc -shared -nostartfiles -Wl,-O1 -Wl,--as-needed
-L/usr/lib64/gcc/x86_64-pc-linux-gnu/7.3.0
-R/usr/lib64/gcc/x86_64-pc-linux-gnu/7.3.0 -L/usr/lib64 -R/usr/lib64
-L/lib64 -R/lib64 -L/usr/x86_64-pc-linux-gnu/lib -rdynamic -o module.so
fuse.o -Wl,-O1 -Wl,--as-needed
-L/usr/lib64/gcc/x86_64-pc-linux-gnu/7.3.0
-R/usr/lib64/gcc/x86_64-pc-linux-gnu/7.3.0 -L/usr/lib64 -R/usr/lib64
-L/lib64 -R/lib64 -L/usr/x86_64-pc-linux-gnu/lib -ldl -lrt -lnsl -lm
-lpthread -lcrypt -lfuse /usr/lib/gcc/x86_64-pc-linux-gnu/7.3.0/libgcc.a
-lc /usr/lib/gcc/x86_64-pc-linux-gnu/7.3.0/libgcc.a
make[6]: *** [Makefile:421: module.so] Error 1
make[5]: *** [Makefile:100: all] Error 2
make[4]: *** [Makefile:100: Fuse] Error 1
make[3]: *** [Makefile:1175: dynamic_module_objects] Error 1
make[2]: *** [Makefile:1196: module_objects] Error 2
make[1]: *** [Makefile:149: _make_in_builddir] Error 2
make: *** [Makefile:66: compile] Error 2


I've built Pike-8.0.622 sucesfully on May 27th, since then only glibc
changed from 2.26 to 2.27 (there's also some bug in Debian tracker about
that issue, however it states that 8.0.610 is already fixed, but that's
not true in my case)

~Paweł