Gnome. It's a lot more stable than it was a few months ago, but gnome-shell runs via JS (somehow) and controls much of the UX. If a browser pane crashed, it usually brought the rest of the system down with it, including networking so you couldn't get in to restart it.
gcj is missing from my Ubuntu 18.04; you might have an additional older gcc installed that includes it. pdftk is available as a snap only, which I've been shunning 'cos they're space and memory hogs. Maybe I should get over myself about that.
*** Just a thought to the OP: not sure how well line numbers would work in FreeBASIC that needs to talk to GPIO. The include file that enables WiringPi uses the newer dialect that may not compile under the fblite or qb dialects that still support line numbers.