[rtmpdump] Problems compiling rtmpdump for Synology 214play
Simon Carter
bbbscarter at gmail.com
Tue Mar 11 10:42:52 CET 2014
Hi! I’ve been trying to compile rtmpdump for my Synology 214play (with an atom CPU), without a great deal of success. I’ve got a fair amount of C/C++ compilation experience, but not with the finer details of Linux, so I’m reaching the edge of my knowledge.
So far I’ve followed the instructions here:
https://www.mail-archive.com/get_iplayer@lists.infradead.org/msg04672.html
and I’ve got ipkg installed and can compile librtmpdump fine. Unfortunately, when it comes to linking rtmpdump itself I get the following error:
/opt/i686-linux-gnu/lib/libdl.so.2: undefined reference to `_dl_open at GLIBC_PRIVATE'
/opt/i686-linux-gnu/lib/libdl.so.2: undefined reference to `_dl_close at GLIBC_PRIVATE’
Digging into it, I think the problem is something to do with library paths and libssl and libdl.
- I have two copies of libdl.so.2 - one in /lib and one in /opt/i686-linux-gnu/lib
- Similarly I have /lib/libssl.so, /lib/libssl.so.1.0.0 and /opt/lib/libssl.so, /opt/lib/libssl.0, /opt/lib/libssl.so.0.9.8
- If I do /lib/ld.so.1 librtmpdmp.so I get ./librtmp.so: error while loading shared libraries: libssl.so.0.9.8: cannot open shared object file: No such file or directory
- If I export LD_LIBRARY_PATH=/opt/lib I can inspect librtmp.so properly:
/lib/ld.so.1 --list /opt/rtmpdump/librtmp/librtmp.so
linux-gate.so.1 => (0xffffe000)
libssl.so.0.9.8 => /opt/lib/libssl.so.0.9.8 (0xb76c2000)
libcrypto.so.0.9.8 => /opt/lib/libcrypto.so.0.9.8 (0xb7585000)
libz.so.1 => /opt/lib/libz.so.1 (0xb756f000)
libc.so.6 => /lib/libc.so.6 (0xb73f7000)
libdl.so.2 => /lib/libdl.so.2 (0xb73f1000)
/lib/ld.so.1 (0xb7722000)
It seems to be depending on the wrong libdl.so.
- /opt/lib/libssl.0.9.8 seems to depend on the wrong libdl:
/lib/ld.so.1 --list /opt/lib/libssl.so.0.9.8
linux-gate.so.1 => (0xffffe000)
libcrypto.so.0.9.8 => /opt/lib/libcrypto.so.0.9.8 (0xb7630000)
libdl.so.2 => /lib/libdl.so.2 (0xb762b000)
libc.so.6 => /lib/libc.so.6 (0xb74b3000)
/lib/ld.so.1 (0xb77b3000)
- If I try to compile with LD_LIBRARY_PATH=/opt/lib I get the same errors.
I’m not entirely sure what to do next. My instinct is that /opt/lib/libssl.so should be using /opt/i686-linux-gnu/libdl.so,. Unfortunately on this box there’s no /etc/ld.conf to control library search paths, and LD_LIBRARY_PATH doesn’t seem to redirect it in this case.
I expect I’m missing something obvious, so any help would be much appreciated!
Thanks!
Simon
More information about the rtmpdump
mailing list