Hello.
I'm trying to build oscam + dvbapi for vdr-2.2.0 on Raspi 2 (wheezy).
It compiles fine using command
make clean make -j4 LIBDVBCSA=1
and installs also OK.
But when running the vdr, it fails as:
vdr: /usr/local/lib/vdr/libvdr-dvbapi.so.2.2.0: undefined symbol: _Z21set_even_control_wordPvPKh
The dvbcsa library is linked OK, so I wonder what might cause this.
# ldd /usr/local/bin/vdr /usr/lib/arm-linux-gnueabihf/libcofi_rpi.so (0x76fb1000) libjpeg.so.8 => /usr/lib/arm-linux-gnueabihf/libjpeg.so.8 (0x76f66000) libpthread.so.0 => /lib/arm-linux-gnueabihf/libpthread.so.0 (0x76f47000) libdl.so.2 => /lib/arm-linux-gnueabihf/libdl.so.2 (0x76f3c000) libcap.so.2 => /lib/arm-linux-gnueabihf/libcap.so.2 (0x76f31000) libdvbcsa.so.1 => /usr/lib/arm-linux-gnueabihf/libdvbcsa.so.1 (0x76f10000) librt.so.1 => /lib/arm-linux-gnueabihf/librt.so.1 (0x76f00000) libfreetype.so.6 => /usr/lib/arm-linux-gnueabihf/libfreetype.so.6 (0x76e77000) libfontconfig.so.1 => /usr/lib/arm-linux-gnueabihf/libfontconfig.so.1 (0x76e42000) libstdc++.so.6 => /usr/lib/arm-linux-gnueabihf/libstdc++.so.6 (0x76d70000) libm.so.6 => /lib/arm-linux-gnueabihf/libm.so.6 (0x76cff000) libgcc_s.so.1 => /lib/arm-linux-gnueabihf/libgcc_s.so.1 (0x76cd6000) libc.so.6 => /lib/arm-linux-gnueabihf/libc.so.6 (0x76ba6000) /lib/ld-linux-armhf.so.3 (0x76fbe000) libattr.so.1 => /lib/arm-linux-gnueabihf/libattr.so.1 (0x76b99000) libz.so.1 => /lib/arm-linux-gnueabihf/libz.so.1 (0x76b7b000) libpng12.so.0 => /lib/arm-linux-gnueabihf/libpng12.so.0 (0x76b53000) libexpat.so.1 => /lib/arm-linux-gnueabihf/libexpat.so.1 (0x76b29000)
I can not find anything connected with this using Google search, so it must not be a common problem, but something in my setup maybe. Any ideas?
On Tue, Jun 09, 2015 at 07:28:21AM +0300, Jari Fredriksson wrote:
vdr: /usr/local/lib/vdr/libvdr-dvbapi.so.2.2.0: undefined symbol: _Z21set_even_control_wordPvPKh
The dvbcsa library is linked OK, so I wonder what might cause this.
c++filt demangles the symbol name to
set_even_control_word(void*, unsigned char const*)
Searching for that function name, I found this forum post about compiling tvheadend, apparently with a similar kind of library, also on similar hardware (ARM): https://www.tvheadend.org/boards/5/topics/12390
The linker error message over there is: undefined reference to `set_even_control_word'
Could your code be missing extern "C" around the function declaration? Just a guess; I have not compiled anything TV-related on ARM.
Marko
On 09.06.2015 10:46, Marko Mäkelä wrote:
On Tue, Jun 09, 2015 at 07:28:21AM +0300, Jari Fredriksson wrote:
vdr: /usr/local/lib/vdr/libvdr-dvbapi.so.2.2.0: undefined symbol: _Z21set_even_control_wordPvPKh
The dvbcsa library is linked OK, so I wonder what might cause this.
c++filt demangles the symbol name to
set_even_control_word(void*, unsigned char const*)
Searching for that function name, I found this forum post about compiling tvheadend, apparently with a similar kind of library, also on similar hardware (ARM): https://www.tvheadend.org/boards/5/topics/12390
The linker error message over there is: undefined reference to `set_even_control_word'
Could your code be missing extern "C" around the function declaration? Just a guess; I have not compiled anything TV-related on ARM.
Marko
Thanks! Not my code but that worked, as I edited as needed! That's the dvbapi plugin for vdr.