ebu / ebu-adm-toolbox

A set of tools for processing ADM (Audio Definition Model) files.
https://ebu-adm-toolbox.readthedocs.io/en/latest/
Apache License 2.0
8 stars 1 forks source link

BUILD FAILS #10

Closed WernerBleisteiner closed 6 months ago

WernerBleisteiner commented 6 months ago

Hi folks! Tried to build EAT accordingly. This failed. Logs attached. Maybe if it's because my system and some of the required components are too old (MacOS 11.7.10). Unless there's a workaround, I'll likely have to wait until I may get a newer machine ;) Thanks. w EAT-BUILD-FAIL-logs.zip

tomjnixon commented 6 months ago

One error seems to be the lack of the "ninja" build tool. You should be able to get this from homebrew, though it might be possible to override this by adding -G "Unix Makefiles" to the cmake command, or editing CMakePresets.json to change Ninja to Unix Makefiles.

The b2 error sounds like it can't find a compiler -- do you have the xcode command-line tools installed? If so, does clang --version say anything?

It sounds like this can happen if the compiler is too old.

WernerBleisteiner commented 6 months ago

Thanks Tom. Followed your advice, checked and upgraded homebrew stuff. Latest now on my 11.7.0 shows

Decided then to try on my "experimental MacUntu" machine (20.04.6 LTS). Got much further - but unfortunately also not up to the end. Guess for the same reasons... EAT-Build-Test-MacUntu-1-FAIL.txt.zip

tomjnixon commented 6 months ago

Hmm, clang 13 (on OSX) should be new enough. I assume you get the same error?

I'll try upgrading vcpkg and we can see if that helps.

GCC 9.4 on ubuntu however is quite old, and doesn't meet the C++20 requirement listed in the readme.

rsjbailey commented 6 months ago

This is actually ringing a vague bell. Looks like it's failing the first time it tries to invoke the compiler (all the preceding successes are header-only dependencies I think)

I don't suppose you've updated the commandline tools/xcode recently? Sometimes the compiler wont work until you've manually confirmed the license agreement, and I think vcpkg just interprets this as a broken toolchain. You can either do that by opening the xcode app or running sudo xcodebuild -license accept

(edit - this is referring to the first issue, the failure on the second one looks like missing 3-way comparison operator support, but that's alledgedly in Clang 12, so not sure exactly what's up there)

rsjbailey commented 6 months ago

Ah right, so some standard library support for <=> was only added in 13.1.6 (XCode 13.3), I'm guessing we're using some unsupported std:: stuff as class members and it's tripping up on those. I think that needs macOS 12 though so you're a bit out of luck. You could probably install a custom gcc/clang via homebrew and build it using that - As it's just a commandline utility it doesn't need to link with a bunch of Apple frameworks so it may work. I've not actually tried that though, and it is slightly involved as you'd need to setup either a toolchain file or environment variables to point cmake & vcpkg at the alternative compiler (somewhere in /opt/homebrew) - edit, tom just pointed out to me that your second go isn't using apple clang, so clang might still work if you can get past the vcpkg issues.

WernerBleisteiner commented 6 months ago

Thanks all. A good deal of this seems to transcend my present knowledge and capabilities. I'll try to gradually approach that. But I do reckon none of my presently available machines will be capable at short to get EAT running. My intention was just to better understand and test its possibilities and functionalities (i.e. how it fixes the BS.2076-0 incompliant Dolby ADM).

However I do dare to ask if you have any plans to further develop EAT to be implemented in real-life broadcast production workflows? Thanks again.

tomjnixon commented 6 months ago

Sorry about that, it's a bit disappointing. Unfortunately I don't think we have a good way to test on older macs.

One possible route forward would be installing gcc-10 on your ubuntu machine -- i'll have a go with that and see if it works.

I think we should have a look at building binaries in the CI so that people could just download and use it, or perhaps make a homebrew build for it.

As for plans, we haven't given up on it, and we have some work planned that will probably involve using/developing EAT. Nothing that could be described as "real-life broadcast production workflows", though.

WernerBleisteiner commented 6 months ago

Thanks again. Yeah, I tried already to install gcc10 but it didn't work here. So, don't worry about that, please.

But the concept of EAT as it's been described here appeared pretty interesting and made me curious 😉

As long as ADM things won't be eliminated by the 'early-adopters', however, some tools to fix them would be great 😏 (but EPS seems on a good path here)

tomjnixon commented 6 months ago

Yeah, looks like it doesn't support using enum from C++20.

WernerBleisteiner commented 4 months ago

Having moved now to 22.04LTS, build succeeded. Will now try to explore EAT.