Skip to content

Instantly share code, notes, and snippets.

@osirisgothra
Created August 26, 2025 02:02
Show Gist options
  • Save osirisgothra/14986fd40431161128d7062c1af218fc to your computer and use it in GitHub Desktop.
Save osirisgothra/14986fd40431161128d7062c1af218fc to your computer and use it in GitHub Desktop.
How to fix rakarrack's segmentation fault!

(This assumes you came from my link on "How to fix segmentation fault" )

Why this happens, and a workaround

The Crash

Segmentation Fault is probably being caused by new fonts you have recently added that have Unicode characters in their description field(s) or file/dirname(s).

One of the best ways people cause this is by installing Windows fonts (copying them from c:/windows/fonts/*.ttf into their /usr/share/fonts/truetype directory.

Because fltk 1.1 cannot handle those, it crashes when it calls ReadStr.

Verify this is your issue

You can verify this is the problem with gdb as stated above. If it mentions fonts, fltk and reading a string, then its probably the issue. I dealt with this today and confirmed it was a font that had a Unicode string in its "Name" field. The filename was clean, but the font name field was not (you need a font viewer or use 'file' to check a font's name).

How to work around this

METHOD 1: FONT REMOVAL

1-A: move or delete the offending fonts

Get rid of offending fonts by moving them out of your /usr/share/fonts/truetype directory into somewhere like

mkdir ~/badfonts sudo mv mybadfont.ttf ~/badfonts

1-B: make your own cache of fonts

Use a private set by making a .fontconfig directory in your HOME or in ~/.config/fontconfig. You will have to look up how to configure your own private set, I am not really versed in this so it will be up to you to find info on how to do that without including the system ones. I am going off someone else's suggestion here, so I don't know how well it works on 18-22.04

Rebuild FLTK's Cache

Either way, you will then need to re-cache the fltk fonts. This will remove the bad entries should you have removed or moved them. There may be additional steps if you chose the private cache route. If not you are all set to do this:

Do not use 'sudo' if you are creating a private cache. Also, be careful not to get --force mixed up with --really-force, they do different things.

sudo fc-cache --really-force --verbose

If all goes well, rakarrack should work again.

METHOD 2: Recompile rakarrack or rakarrack-plus

Compile the bug-fixed version that uses fltk1.3 and install it after uninstalling the package version.

Warning: the latest rakarrack-plus does NOT build on 18.04 thru 22.04 unless you have upgraded your kernel and GLIBC to the modern one. This cannot be done if you make use of any proprietary drivers that depend on legacy versions of kernel and/or glibc. Be sure you can do that first before uninstalling.

Follow the steps on rakarrack-plus (or here, if you use this version, though I do not know if this is still an issue with the latest tree here)

If you are sure you can't use the latest working tree of rakarrack, you'll need to explore the snapshots and find a snapshot that does work for you. See the git documentation on how to clone snapshots.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment