prerequisite errors in myth-fixes-31

Post Reply
Posts: 5
Joined: Thu Feb 04, 2021 10:03 pm
United States of America

prerequisite errors in myth-fixes-31

Post by dddd » Fri Feb 05, 2021 9:22 pm

I recently graduated to building my own mythtv on CentOS and after I got the dependencies taken care of it was rather smooth, so my complements and thanks for the hard work that goes into the codebase. In the interest of improving the things that I did notice, I wanted to point them out.

The configure script doesn't check for lzo. It just silently fails during the complile (nuppledecoder.cpp). So a test for lzo in configure would probably be a good idea.

The second observation is a little complex to explain. The configure script has many tests to see if headers and libraries work. Hdhomerun inclusion code runs two levels of tests. First, it runs check_header a few times to find the correct library location, then it runs check_lib to see if everything works.

I've noticed that if the hdhomerun official library (from Silicon Dust) is installed*, the first set of checks (check_header) succeeds but the second test (check_lib) fails, and when check_lib fails it silently drops hdhomerun support.

I suggest that when the first checks succeed, it proves the hdhomerun files are 'installed' and support is intended, so if the second check (check_lib) fails, a warning should be displayed instead of just silently disabling the option. A simplistic change is offered below.


*=I recall myth specifically saying that library version 4 was required, but Silicon Dust download page didn't even say it's version 4. Anyway I was lucky enough that my distro released a working hdhomerun library a few weeks later, I never did figure out the actual problem.

--- configure.dist 2020-09-21 14:08:09.000000000 -0700
+++ configure 2021-02-05 11:34:16.409524030 -0800
@@ -6030,7 +6030,8 @@
elif check_lib libhdhomerun ${HDHOMERUN_PREFIX}hdhomerun.h hdhomerun_discover_find_devices_v2 -lhdhomerun; then
- disable hdhomerun
+ echo hdhomerun files are installed but the library is not functional. Please repair it or manually disable hdhomerun support.
+ exit 1

if check_lib libhdhomerun ${HDHOMERUN_PREFIX}hdhomerun.h hdhomerun_device_selector_load_from_str -lhdhomerun ; then

Post Reply