Help building Waterfox from source

My Waterfox snap won’t launch anymore because of GLIBC_2.30 doesn’t seem to exist. Any idea how I can fix it?

XPCOMGlueLoad error for file /snap/waterfox-snap/32/libnspr4.so:
/snap/waterfox-snap/32/lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.30' not found (required by /snap/waterfox-snap/32/libnspr4.so)
Couldn't load XPCOM.

this seems to be a binary built against glib 2.28, try using base: core in your snapcrft.yaml which gives you a 16.04 execution environment.

Didn’t work. same error

You’re including in your snap a libc from 2016 (2.23), are you building on Xenial? Despite this, your binary for waterfox is linked against libc 2.30. You may need to build with core18, not core as was suggested by @ogra. However, core18 does not include libc 2.30, either, which was released in 2019. It only includes 2.27, so you may need to recompile waterfox to link correctly to a less-recent libc or wait for core20 to land.

I think I figured out how to compile directly from source with snaps, and now I’m getting this error:

Failed to generate snap metadata: The specified command '/usr/local/bin/waterfox' defined in the app 'waterfox' does not match the pattern expected by snapd.
The command must consist only of alphanumeric characters, spaces, and the following special characters: / . _ # : $ -

I don’t see what I did wrong.

You’re anchoring your executable command path with a leading / character. This is incorrect, because paths should be relative to $SNAP. So if your executable will live at $SNAP/usr/local/bin/waterfox then you want the command to be usr/local/bin/waterfox.

1 Like

That worked, now I’m facing this problem: I can’t get the files to open up external applications. Thought the desktop helpers would solve that, but either I’m doing something wrong, or totally missing something.

Now, when I try to use the build server, it fails because the tool called mach, which came with the source files, couldn’t be found.

Building it locally worked. Anything I should do differently?

Staging waterfox 
/bin/sh: 39: /root/parts/waterfox/build/mach: not found
Failed to run 'override-stage': Exit code was 127.

I finally managed to get it to build using the Snapcraft build server, but it’s not showing up at the store.

The server says it’s built and released 13 hours ago.

It failed review since it was using the dbus interface. A little while ago I issued a snap declaration allowing use of the name and it now passes automated review.