Mac build: _g_value_types_init: assertion failed: (type == G_TYPE_CHAR)

Hello all,

I just returned to building Mixbus after a while and after upgrading MacOS. It took some tweaks, but the conf/build/install all runs. I get the following, though, when I run it.

I’m hoping this looks familiar to someone…


[Ardour7] ./build/gtk2_ardour/ardour8
WARNING: Could not check your glib-2.0 for mutex locking atomic operations.

Disabling MacOS AppNap
Mixbus32C8.1.1453 (built using 8.1-1453-gbfcd9c64ec and GCC version Apple LLVM 15.0.0 (clang-1500.0.40.1))
Mixbus32C: [INFO]: Your system is configured to limit Mixbus32C to 10240 open files
Mixbus32C: [INFO]: Loading system configuration file /usr/local/etc/ardour8/system_config
Mixbus32C: [INFO]: Loading user configuration file /Users/stp/Library/Preferences/Mixbus8/config
Mixbus32C: [INFO]: Apple VecLib H/W specific optimizations in use
Mixbus32C: [INFO]: Loading plugin meta data file /usr/local/share/ardour8/plugin_metadata/plugin_tags

(process:64825): GLib-GObject-CRITICAL **: 16:07:37.511: cannot register existing type ‘gchar’
GLib-GObject:ERROR:gvaluetypes.c:455: _g_value_types_init: assertion failed: (type == G_TYPE_CHAR)
Bail out! GLib-GObject:ERROR:gvaluetypes.c:455:_g_value_types_init: assertion failed: (type == G_TYPE_CHAR)
Abort trap: 6


[~] /opt/homebrew/bin/pkg-config --cflags --libs glib-2.0

-I/opt/homebrew/Cellar/glib/2.78.1/include/glib-2.0 -I/opt/homebrew/Cellar/glib/2.78.1/lib/glib-2.0/include -I/opt/homebrew/opt/gettext/include -I/opt/homebrew/Cellar/pcre2/10.42/include -L/opt/homebrew/Cellar/glib/2.78.1/lib -L/opt/homebrew/opt/gettext/lib -lglib-2.0 -lintl

We have generally had problems trying to use homebrew to build Ardour. Sometimes even its presence on a machine leads to problems even when using our own build stack.

The specific error message you have initially suggests that you have an incorrect version of glib. This is supported by subsequent errors.

We build Ardour for macOS with our own dependency stack. It’s the only way we have found to give reliable results.

Thanks for the helpful response, Paul!
It looks like there are issues with using MacPorts as well.

How we build our dependency stack:

We can’t support this script, but this is what we use.

I came across this issue recently (Ardour’s YTK branch). The problem was that libgobject-2.0.0.dylib was linked multiple times. Once directly by Ardour and again, indirectly by a library (here libgtk).