[mythtv-users] compile problem: scte65scan on mythbuntu 9.10 64 bit with HDHR support

Dave Richardson mythtv at derdev.com
Tue Nov 17 12:34:53 UTC 2009


> On Mon, Nov 16, 2009 at 6:43 PM, Dave Richardson <mythtv at derdev.com>
> wrote:
>> hdhomerun_channelscan.c:(.text+0x31a): undefined reference to `msleep'
>> hdhomerun_channelscan.c:(.text+0x370): undefined reference to
>> `getcurrenttime'
>
> Errors like this have nothing to do with sct65scan.  They indicate
> that your libhdhomerun was incorrectly compiled and anything that
> links to this library will have this problem.
>
> These undefined references should have been resolved by including
> hdhomerun_os_posix.h (via hdhomerun_os.h via hdhomerun.h) in the
> relevant c files.  These are static inline functions which should not
> generate a symbol.
>
> In other words, you should be able to run something like:
>
> nm -D libhdhomerun.so  | grep msleep
>
> and see no output.  If you see something like:
>
>   U  msleep
>
> then something is wrong.
>
> Eric
>

Eric, can you stick with me a bit more?

apt-get install libpthread-stubs0 libpthread-stubs0-dev

That added some more library support that apparently was a gap...

root at mythbackmaster:/usr/src/scte65scan-0.2.1/libhdhomerun# make
gcc -Wall -O2 -Wmissing-declarations -Wmissing-prototypes
-Wstrict-prototypes -Wpointer-arith hdhomerun_config.c
hdhomerun_os_posix.c hdhomerun_pkt.c hdhomerun_debug.c
hdhomerun_discover.c hdhomerun_channels.c hdhomerun_channelscan.c
hdhomerun_control.c hdhomerun_video.c hdhomerun_device.c
hdhomerun_device_selector.c -lpthread -lrt -o hdhomerun_config
strip hdhomerun_config
gcc -Wall -O2 -Wmissing-declarations -Wmissing-prototypes
-Wstrict-prototypes -Wpointer-arith -fPIC -DDLL_EXPORT -shared
-Wl,-soname,libhdhomerun.so hdhomerun_os_posix.c hdhomerun_pkt.c
hdhomerun_debug.c hdhomerun_discover.c hdhomerun_channels.c
hdhomerun_channelscan.c hdhomerun_control.c hdhomerun_video.c
hdhomerun_device.c hdhomerun_device_selector.c -lpthread -lrt -o
libhdhomerun.so

root at mythbackmaster:/usr/src/scte65scan-0.2.1/libhdhomerun# nm -D
libhdhomerun.so | grep msleep
00000000000051e0 T msleep

root at mythbackmaster:/usr/src/scte65scan-0.2.1/libhdhomerun# uname -a
Linux mythbackmaster 2.6.31-14-generic #48-Ubuntu SMP Fri Oct 16 14:05:01
UTC 2009 x86_64 GNU/Linux

cd ..

root at mythbackmaster:/usr/src/scte65scan-0.2.1# make -f Makefile.hdhr
cc -O2 -DHDHR -I./libhdhomerun -c libhdhomerun/hdhomerun_pkt.c -o
libhdhomerun/hdhomerun_pkt.o
cc -O2 -DHDHR -I./libhdhomerun -c libhdhomerun/hdhomerun_debug.c -o
libhdhomerun/hdhomerun_debug.o
cc -O2 -DHDHR -I./libhdhomerun -c libhdhomerun/hdhomerun_discover.c -o
libhdhomerun/hdhomerun_discover.o
cc -O2 -DHDHR -I./libhdhomerun -c libhdhomerun/hdhomerun_channels.c -o
libhdhomerun/hdhomerun_channels.o
cc -O2 -DHDHR -I./libhdhomerun -c libhdhomerun/hdhomerun_channelscan.c -o
libhdhomerun/hdhomerun_channelscan.o
cc -O2 -DHDHR -I./libhdhomerun -c libhdhomerun/hdhomerun_control.c -o
libhdhomerun/hdhomerun_control.o
cc -O2 -DHDHR -I./libhdhomerun -c libhdhomerun/hdhomerun_video.c -o
libhdhomerun/hdhomerun_video.o
cc -O2 -DHDHR -I./libhdhomerun -c libhdhomerun/hdhomerun_device.c -o
libhdhomerun/hdhomerun_device.o
cc -O2 -DHDHR -I./libhdhomerun scte65scan.o tunerdmx.o
libhdhomerun/hdhomerun_pkt.o libhdhomerun/hdhomerun_debug.o
libhdhomerun/hdhomerun_discover.o libhdhomerun/hdhomerun_channels.o
libhdhomerun/hdhomerun_channelscan.o libhdhomerun/hdhomerun_control.o
libhdhomerun/hdhomerun_video.o libhdhomerun/hdhomerun_device.o -lpthread
-o scte65scan
libhdhomerun/hdhomerun_debug.o: In function `hdhomerun_debug_flush':
hdhomerun_debug.c:(.text+0x2c6): undefined reference to `getcurrenttime'
hdhomerun_debug.c:(.text+0x2fa): undefined reference to `msleep'
hdhomerun_debug.c:(.text+0x2ff): undefined reference to `getcurrenttime'
libhdhomerun/hdhomerun_debug.o: In function `hdhomerun_debug_thread_execute':
hdhomerun_debug.c:(.text+0x7e9): undefined reference to `msleep'
hdhomerun_debug.c:(.text+0x7f9): undefined reference to `getcurrenttime'
hdhomerun_debug.c:(.text+0x847): undefined reference to `getcurrenttime'
libhdhomerun/hdhomerun_discover.o: In function `hdhomerun_discover_sock_add':
  ( SNIP )

<sigh>

root at mythbackmaster:/usr/src/scte65scan-0.2.1# CFLAGS="-I./libhdhomerun
-L./libhdhomerun" make -f Makefile.hdhr
cc -I./libhdhomerun -L./libhdhomerun -O2 -DHDHR -I./libhdhomerun
scte65scan.o tunerdmx.o libhdhomerun/hdhomerun_pkt.o
libhdhomerun/hdhomerun_debug.o libhdhomerun/hdhomerun_discover.o
libhdhomerun/hdhomerun_channels.o libhdhomerun/hdhomerun_channelscan.o
libhdhomerun/hdhomerun_control.o libhdhomerun/hdhomerun_video.o
libhdhomerun/hdhomerun_device.o -lpthread -o scte65scan
libhdhomerun/hdhomerun_debug.o: In function `hdhomerun_debug_flush':
hdhomerun_debug.c:(.text+0x2c6): undefined reference to `getcurrenttime'
hdhomerun_debug.c:(.text+0x2fa): undefined reference to `msleep'
hdhomerun_debug.c:(.text+0x2ff): undefined reference to `getcurrenttime'
libhdhomerun/hdhomerun_debug.o: In function `hdhomerun_debug_thread_execute':
hdhomerun_debug.c:(.text+0x7e9): undefined reference to `msleep'
hdhomerun_debug.c:(.text+0x7f9): undefined reference to `getcurrenttime'
    (  SNIP  )


Is there more for em to do on libhdhomerun?  Thanks.







More information about the mythtv-users mailing list