[mythtv] DVB symbol errors with gcc 8.3

Paul B. Henson henson at acm.org
Thu Jul 25 05:23:42 UTC 2019


As described in:

	https://bugs.gentoo.org/show_bug.cgi?id=683280

Compiling mythtv with gcc 8.3 results in an error when DVB is not
enabled:

/usr/lib/gcc/x86_64-pc-linux-gnu/8.3.0/../../../../x86_64-pc-linux-gnu/bin/ld:
../../libs/libmythtv/libmythtv-29.so: undefined reference to
`DVBChannel::Open(DVBChannel*)

It appears this is caused by the unconditional include of dvbchannel.h
by mythtv/libs/libmythtv/channelscan/channelscanner.cpp, that include
file defines the DVBChannel class, and for some reason with gcc 8.3 that
now causes a symbol reference to some of the class methods. I'm not sure
if that's a compiler bug, or just implementation dependent behavior.

In any case, guarding that include with an "#ifdef USING_DVB" resolves
the problem. Assuming this isn't a gcc bug (or even if it is, not
defining the dvb classes when you're not using it seems a good idea
regardless) could somebody commit a change like this or something
equivilent?

Thanks much...


More information about the mythtv-dev mailing list