OSX Catalina Build Fails: CoreAudio

Mac OSX 10.15.2 (Catalina)(MacBook Air)
Ardour 5.12.0 from source

I successfully installed all prerequisites and successfully made it through ./waf configure, but the build process ("./waf" or “sudo ./waf”) is failing because it can’t find at least a couple of CoreAudio files.

The first error is:

In file included from In file included from …/libs/appleutility/CoreAudio/PublicUtility/AUOutputBL.cpp:47:
In file included from …/libs/appleutility/CoreAudio/PublicUtility/AUOutputBL.h:
…/libs/appleutility/CoreAudio/PublicUtility/CAStreamBasicDescription.h:51:11: fatal error: ‘CoreAudio/CoreAudioTypes.h’ file not found
#include <CoreAudio/CoreAudioTypes.h>

The second error is:

…/libs/appleutility/CoreAudio/PublicUtility/CAAudioChannelLayoutObject.cpp: 47…/libs/appleutility/CoreAudio/PublicUtility/CAStreamBasicDescription.h:
:51:11: note…/libs/appleutility/CoreAudio/PublicUtility/CAAudioChannelLayout.h: : 56did: 11not: find headerfatal error : ‘CoreAudioTypes.h’ in framework ‘CoreAudio’‘CoreAudio/CoreAudioTypes.h’ (loaded from ‘/System/Library/Frameworks’)file not found
#include <CoreAudio/CoreAudioTypes.h>

The third error is:

…/libs/appleutility/CoreAudio/PublicUtility/CAAudioChannelLayout.h:56:11: note: did not find header ‘CoreAudioTypes.h’ in framework ‘CoreAudio’ (loaded from ‘/System/Library/Frameworks’)
In file included from …/libs/appleutility/CoreAudio/PublicUtility/CAAudioChannelLayout.cpp:52:
…/libs/appleutility/CoreAudio/PublicUtility/CAAudioChannelLayout.h:56:11: fatal error: ‘CoreAudio/CoreAudioTypes.h’ file not found
#include <CoreAudio/CoreAudioTypes.h>

The fourth error is:

…/libs/appleutility/CoreAudio/PublicUtility/CAAudioChannelLayout.h:56:11: note: did not find header ‘CoreAudioTypes.h’ in framework ‘CoreAudio’ (loaded from ‘/System/Library/Frameworks’)

Then, there are two similar errors where the build process can not locate AudioUnit.h

There are several locations where a copy of CoreAudioTypes.h can be found, including:

/Applications/Programming/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/CoreAudio.framework/Versions/A/Headers/CoreAudioTypes.h

Similarly, there are several locations where a copy of AudioUnit.h can be found, including:

/Applications/Programming/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk/System/Library/Frameworks/AudioToolbox.framework/Versions/A/Headers/AudioUnit.h

Any help resolving these issues is gratefully appreciated. TIA

I don’t know that anyone builds on Catalina yet, which is why you are running into this. A bit unfortunate given how much of a pain that OS is in terms of more specialized uses like audio honestly.

That being said, this would be much better answered over IRC, it has been a long time since i built on OS X myself, but I would want to see the actual build command issued by waf (Available with a -v or -vv flag on build IIRC) and look there to see if I see a problem in the flags there.

While I haven’t looked at the waf file in some time, it is very possible it doesn’t detect Catalina correctly yet as no developer builds on it, and need to be modified to catch that to add the appropriate flags to the build steps. I had to do that when I jumped on newer OS X versions in the past when I was building more often IIRC.

By the way you shouldn’t need sudo to run waf. And I hope when you say you installed prereqs that you built them from source as well, as there can be issues using package managers for this, especially macports IIRC.

     Seablade

Actually come to think of it, 5.12 almost certainly will not build from source on Catalina as is as Catalina didn’t exist when 5.12 was released, you will have to at the least modify the build system as I mentioned above, and maybe some of the code depending on the extent of changes they made in the OS (And there were quite a few IIRC).

    Seablade

Seablade is correct. We have built on fresh Catalina installs without issues, but only using git master (what will soon be 6.0). However. 5.12 is not buildable on Catalina (and in addition, due to other Apple changes, the final result will not be able to receive input. This is also fixed in git master).

1 Like

Thank you, Seablade, and Paul! I’d be happy to send you whatever I can.

I built the dependencies using Homebrew (i.e. “brew install sord”) … was that in err? :slight_smile:

Here’s a link to my output from “./waf -vv”: https://km6wka.net/ardour_install.txt

Your commentary is much appreciated.

Unfortunately, I’m not the guy to build a Catalina fix. I would, if I could!

I’ll give Paul’s solution a crack, and let y’all know what happens.

Thanks, again.

VERY much not recommended at this time. Pretty much compilation is considered a litmus test on whether you should be using A6 at all right now, it is not appropriate for most people to use at this time.

Sad to say your best bet is to wait for A6 to mature a bit, or use the precompiled options. Updating the wscripts to build on Catalina is likely not difficult for the 5.x series, though not much development is happening there, and Paul already hinted at other issues on Catalina that required some deeper fixes most likely.

     Seablade

For the record the simple answer to this is ‘yes’. The actual answer is more complex, suffice to say ‘it could be’.

   Seablade

Worst case scenario? It doesn’t build, and I have to use nTrack. :frowning:
Plus, clearing out the junk. :frowning:
Medium case? Build fails, but we get some data to wade through. :slight_smile:
Best case? Success! Ardour ardor. :smiley:

