[mythtv] Updates to mythtv/external and required system libraries

David Hampton mythtv at love2code.net
Mon Aug 6 02:25:44 UTC 2018


On Sun, 2018-08-05 at 19:28 -0500, Bill Meek wrote:
> On 08/05/2018 07:12 AM, David Hampton wrote:
> > Hi everyone,
> > 
> > I just pushed changes to the master branch to prefer system
> > libraries
> > over the code in the mythtv/external.  The changes are:
> > 
> > 1) On all systems, the following libraries will be used :
> > 
> >    libhdhomerun
> >    libsamlplerate
> >    lzo (or lzo2) instead of minilzo
> >    minizip
> > 
> > 2) On all systems except Centos 7, Debian Jessie, and Ubuntu 14.04
> > the
> > system libbluray will be used.
> > 
> > 3) On all systems except Suse and FreeBSD, the system libXNVCtrl
> > will
> > be used.
> > 
> > This means that after your next git update, your development
> > directory
> > may not configure/compile until you add some system libraries.  The
> > ansible scripts have been updated, so if you installed your
> > compilation
> > dependencies that way you can pull updated playbooks and re-run
> > them.
> > If you installed manually, you will likely need to install the
> > following or their equivalents:
> > 
> >    hdhomerun-devel
> >    libbluray-devel
> >    libsamplerate-devel
> >    libXNVCtrl-devel
> >    lzo-devel
> >    minizip-devel
> > 
> > The only thing known not to work after this change is that the
> > mythgame
> > plugin won't compile on Ubuntu 14.04 since that system doesn't
> > provide
> > minizip.
> > 
> > David
> 
> David,
> 
> Does mythfilldatabase run OK for you? I'm on Ubuntu 18.04.1.

Runs fine on my Fedora28 system.  I believe that system is set up to
talk to a networked HDHR box. 

> I'm compiling OK, but when I run mythfilldatabase --dd-grab-all, I
> get
> an abort (attached.) I do have an HDHR box on this test host.
> ./configure
> says: HDHomeRun support         yes.
> 
> I did remove the old external libraries (rm -rf
> external/libhdhomerun/)
> to make git status happy.
> 
> Also, I rip everything out of /usr/lib that's MythTV related before
> doing
> major changes like this.

The crash is here in #5:

Thread 1 (Thread 0x7fbfdde28940 (LWP 5000)):
#4  0x00007fbfdab3ec92 in __stack_chk_fail () at stack_chk_fail.c:29
#5  0x00007fbfdd00cfbe in CardUtil::IsCableCardPresent(unsigned int,
QString const&) (inputid=1, inputType=...) at cardutil.cpp:228
        __FUNCTION__ = "IsCableCardPresent"

Its complaining that something in CardUtil::IsCableCardPresent is
overwriting the stack, which is interesting since it really doesn't
write much to the stack.  It stores an int, a pointer, a QString, and
an hdhomerun_tuner_status_t structure.  That's probably the culprit,
given that it has two embedded char[32] strings.  The call to
hdhomerun_device_get_oob_status() could possibly be writing garbage
into one of the string pointers and trashing the stack, but its not
noticed until the return from IsCableCardPresent.

I can try and set up an Ubuntu host with my networked HDHR, but it will
take me a couple of days to get to it.

David




More information about the mythtv-dev mailing list