Having issues with building MythTV from source

For discussion of topics specific to MythTV on linux
Post Reply
phantasyconcepts
Newcomer
Posts: 4
Joined: Sat Oct 02, 2021 12:09 am
United States of America

Having issues with building MythTV from source

Post by phantasyconcepts »

I keep getting an error building this, but I can't tell you what it is because your site seems to think the library I am having issues with is an image, email or url link because it has a dot in the middle of the name. Whoever coded this page really needs to pay closer attention. What it boils down to is that I am building on a Ryzen 3 3200G with a Radeon RX 6700XT and Centos 8 64-bit but for some reason, it keeps trying to compile a 32-bit elf class. This causes it to be unstable as the majority of the OS is 64-bit.[attachment=0]boo.txt[/attachment]
Attachments
boo.txt
(35.44 KiB) Downloaded 73 times
blm-ubunet
Senior
Posts: 265
Joined: Sun Jun 15, 2014 1:08 am
Cambodia

Re: Having issues with building MythTV from source

Post by blm-ubunet »

The problem is LLVMgold which is something you have caused..
I've never seen that issue when compiling ffmpeg or MythTV.
User avatar
bill6502
Developer
Posts: 2325
Joined: Fri Feb 07, 2014 5:28 pm
United States of America

Re: Having issues with building MythTV from source

Post by bill6502 »

Sorry you're having trouble. Blocking files/paths that could possibly be dangerous
is by design. The bulletin board software does this. You can follow the link
near the bottom of most pages for more info (phpBB). It's not a MythTV
product.
phantasyconcepts
Newcomer
Posts: 4
Joined: Sat Oct 02, 2021 12:09 am
United States of America

Re: Having issues with building MythTV from source

Post by phantasyconcepts »

blm-ubunet.
Thanks for the answer. Too bad it is not helpful. I realize that I 'caused' the issue by compiling on aRyzen CPU instead of using an inferior Intel CPU and then using a 64-bit system and expecting to compile an ELFCLASS64 instead of an ELFCLASS32 simply because I am using a 64-bit OS on a 64-bit CPU. After all, typing ./configure with no options is such a dangerous activity. I mean, how can it possibly be expected to look in /lib64 for my library files instead of /lib? That would imply that the configure script should be at least as capable as the ones for wine, the kernels, the Ceton InfiniTV driver, the AMD driver, and Steam with proton. How can I possibly expect the configure script to be able to determine that a Ryzen CPU is a 64-bit system and the application should be compiled in 64-bit mode?
phantasyconcepts
Newcomer
Posts: 4
Joined: Sat Oct 02, 2021 12:09 am
United States of America

Re: Having issues with building MythTV from source

Post by phantasyconcepts »

Well, thanks for not helping. I figured out a workaround, but this is not a fix. The workaround is to delete the symbolic link in /usr/lib/bfd-plugins and create a new one to /usr/lib64/LLVMgold.so. Again, this is not a fix. Something is wrong with the autoconfigure script if the nm keeps looking for the 32-bit instead of the 64-bit libraries. On a 64-bit system, the 64-bit libraries should be the default. I also had to compile with --arch=x86_64 and --libdir=/lib64 in order to get it to work properly. Still, I got warnings about the python scripts. On a side note, the references to CUDA should not be made mandatory. That is a library specific to nVidia cards and people with Radeon cards have a different version. Incidentally, I also updated my AMDGPU libraries, including llvm. For those who say that the llvm files for nVidia should work on the AMD, it doesn't.
blm-ubunet
Senior
Posts: 265
Joined: Sun Jun 15, 2014 1:08 am
Cambodia

Re: Having issues with building MythTV from source

Post by blm-ubunet »

You precious AMD uses the same instruction set as Intel.
Intel uses AMD64 & AMD uses Intel's x86_32.
They both cross licence to either other.

Why are you blaming mythtv or ffmpeg configure script?
Did you use set recipe (ansible etc)?
You should read the configure output & check for missing dependencies & disable those not required.. I disable loads of options.
Your configure log shows you are not building python bindings which is not a good idea.

I don't recall Cuda being mandatory for ffmpeg.. but the nv headers are so it can dynamically load the nvidia libs for nvdec/enc.

Sounds like your config of LLVM is wrong (pkgconfig stuff?)
You don't require LLVMgold.
Did you install this for some compiler feature LTO?
Did you check the guidance on using LLVMgold & gnu GCC toolchain/compiler?
Did you check on ffmpeg website about this?
phantasyconcepts
Newcomer
Posts: 4
Joined: Sat Oct 02, 2021 12:09 am
United States of America

Re: Having issues with building MythTV from source

Post by phantasyconcepts »

blm-ubunet

The nvidia headers should not be required for everyone. It should be a configuration option as the headers for the AMD drivers ARE similar but different. When mythfrontend starts, it throws an error that the cuda libraries are not loaded. This is not an error situation when someone is not using an nvidia card. That is the point I was making about cuda.

As for the missing dependencies, yes, i did go through those and in fact I ADDED those dependencies that were missing, even if I did not require them. As to the python bindings, they are for the MySQL database. I am using the MariaDB insstance. The problem is that in CentOS, the python-mysql package requires MySQL while the Python-mariadb package (which I have installed) requires the Mariadb. The two database packages conflict. For some reason, the CentOS packages for MythTV one is built with mysql and the other with mariadb, which means your CentOS installation using pre-built packages can either be a front end or a backend, but not both. That is why I had to build it. That is not your issue, being that it is a package maintainer issue, but it does point to something that could be checked better on the configure side, or even an option that could be passed if the automated check doesn't work. Typically, the mysql commands will work against the mariadb, but it is possible that the configure script is explicitly checking for mysql and not allowing it to build the bindings if it does not find mysql installed.
Post Reply