Hallow XIII wrote: ↑Thu Oct 21, 2021 9:18 am
So I have good news and bad news. The good news is that I've managed to compile and run the brassica GUI on Linux. The bad news is that it was extremely involved to do so, largely because (til) Windows doesn't have a distinction between position-independent and position-dependent code, which lets you get away with more creative linking than on Unixen. The easiest way for me to get it running was to compile everything with -fPIC -fPIE and then dynamically link all the Haskell dependencies, which is also the preferred distribution format for my distribution's package management system.
I’m seriously impressed that you managed to do this —
without proper documentation! (I’ve been meaning to write some, but alas, haven’t gotten around to it just yet…) I find it extremely surprising that this was easier to build on Windows than Linux; in my experience, it’s usually the other way around. On the other hand, I was originally intending to link the Haskell dynamically, but gave up when I discovered this is impossible on Windows.
For a prebuilt binary that you can download from github, it would be necessary to locally build Qt to be statically linked. Supposedly doing that might cause licensing issues... I can probably make a script that will take care of the linux build, at least.
Can’t Qt be dynamically linked? I know this is the default on Windows, and I’m sure I’ve built a dynamically linked executable with Qt on Linux also.
Hallow XIII wrote: ↑Thu Oct 21, 2021 10:18 am
While I'm at it, I also have a bug report/feature request: Brassica doesn't apply sound changes multiple times when the direction of application is LTR.
I’m aware. It’s worth noting that this is a problem with other SCAs too (not that this excuses it). I’ll try figure this out once my exams are done.