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

Bill Meek keemllib at gmail.com
Thu Aug 9 02:37:07 UTC 2018


On 08/05/2018 09:25 PM, David Hampton wrote:
> 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

Update:

I was about to send a response accepting Nick's offer, but decided to
add the output of ldconfig -p just to show where libhdhomerun.so was.

Then I spotted this, the 4th line below:

$ ll `locate libhdhomerun.so`
lrwxrwxrwx 1 root root    21 Apr  2 14:26 /usr/lib/x86_64-linux-gnu/libhdhomerun.so -> libhdhomerun.so.4.0.0
lrwxrwxrwx 1 root root    21 Apr  2 14:26 /usr/lib/x86_64-linux-gnu/libhdhomerun.so.4 -> libhdhomerun.so.4.0.0
-rw-r--r-- 1 root root 75688 Apr  2 14:26 /usr/lib/x86_64-linux-gnu/libhdhomerun.so.4.0.0
-rwxr-xr-x 1 root root 93240 Feb 17  2016 /usr/local/lib/libhdhomerun.so <--------------------------------

which I renamed, to shut it off, reran ldconfig, and presto, mythfilldatabase works.
So does recording from my HDHR Extend (HDTC-2US.) I did do a make distclean before
reporting the original mfdb failure.

-- 
Bill


More information about the mythtv-dev mailing list