[mythtv-users] hdhrstreamhandler.cpp problem in build of Master for el7 - but not for F28

David Engel david at istwok.net
Sun Nov 18 20:45:54 UTC 2018


On Sun, Nov 18, 2018 at 12:43:20PM -0600, David Engel wrote:
> On Sun, Nov 18, 2018 at 04:24:28PM +0000, John Pilkington wrote:
> > On 18/11/18 15:16, David Hampton wrote:
> > > On Sun, 2018-11-18 at 11:56 +0000, John Pilkington wrote:
> > > > Yesterday I built and installed Master head for Fedora 28.  There
> > > > didn't
> > > > seem to be a problem.  So I tried building for el7;  build failed.
> > > > 
> > > > This seems to relate to the recent commit
> > > > 
> > > > {{{
> > > > 
> > > > https://github.com/MythTV/mythtv/commit/e50d9c7d3a90ad4e877347068cfd913d114fe23c
> > > > 
> > > > but at present I don't understand why it didn't affect the f28 build
> > > > too.  I don't have any homerun devices.
> > > > 
> > > > BUILDSTDERR: recorders/hdhrstreamhandler.cpp:23:109: error: 'int
> > > > hdhomerun_device_selector_load_from_str(hdhomerun_device_selector_t*,
> > > > char*)' was declared 'extern' and later 'static' [-fpermissive]
> > > > BUILDSTDERR:  static int
> > > > hdhomerun_device_selector_load_from_str(struct
> > > > hdhomerun_device_selector_t *hds, char *device_str);
> > > > BUILDSTDERR:
> > > >                                                    ^
> > > > BUILDSTDERR: In file included from
> > > > /usr/include/hdhomerun/hdhomerun.h:32:0,
> > > > BUILDSTDERR:                  from recorders/hdhrstreamhandler.h:29,
> > > > BUILDSTDERR:                  from
> > > > recorders/hdhrstreamhandler.cpp:14:
> > > > BUILDSTDERR:
> > > > /usr/include/hdhomerun/hdhomerun_device_selector.h:42:20:
> > > > error: previous declaration of 'int
> > > > hdhomerun_device_selector_load_from_str(hdhomerun_device_selector_t*,
> > > > char*)' [-fpermissive]
> > > > BUILDSTDERR:  extern LIBTYPE int
> > > > hdhomerun_device_selector_load_from_str(struct
> > > > hdhomerun_device_selector_t *hds, char *device_str);
> > > > BUILDSTDERR:                     ^
> > > > BUILDSTDERR: make[2]: *** [obj/hdhrstreamhandler.o] Error 1
> > > > BUILDSTDERR: make[2]: *** Waiting for unfinished jobs....
> > > > make[2]: Leaving directory
> > > > `/builddir/build/BUILD/mythtv-
> > > > 26d8d510589d4dc9adf72d14e9837774425faff8/mythtv/libs/libmythtv'
> > > > 
> > > > }}}
> > > 
> > > John,
> > > 
> > > The build process is attempting to compensate for two changes to the
> > > libhhomerun code.  The first is the switch from
> > > hdhomerun_discover_find_devices to hdhomerun_discover_find_devices_v2,
> > > and when this new function is detected a compilation flag is set.  The
> > > second change is the addition of the function
> > > hdhomerun_device_selector_load_from_str_discover to the library.  There
> > > is no version number in the hdhomerun library, and thus no easy way to
> > > determine when these changes occurred.  When gigem made the commit you
> > > referenced, he piggybacked on the flag that is set upon detection of
> > > the find_devices_v2 function, probably assuming that the load_from_str
> > > changes occurred at the same time.  From your message, it appears that
> > > that that's not true, and that the EL7 version of libhdhomerun has the
> > > load_from_str change but not the find_devices_v2 change.  I think we'll
> > > need to enhance configure to specifically look for the presence of
> > > load_from_str, and add a new compilation flag with that info.  I should
> > > be able to recreate this error on my Centos7 builder.
> > > 
> > > David
> > > 
> > 
> > David:  Thanks for the explanation.  homerun el7 packages brought in for the
> > build were hdhomerun and hdhomerun-devel, both quoting a date of 20150615
> 
> David's assessment of the situation is correct except that I didn't
> assume that the v2 and from_str changes occurred at the same time.  I
> simply hoped the existing #define would be sufficient.  I should have
> realized EPEL's inability to provide semi-current packages would be a
> problem.  I'll get is sorted out.

This problem should be fixed now.

David
-- 
David Engel
david at istwok.net


More information about the mythtv-users mailing list