When compiling tvheadend with musl, it segfaults, and looking at the libraries, facing some weird issues:
# ldd /usr/bin/tvheadend
/lib/ld-musl-armhf.so.1 (0x7f645000)
libdvben50221.so => /usr/lib/libdvben50221.so (0xb6b4f000)
libdvbapi.so => /usr/lib/libdvbapi.so (0xb6b3c000)
libucsi.so => /usr/lib/libucsi.so (0xb6b18000)
libssl.so.1.0.0 => /usr/lib/libssl.so.1.0.0 (0xb6ac4000)
libcrypto.so.1.0.0 => /usr/lib/libcrypto.so.1.0.0 (0xb698f000)
libz.so.1 => /usr/lib/libz.so.1 (0xb696d000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xb6953000)
libc.so => /lib/ld-musl-armhf.so.1 (0x7f645000)
# ldd /usr/lib/libdvben50221.so
ldd (0x7f62e000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xb6f6b000)
libc.so => ldd (0x7f62e000)
Error relocating /usr/lib/libdvben50221.so: dvbca_hlci_read: symbol not found
Error relocating /usr/lib/libdvben50221.so: dvbca_link_read: symbol not found
Error relocating /usr/lib/libdvben50221.so: dvbca_hlci_write: symbol not found
Error relocating /usr/lib/libdvben50221.so: dvbca_get_interface_type: symbol not found
Error relocating /usr/lib/libdvben50221.so: dvbca_open: symbol not found
Error relocating /usr/lib/libdvben50221.so: dvbca_get_cam_state: symbol not found
Error relocating /usr/lib/libdvben50221.so: dvbca_reset: symbol not found
Error relocating /usr/lib/libdvben50221.so: dvbca_link_write: symbol not found
Error relocating /usr/lib/libdvben50221.so: dvbca_get_cam_state: symbol not found
Error relocating /usr/lib/libdvben50221.so: unixtime_to_dvbdate: symbol not found
Error relocating /usr/lib/libdvben50221.so: dvbca_link_write: symbol not found
# ldd /usr/lib/libdvbapi.so
ldd (0x7f5d4000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xb6f7f000)
libc.so => ldd (0x7f5d4000)
# readelf -s /usr/lib/libdvbapi.so | grep dvbca_hlci_read
6: 0000139c 244 FUNC GLOBAL DEFAULT 10 dvbca_hlci_read
so ldd doesn't find the symbols although libdvbapi.so has them...
even more weird, if I compile with glibc, tvheadend works ( doesn't segfault ), but if I try to ldd the libs it segfaults...
# ldd /usr/bin/tvheadend
libdvben50221.so => /usr/lib/libdvben50221.so (0xb6f9c000)
libdvbapi.so => /usr/lib/libdvbapi.so (0xb6f89000)
libucsi.so => /usr/lib/libucsi.so (0xb6f65000)
libssl.so.1.0.0 => /usr/lib/libssl.so.1.0.0 (0xb6f13000)
libcrypto.so.1.0.0 => /usr/lib/libcrypto.so.1.0.0 (0xb6de3000)
libz.so.1 => /usr/lib/libz.so.1 (0xb6dc1000)
libdl.so.2 => /lib/libdl.so.2 (0xb6dae000)
libpthread.so.0 => /lib/libpthread.so.0 (0xb6d85000)
libm.so.6 => /lib/libm.so.6 (0xb6d06000)
librt.so.1 => /lib/librt.so.1 (0xb6cef000)
libgcc_s.so.1 => /lib/libgcc_s.so.1 (0xb6cd5000)
libc.so.6 => /lib/libc.so.6 (0xb6b92000)
/lib/ld-linux-armhf.so.3 (0xb6fb8000)
# ldd /usr/lib/libdvben50221.so
Segmentation fault
# ldd /usr/lib/libdvbapi.so
Segmentation fault
# ldd /usr/lib/libucsi.so
Segmentation fault
# ldd /usr/lib/libssl.so.1.0.0
-ash: /usr/lib/libssl.so.1.0.0: Permission denied
# ldd /usr/lib/libcrypto.so.1.0.0
-ash: /usr/lib/libcrypto.so.1.0.0: Permission denied
#
PS. to avoid confusions, lede is compiled accordingly with musl and glibc.