1 Like

Well I can break that down a bit for you, without changes to wscripts it won’t build. With changes to wscripts but without addressing changes in the OS it may build, but may not work.

Built against Homebrew, it may very well build and run as well as the above, but you might have other issues pop up related to the build toolchain that wouldn’t otherwise exist.

     Seablade
1 Like

In the interest of Community Service, I’m willing to give it a shot, and report back to the Community.

I accept that my dependencies might already be borked because of the Homebrew involvement, and, also, that Catalina might be a problem.

Please advise your new guinea pig. :smiley:

Here’s what will go wrong with using Homebrew. It will work fine for now. Eventually, you may decide you want to use our version of the dependency stack, which includes some patches, some custom compile time flags etc. etc.

And then you’ll be totally screwed. I had a system where I had done what you’ve just done, and I could never remove enough of Homebrew to allow the custom dep stack to work correctly. Eventually I reformatted drives and reinstalled macOS (OS X at the time, probably in the Mountain Lion era).

1 Like

Dang!!! WOW!!! Shiznit!!!

I’ve used and loved Ardour on Ubuntu for years! I’ve got a Tascam DM-24 automated mixer hooked up to my Linux box, working great with Ardour, right now!

It amazes me that installing this awesome DAW on a Mac OSX is so Mac-specific. Is it really that different from OS update to OS update? I know it’s always a b***h to work something up to run on a Mac, having built several WEB APPS that have problems between OS releases, but … wow.

Still, and all … I’m gonna give it a go. Will advise. WOW!!! MacMind Blown!! :smiley:

Things don’t change much from one specific version of macOS to the next. However, there are specific macOS new releases that have substantive changes that affect Ardour, and Catalina is one of them. We rarely have to change our code in response to a new macOS release. Catalina was one where we did.

The issues with Homebrew and our custom dependency stack have nothing to do with macOS specifically, and everything to do with Homebrew. They are not so different from similar issues on Linux where there are potential conflicts between distro-installed libraries and the versions Ardour wants to use. To the best of our knowledge, however, it’s easier to deal with those “conflicts” on Linux and ensure that the custom versions get used. Homebrew (at least back when I was using it) ended up getting its fingers into too many crevices of macOS/OS X, and it was hard/impossible/exasperating to deal with the “conflicts”.

2 Likes

That blows. On a side note: this is the best dev forum I’ve ever been on. Thanks, Paul, and Seablade.

  1. Linux rox. I got no complaints, even since Mandrake. Use it every day.

  2. Is Homebrew the problem? I’m ready to help work out something that really works.

It;s not really fair to call Homebrew the problem. The issue is fairly simple:

  1. people who want to build Ardour from source want an easy way to install the dependency stack
  2. Homebrew offers that, albeit with the “vanilla” versions of all the libraries
  3. the way Homebrew does this differs from the way our own “build-stack” tooling works
  4. it is (or was) hard to get Homebrew out of the way if you want/need to use our build-stack stuff.

That doesn’t mean that Homebrew is at fault. It just conflicts with our stuff. Neither are wrong, they just conflict.

2 Likes

Like I said … best dev forum, ever. Plain language is so refreshing. Thank you.

I’m going to (1) do what I can to purge/replace the Homebrew installations, then (2) install the various dependencies from source, then (3) try a fresh Ardour source installation and … see what happens.

That should keep Homebrew (pretty much) out of the equation, and, Good Lord willing … work.

Does that sound like a reasonable roadmap? Given my current situation?

We have a script that does all that. It’s in a read-only git repo:

git clone git://git.ardour.org/ardour/ardour-build-tools.git

The script is called “build-stack”. We do not offer support or help with this script - it was created SOLELY to allow ardour developers (existing) to build the dependency stack in a predictable, repeatable way.

There may be pending changes for Mojave and/or Catalina that have not yet been pushed to the script.

2 Likes

It should be noted that most of the audio industry was hit by Catalina, many of them pretty well blindsided. I participated in a conversation on a different mailing list that is used by professional theater sound folks, where someone brought up complaining about Avid not having updated their stuff to be compatible with Catalina for months after the release, and that was just one of the multiple ‘larger’ names in audio brought up. This also included MOTU, Audinate (Makers of Dante that is used in hundreds of thousands of installations around the world ranging from live entertainment to studios), and others. People with development experience on other apps as well weighed in with similar stories.

Catalina was a particularly hard hitting one that changed a lot for a lot of more specialized software.

    Seablade
1 Like

I’m going to take Seablade’s advice and wait for more updates from the amazing Ardour developers.

As a quick test, I downloaded the demo package and tested it out, and none of my input devices are able to send data into the program … the internal microphone is found, but does not provide input data, and my external USB device (PreSonus AudioBox USB) is not even being recognized by the system.

Thank you both for your thoughtful commentary. It really helped my perspective on some of the development challenges you are facing, and with how Ardour integrates with the OS.

I’ll continue using my Ubuntu installation, for now, and keep an eye out for new developments.

Thanks, again. I’ve enjoyed this dev forum experience, quite a lot.

Works just fine here on MacBookPro runining Catalina (both self-builds as well as nightly build)
See also https://tracker.ardour.org/view.php?id=7829
and the forum thread: Unable to record on OSX Catalina