Crashes after pressing "Open"

I’m on freeBSD and when I try to start Ardour and choose “New Template”, then “Open”, it crashens.
I believe it has something to do with memory lock, but I have set it to “unlimited” in /etc/login.conf

Any help much apprieaciated because I just got my Korg Monologue today and I want to start recording!

Which version? Downloaded from ardour.org, built yourself, built by freeBSD infrastructure?
When you choose new, do you choose “Empty Template” or one of the other options?
Did you have a valid path selected in the “Create session folder in:” path setting?

Running FreeBSD 15.1 with Ardour 8.12, did not build myself.
I no longer get the error about memory lock, but I do get this error (I still manage to get to the choose template dialog and yes, I choose “Empty Template” and have a valid directory for it actually makes the files in that dir before crashing):
nm: error: : --radix value should be one of: ‘o’ (octal), ‘d’ (decimal), ‘x’ (hexadecimal)

Your ardour binary, which is actually a shellscript, should have a line reading “elif [ $(nm -D --radix=dec --defined-only…”.
BSD’s nm apparently doesn’t have a “dec” flag, so edit that file and replace “dec” with a “d” instead.

I’ve checked the “config” file for anything “radix”, found nothing there. This is my Ardour directory:

Password:
eth@mye:~/.config/ardour8 $ ls -l
total 38512
-rw------- 1 eth eth 851787776 Oct 1 16:44 ardour-8.12.0.core
-rw-r–r-- 1 eth eth 16385 Sep 28 18:52 config
-rw-r–r-- 1 eth eth 2911 Sep 28 18:52 instant.xml
drwxr–r-- 2 eth eth 4 Sep 28 16:11 plugin_metadata
-rw-r–r-- 1 eth eth 31 Sep 29 23:56 recent
-rw-r----- 1 eth eth 0 Sep 28 16:09 sfdb
-rw-r–r-- 1 eth eth 10538 Oct 1 11:30 ui_config

I found nothing in /bin regarding Ardour.

That ardour version is very old.
You did not build yourself, but did you get from ardour.org, or does FreeBSD have ardour in their repository of pre-built software?

Not the config file, the file named “ardour” or “ardour8” or “Ardour8” which starts ardour.
This is what it looks like using the ardour distribution from ardour.org:

$ which Ardour9
/usr/local/bin/Ardour9
$ file /usr/local/bin/Ardour9
/usr/local/bin/Ardour9: symbolic link to /opt/Ardour-9.8.0/bin/ardour9
$ file /opt/Ardour-9.8.0/bin/ardour9
/opt/Ardour-9.8.0/bin/ardour9: POSIX shell script, ASCII text executable

However, I do not see the line referenced above which calls nm.
@peder which script contains that line with “nm -D”? I do not see it in the ardour9 script in /opt/Ardour9.8.0/bin/ardour9 nor in /opt/Ardour-8.12.0/bin/ardour8.

It is installed through the official freeBSD repo, I only do “pkg install ardour”.
So, before I do any more modifications, should I start with purging/delete my current install and try to find a more updated version from other sources?
Also, thank you all for helping! :slight_smile:

https://github.com/Ardour/ardour/blob/bf679081bafabf1bc16ee1f8ae8d01503ffe013e/gtk2_ardour/ardour.sh.in#L24-L40

Though this check from 2008 can probably be removed these days

In this case, a bug report should be filed with the freeBSD packagers of Ardour.
freeBSD devs have sent us patches in the past, yet their most recent involvement was in March 2024.

Ok. If they haven’t been involved since 2024 then maybe my install might be outdated as to recent Ardour.
I’m going to look into building it myself

I don’t find that check on the files on my system. Is it not used with modern Linux builds?

I’ve got it in my self compiled installs of both 8.12, which ethmdk used, and in the recent 9.8 version:

grep radix  /opt/ardour-8.12-llvm/bin/ardour8  /opt/ardour-9.8-llvm/bin/ardour9
/opt/ardour-8.12-llvm/bin/ardour8:elif [ $(nm -D --radix=dec --defined-only -S $GLIB | grep -w g_atomic_int_add | cut -d ' ' -f 2) -gt 32 ]; then
/opt/ardour-9.8-llvm/bin/ardour9:elif [ $(nm -D --radix=dec --defined-only -S $GLIB | grep -w g_atomic_int_add | cut -d ' ' -f 2) -gt 32 ]; then

You should have that line in your /opt/Ardour-9.8.0/bin/ardour9

Maybe FreeBSD installs it in /usr/local? Check /usr/local/bin for an ardour file.
Or look at the properties of the icon you’re clicking on to start the program, or run which ardour or which ardour8 in a terminal

which ardour8 shows:
/usr/local/bin/ardour8

But that directory does not exist.
I’m going to completely remove ardour8 and try to build it myself, 8 feels like a kinda old version, anyway.
Thank you everyone for the help (I will probably come back if/when the troubles ((no, not those troubles!)) pile up again)!

$ grep radix /opt/Ardour-9.8.0/bin/ardour9
$
$ grep nm /opt/Ardour-9.8.0/bin/ardour9
# this triggers code in main() that will reset runtime environment variables
# this is edited by the build script to include relevant environment variables

You cannot see in the pasted text, but in the original console output the “nm” in “environment variables” was highlighted in the output of the “grep nm” command.
So does not seem to be present in the start script from the ardour.org build.

I am unable to find an opt dir, but I’m on FreeBSD so that might be expected.
I’m currently trying to install it via Ports.

/opt is a linux standards base directory, not sure if FreeBSD uses that directory structure or not.
That directory is used for 3rd party binary builds, so the builds from ardour.org install there.
Software installed from FreeBSD Ports would be the equivalent of something from the distribution repository (or alternate repository) on a linux distribution, so I would expect builds from there to be in /usr/bin.