[mythtv] setting up an env

Roger Siddons dizygotheca at ntlworld.com
Sat Apr 2 10:10:16 UTC 2016


On 01/04/16 21:45, Dan Littlejohn wrote:
>
> I have a couple more questions:
>
>   * I used a prefix so that configure would install the files in
>     /usr/local/mythtv.  Per your notes you are building in place and
>     then linking back?
>
> ln -s /opt/mythtv/mythtv /usr/local/mythtv
>

No, the git/installation dir structures are different.
If I was working on the backend & libmythmeta then:

ln -s /opt/mythtv/mythtv/programs/mythbackend/mythbackend 
/usr/local/mythtv/bin/mythbackend
ln -s 
/opt/mythtv/mythtv/libs/libmythmetadata/libmythmetadata-0.28.so.0.28.0 
/usr/local/mythtv/lib/libmythmetadata-0.28.so.0.28.0

I always run /usr/local/mythtv/bin/mythbackend so those links are the 
only thing that ever change and a make/install gets me back to a vanilla 
system.

There's undoubtedly better ways - I'm just too lazy to set it up.

To be clear, I only use this hack because it's tricky (for me) to 
install from QtCreator (and installing takes so long)

> If so does this not cause a problem with commits?

No, git ignores the build products, but your link would cause havoc the 
next time you installed...

  Currently, I can
> build projects like the mythbackend, but when I am trying to run I am
> getting a weird error about it not being able to attach as a slave and
> it being protocol version 77 instead of 88.  There is no other backend
> running on the vm.

Slave ? Is your config.xml right ?
 From the above, I doubt it's finding the right libs and/or binaries.

>
>   * I am not quite understanding the .pro files.  If the mythfrontend
>     uses a lib that is causing the problem (like the function
>     GetPlaybackURL in libmythmetadata) then you cannot find it in the
>     code if you use the mythfrontend.pro <http://mythfrontend.pro>
>     file?

Yep. That's one consequence of the frontend pro not depending on the lib 
pro.
It is quirky. The 'Follow symbol' (F2) usually works but the 'Find 
Usages' (Ctrl/Shift/U) and other Finds sometimes won't be complete 
unless the project is open.
I just tried & they both found GetPlaybackURL in libmyth, even though I 
haven't got the libmyth project open.

How do you sort out problems if this is the case, do you have
>     to have all these projects open and just know where stuff is?

Safest to have the relevant libs open. Experience helps a lot but having 
lots of projects open doesn't seem to slow it down much apart from start-up.

Find in Files always works, for when you don't trust the other searches.

  I
>     found a mythtv.pro <http://mythtv.pro> file in the top level and it
>     does have everything so that is what I was looking through the code
>     with.
>

I believe that's there for the Windows build. Handy but I've never tried 
to build with it.

BTW. StuartA has some Ansible playbooks for installing dependencies.

https://github.com/MythTV/ansible


More information about the mythtv-dev mailing list