Page MenuHomePhorge

Compile Ardour for MacOS myself
Open, NormalPublic

Description

I mean maybe I'll even go ahead and pay for it eventually, but I wanna try and just do it myself first!

https://ardour.org/building_osx_native.html
https://nightly.ardour.org/list.php#build_deps
https://ardour.org/current_dependencies.html

Event Timeline

Trying to install the deps with:

sudo port install aubio automake boost cairomm cmake curl fftw flex freetype gettext glibmm gnome-doc-utils harfbuzz itstool libarchive libiconv libogg libsamplerate libsndfile libusb libwebsockets libxslt liblrdf pango pkgconfig pcre raptor2 redland serd sratom tiff xz autoconf bison cairo cppunit expat flac fontconfig fribidi glib2 gnome-common gobject-introspection intltool jpeg libffi liblo libpng libsigcxx2 libtool libvorbis libxml2 lilv lv2 m4 nss libopus pangomm libpixman rasqal readline rubberband sord taglib zlib

Package names that didn't work: make tar termcap vamp-plugin-sdk

Package libuuid couldn't be installed because ossp-uuid was already installed and conflicts, maybe that's fine.


Lacking any maintained official documentation (the natural inclination of people towards not bothering to document things presumably incredibly accentuated by literally making money off of people not being able to do what you would be documenting): https://discourse.ardour.org/t/mac-build-cant-find-the-gtk-theme/109720
https://medium.com/@navi3264/build-ardour8-4-from-source-on-macos-88daa0643255


I ran into:

Checking for boost library >= 1.56                   : no 
The configuration failed
(complete log in /Users/keithzubot-gephart/Code/git/ardour/build/config.log)

To fix took ./waf configure --boost-include=/usr/local/include/ (it expects, nay demands, to be pointed to a folder where boost is a subdir).

Installed vamp-plugin-sdk via brew install vamp-plugin-sdk, so it's definitely not in my path and I presumably need export PKG_CONFIG_PATH="/usr/local/Cellar/vamp-plugin-sdk/2.10.0/lib/pkgconfig:$PKG_CONFIG_PATH"

I needed to use the patch at https://medium.com/@navi3264/build-ardour8-4-from-source-on-macos-88daa0643255 anyways, and I'm running into a GTK compile error, so lets just try entirely going with brew.

Modified version of the source lines mentioned in that post, intended to be used with source ardour.profile:

ardour.profile
# gcc and g++
export CPLUS_INCLUDE_PATH=/usr/local/include
export CPLUS_INCLUDE_PATH="$CPLUS_INCLUDE_PATH:/usr/local/Cellar/boost/1.84.0_1/include"
export CPLUS_INCLUDE_PATH="$CPLUS_INCLUDE_PATH:/usr/local/include"
export CPATH=$CPLUS_INCLUDE_PATH

# pkgconfig -path
export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig

# libarchive
export PATH="/opt/homebrew/opt/libarchive/bin:$PATH"
export PKG_CONFIG_PATH="$PKG_CONFIG_PATH:/usr/local/opt/libarchive/lib/pkgconfig"
export LDFLAGS="-L/usr/local/opt/libarchive/lib"
export CPPFLAGS="-I/usr/local/opt/libarchive/include"

Okay and so now . . . hmm.

[ 222/1849] Compiling libs/tk/ytk/gtkmenutoolbutton.c
../libs/tk/ytk/gtkscale.c:1474:50: error: incompatible function pointer types passing 'GCompareFunc' (aka 'int (*)(const void *, const void *)') to parameter of type 'GCompareDataFunc' (aka 'int (*)(const void *, const void *, void *)') [-Wincompatible-function-pointer-types]
                                                 (GCompareFunc) compare_marks,
                                                 ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/local/Cellar/glib/2.80.0_2/include/glib-2.0/glib/gslist.h:76:26: note: passing argument to parameter 'func' here
                                          GCompareDataFunc  func,
                                                            ^
1 error generated.

ld: warning: ignoring duplicate libraries: '-lglib-2.0', '-lgthread-2.0', '-lintl'

That's just exactly the same problem as with all macports other than vamp-plugin-sdk . . .

keithzg changed the visibility from "All Users" to "Public (No Login Required)".Apr 2 2024, 1:14 AM
keithzg triaged this task as Normal priority.Apr 2 2024, 1:25 AM

Maybe configure with --no-ytk? Well that failed on missing gtkmm, lets install that via too then.

That works up until I run into the exact problem here: https://discourse.ardour.org/t/libgtkmm2-fails-when-attempting-a-build/108367/4

Eh maybe that's enough for today.