OSX and Linux Builds
Hey Folks! Tried tackling the OSX and Linux builds today, and let me tell you, I sure didn't enjoy that. Still struggling a bit, in fact.
As mentioned yesterday, I got stuff setup on my MacBook to try and build the new desktop app there. And it almost works. The thing is, it throws a bunch of warnings and errors in the console, and hard crashes the moment I click anything. And the first 4ish hours of my day were spent trying to figure out why. Mostly because the debugging/breakpoint feature seems not to work on OSX, and building/rebuilding with trace logs is a really slow process.
It was almost like I was back in university, just learning how to code, and completely clueless. Spending hours debugging issues which weren't really relevant, and just shooting into the dark with "fixes."
Was it the "Failed to connect to vsc debugger" message? The "deprecated Carbon Component Manager" warning? A warning about deprecated libstdc++ vs libc++ support and target OSX versions? Maybe I needed to build 32bit instead of 64bit for this particular stack of Haxe libs? Was my XCode version interfering? My OSX version?
The error that printed upon crashing was a cryptic malloc error, suggesting I was deallocating memory I didn't allocate yet. Was it that?
Eventually, trace debugging got me close enough to the issue that I was able to figure it out. It was loading certain assets right before the crash, and these were special in that they were embedded in the app. Turning that embedding off fixed the crash, and everything worked fine after that. (Minus the debugging breakpoint issue.)
Nice. That was only half a day wasted in clueless frustration.
Before spending much more time on the embedding, I wanted to see if Linux had the same issue or not. The answer would help me decide if I need a new solution, or if I should just switch embed off on OSX only.
Cue loading Ubuntu for the first time in maybe 18 months. Setting up Haxe was a non-starter since the OS couldn't even connect reliably to the internet. It had a raft of updates queued, and all those were failing because it was still using an outdated Canada server.
Fixing that, I finally had Ubuntu 14.x updated, and I declined upgrading to 16.x due to the devil you know and all that. Even just this minor update caused my EFI boot launcher to have duplicate entries for Ubuntu (mmx64 vs grubx64) where there was previously only one. Thankfully, the OS still loaded using grubx64, and I could get started setting up the Haxe/Flixel/VSCode environment.
Except that didn't work, because Haxe doesn't maintain up-to-date packages on Ubuntu's main servers. I had to setup custom ppa references to get a more recent version. And even that doesn't match the one I've been using on Windows, and trying to get it specifically reports a "not found" error.
So here I am, installing haxe 3.4.7 which is hopefully compatible with the 3.4.2 builds I've been doing. I have yet to install the long list of libraries needed, then VSCode, then make sure it'll load and build my project.
Then we find out if this sucker even works on Linux. God do I hate this stuff. I just want to make games :)