View Issue Details
ID | Project | Category | View Status | Date Submitted | Last Update |
---|---|---|---|---|---|
0009673 | ardour | other | public | 2024-03-20 07:22 | 2024-04-16 22:51 |
Reporter | psr3739 | Assigned To | |||
Priority | normal | Severity | minor | Reproducibility | always |
Status | new | Resolution | open | ||
Platform | Apple Macintosh | OS | MacOS | OS Version | 10.12 or later |
Product Version | 8.4 | ||||
Summary | 0009673: waf build script of patched GTK+ does not meat macOS requirements | ||||
Description | The DISABLE_VISIBILITY flag must be defined to build the patched GTK+ included in the repository, but it is not described in the wscript, so Ardour is not buildable on MacOS. I patched like below it works fine. From c6300e0a430fe07a6d6efe78acab831245a0b390 Mon Sep 17 00:00:00 2001 From: paseri3739 <tael43@icloud.com> Date: Tue, 5 Mar 2024 11:10:34 +0900 Subject: [PATCH] fix compiler flags in ytk and ydk on OSX (define DISABLE_VISIBILITY) --- libs/tk/ydk/wscript | 1 + libs/tk/ytk/wscript | 1 + 2 files changed, 2 insertions(+) diff --git a/libs/tk/ydk/wscript b/libs/tk/ydk/wscript index 45e04326b3..e2eb99ee32 100644 --- a/libs/tk/ydk/wscript +++ b/libs/tk/ydk/wscript @@ -188,6 +188,7 @@ def build(bld): obj.cflags += ['-xobjective-c'] obj.uselib += ' OSX' # -framework Cocoa -framework CoreFoundation -framework ApplicationServices obj.includes += ['ydk/quartz', 'ydk/quartz/gdk', 'ydk/gdk/quartz'] + obj.defines += ['DISABLE_VISIBILITY'] obj.export_includes += ['ydk/gdk'] obj.export_includes += ['ydk/quartz'] elif bld.env['build_target'] == 'mingw': diff --git a/libs/tk/ytk/wscript b/libs/tk/ytk/wscript index a921a79863..3701fcf02a 100644 --- a/libs/tk/ytk/wscript +++ b/libs/tk/ytk/wscript @@ -300,6 +300,7 @@ def build(bld): obj.source = libytk_sources + libytk_quartz_sources obj.cflags += ['-xobjective-c'] obj.uselib += ' OSX' # -framework Cocoa -framework CoreFoundation -framework ApplicationServices + obj.defines += ['DISABLE_VISIBILITY'] elif bld.env['build_target'] == 'mingw': obj.source = libytk_sources + libytk_win32_sources obj.defines += [ 'INSIDE_GTK_WIN32', 'DLL_EXPORT', 'PIC' ] -- 2.39.3 (Apple Git-145) | ||||
Steps To Reproduce | run CC=clang CXX=clang++ ./waf configure --arm64 --strict --ptformat --libjack=weak --optimize | ||||
Tags | No tags attached. | ||||
|
What is the actual error you get? We build Ardour on macOS just fine on various systems, not to mention the official Binaries. |
|
../libs/tk/ydk/gdkaliasdef.c:2376:70: error: aliases are not supported on darwin extern __typeof (gdk_draw_rgb_image) gdk_draw_rgb_image __attribute((alias("IA__gdk_draw_rgb_image"), visibility("default"))); ^ fatal error: too many errors emitted, stopping now [-ferror-limit=] 20 errors generated. ../libs/temporal/tempo.cc:2612:11: warning: unused variable 'beats_delta' [-Wunused-variable] Beats beats_delta = _meters.front().to_quarters (delta); ^ ../libs/temporal/tempo.cc:3837:6: warning: variable 'cnt' set but not used [-Wunused-but-set-variable] int cnt = 0; ^ 2 warnings generated. Waf: Leaving directory `/Users/masato/Desktop/ardour/build' Build failed -> task in 'libydk' failed with exit status 1 (run with -v to display more information) -> task in 'libydk' failed with exit status 1 (run with -v to display more information) This error appears when not using --no-ytk build option (build GTK+ from source) When building GTK+ from source on mac you must need --disable-visibility option in make command or define DISABLE_VISIBILITY variable in another build system like waf. Reference also: https://discourse.ardour.org/t/mac-library-build-gtk-2-24-23-fails/109598/4 https://gitlab.gnome.org/GNOME/gtk-osx/-/issues/20 https://developer-old.gnome.org/gtk2/stable/gtk-building.html |
|
It seems this is a conflict with some system-wide installed libraries (GTK?) on your machine. Though it is unclear where this message "aliases are not supported on darwin" comes from. With your patch the GTK symbols would be in the global namespace, which is never a good idea. If at all, we could make this an option for some specific systems like yours. |
|
I do not get this error on macOS BigSur 10.0 (Ardour nightly builder), and also not on macOS Ventura 14.4 (clang 15.0, XCode 15.3; current latest version). Various other developers have also not reported this, so this is likely due to some library conflict on your system. |
|
Version: Sonoma 14.3.1 zsh ~/Desktop/ardour $ uname -v Darwin Kernel Version 23.3.0: Wed Dec 20 21:33:31 PST 2023; root:xnu-10002.81.5~7/RELEASE_ARM64_T8112 zsh ~/Desktop/ardour $ clang --version Apple clang version 15.0.0 (clang-1500.3.9.4) Target: arm64-apple-darwin23.3.0 Thread model: posix InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin Official Build Log: https://nightly.ardour.org/i/A_MAC_arm64/build_log.txt Ardour Configuration * Will build against private GTK dependency stack in /Users/ardour/gtk/inst : yes * Will use explicit linkage against libintl in /Users/ardour/gtk/inst : yes * Will build against private Ardour dependency stack : no No Carbon support available for this build Ardour Configuration of me: * Will build against private GTK dependency stack : no * Will use explicit linkage against libintl in /Users/masato/gtk/inst : yes * Will build against private Ardour dependency stack : no No Carbon support available for this build My configuration is slightly different from the official build log. I found gtk/inst/ is hard-coded in the root wscript and the log above shows official build environment have gtk/inst. I don't have the structure because I've never build Ardour before. I believe that the developers who have already participated in the project are using the previous builds and environment that have ~/gtk/inst/, so this error does not occur I think. |
|
I am also experiencing this issue. I'm on Sonoma 14.4.1 and I have glib2 @2.80.0 via MacPorts. |
|
We do not support building Ardour with macPorts or homebrew. You're on your own there, I'm sorry. |
|
PS. I build Ardour on macOS 14.4.1 on daily basis just fine with dependencies listed at https://nightly.ardour.org/list.php#build_deps |
Date Modified | Username | Field | Change |
---|---|---|---|
2024-03-20 07:22 | psr3739 | New Issue | |
2024-03-20 13:08 | x42 | Note Added: 0028602 | |
2024-03-20 13:40 | psr3739 | Note Added: 0028603 | |
2024-03-20 18:42 | x42 | Note Added: 0028604 | |
2024-03-20 18:47 | x42 | Note Added: 0028605 | |
2024-03-20 22:33 | psr3739 | Note Added: 0028606 | |
2024-03-20 22:33 | psr3739 | File Added: Screenshot 2024-03-21 at 7.00.13.png | |
2024-04-16 22:47 | matt2000 | Note Added: 0028659 | |
2024-04-16 22:50 | x42 | Note Added: 0028660 | |
2024-04-16 22:51 | x42 | Note Added: 0028661 |