[mythtv] Compiler issue on github runner for Fixes/32 macOS 11/12

Scott Theisen scott.the.elm at gmail.com
Thu Nov 24 19:18:53 UTC 2022

On 11/24/22 06:46, John Hoyt wrote:
> On Wed, Nov 23, 2022 at 7:18 PM Scott Theisen 
> <scott.the.elm at gmail.com> wrote:
>     On 11/23/22 18:37, John Hoyt wrote:
>>     On Wed, Nov 23, 2022 at 6:28 PM John Hoyt <john.hoyt at gmail.com>
>>     wrote:
>>         Hi Scott, thanks for taking a look.  I've worked up a patch
>>         file to resolve, but it sounds like getting configure working
>>         correctly is a better solution (happy to post the patch file).
>>             Without the outputs from configure, particularly the log
>>             file config.ep, I can't say for certain if those lines
>>             are the problem.
>>         Configure output: https://pastebin.com/gG8E1Fbg
>>         config.ep: https://pastebin.com/b6Tk5M4Q
>     from config.ep line 5736:
>     ```
>     dyld[67989]: Library not loaded: '@PREFIX@/lib/libhdhomerun.dylib'
>     Referenced from:
>     '/private/var/folders/4c/__l40lp140324rnbz1m2jkgh0000gn/T/ffconf.xBPEc1aO/test'
>     Reason: tried: '/usr/local/lib/libhdhomerun.dylib' (no such file),
>     '/usr/lib/libhdhomerun.dylib' (no such file)
>     ```
>     That looks suspicious to me.  Would that prevent the test from
>     executing?
> That was the culprit.  It appears that configure pretty much stopped 
> running at this point.  Uninstalling hdhome seems to have allowed 
> configure to complete successfully.
> Also, a fix for hdhomerun was pushed to macports last night (Thank you 
> Craig!!!!).  It appears that everything now gets through configure 
> cleanly.  Sorry to send you down the weeds of a package management issue.

Our GitHub Actions use Homebrew, so if the root cause is a package 
management issue, that would be why MythTV's Actions work.

>     The resultant config.h files from our configure and FFmpeg's would
>     be useful to compare.
> mythtv's config.h is here: https://pastebin.com/xavF0smp

#define HAVE_LRINT 0
#define HAVE_ROUND 0

If this was from before uninstalling libhdhomerun, it is as I expected, 
and all of the other math functions are defined 1.

> ffmpeg'sconfig.h  is here: https://pastebin.com/XprwzBbw 
> <https://pastebin.com/XprwzBbw>

"This paste has been deemed potentially harmful."

I assume FFmpeg's config.h defines HAVE_LRINT and HAVE_ROUND to 1, based 
on the compile errors.

>     I would prefer to fix configure, rather than hack around the error.
>     Were the HAVE_LRINTF changes necessary?  I don't think they should be.
>     I think a better solution is to remove the referenced configure
>     lines and see if that works.  My reasoning is the following:
>      1. `git grep -nE "math.h" -- :^*/FFmpeg/** :^platform/**` We use
>         <cmath> not <math.h>, except in external/libexiv2.
>      2. We never use lrint() `git grep -nE lrint -- :^*/FFmpeg/**`
>         only lrintf().
>           * Although, we do use round(), `git grep -nE
>             "[^A-Za-z]round\(" -- :^*/FFmpeg/** :^*/html/**`.
>      3. We are using C++17, these functions are from C99/C++11.
> Happy to try this but also believe this is probably overcome by the 
> hdhomerun fix.

If the updated libhdhomerun package fixes this, you don't need to test 
the configure change.

> Thanks again for the help!

No problem.


-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.mythtv.org/pipermail/mythtv-dev/attachments/20221124/5e086427/attachment.htm>

More information about the mythtv-dev mailing list