[mythtv-users] CMake remembers too much

David Hampton mythtv at love2code.net
Tue Feb 11 18:47:56 UTC 2025


On Tue, 2025-02-11 at 13:26 -0500, James Abernathy wrote:
> 
> On Tue, Feb 11, 2025 at 1:05 PM David Hampton via mythtv-users
> <mythtv-users at mythtv.org> wrote:
> > 
> > Are you installing into the same CMAKE_INSTALL_PREFIX directory as
> > before?  Try deleting that first.  The cmake builds will look at
> > the
> > install directory to see if exiv2 and ffmpeg have already been
> > built,
> > and will reuse those earlier builds if possible.  You could also
> > try
> > building mythtv by adding -DLIBS_USE_INSTALLED=OFF to the "cmake --
> > preset" command.  That should ignore any previously built libraries
> > and
> > rebuild everything.
> > 
> > Its also possible since you've copied your install to /usr before,
> > so
> > the builds might be picking up bad information from there.  Try
> > this
> > command:
> > 
> >   find /usr -name libmyth*.pc
> > 
> > If that returns any file names, delete those files.  Also check to
> > see
> > if the files ffnvcodec.pc and mythexiv2.pc exist in the same
> > directory
> > as the others, and delete those too.  This shouldn't be necessary
> > if
> > you set the LIBS_USE_INSTALLED flag.
> > 
> > David
> > 
> 
> 
> Thanks for the reply. I did delete all files in my $HOME directory
> and started over.  So nothing of the previous cmail build was there. 
> I'm not sure where to put the -DLIBS_USE_INSTALL=off since I'm doing
> a mythtv-light build this time.

I can't help there.  I haven't done any mythtv-light builds.

If you want to always rebuild exiv2 and ffmpeg, you could create the
file ~/.config/MythTV/BuildOverridesPost.cmake with the line:

   set(LIBS_USE_INSTALLED OFF)

>  So deleting the files that showed up may be the easiest option.  
> 
>  ls -l /usr/local/lib/pkgconfig/
> -rw-r--r-- 1 root root 208 Feb 11 07:06 ffnvcodec.pc
> -rw-r--r-- 1 root root 459 Feb 11 07:06 libmythavcodec.pc
> -rw-r--r-- 1 root root 647 Feb 11 07:06 libmythavdevice.pc
> -rw-r--r-- 1 root root 575 Feb 11 07:06 libmythavfilter.pc
> -rw-r--r-- 1 root root 483 Feb 11 07:06 libmythavformat.pc
> -rw-r--r-- 1 root root 425 Feb 11 07:06 libmythavutil.pc
> -rw-r--r-- 1 root root 393 Feb 11 07:06 libmythpostproc.pc
> -rw-r--r-- 1 root root 398 Feb 11 07:06 libmythswresample.pc
> -rw-r--r-- 1 root root 391 Feb 11 07:06 libmythswscale.pc
> -rw-r--r-- 1 root root 288 Feb 11 07:06 mythexiv2.pc

You can delete all of these.  These are how one sub-project in the
cmake mythtv build finds the results of the previous cmake sub-
projects, and how repeated builds of MythTV detect that libraries like
FFmpeg have already been built.  They will get recreated the next time
you build MythTV with an install directory of /usr/local.

David





More information about the mythtv-users mailing list