So… it’s not easy. And I’ve already spent a lot of time on just trying to get Haxeflixel running and didn’t succeed, though I feel I got close. If someone else wants to try, I’ll document what I did here, and all the issues that I encountered and how I dealt with them (with links to the resources I used).
Installing HaxeFlixel is quite a mess, with all the dependencies and issues around them, and the inaccurate/outdated documentation. I was foolhardy enough to try, but I learned to regret it. Here’s what I did…
Note: Take default answers for everything! (just hit enter at prompts)
Note: Also, some of the steps may take a long time to complete. Wait patiently!
It’s always a good idea to do this first before installing stuff.
sudo apt-get update
Install opam:
via opam - Install
sudo apt-get install opam
sudo ln -s /usr/bin/opam /usr/local/bin/opam
Now you’ll hit the first issue, so do this to take care of it:
via debian testing/ubuntu disco opam packages result in solver failure on init · Issue #3827 · ocaml/opam · GitHub
rm -rf ~/.opam
sudo apt install mccs
opam init --solver=mccs
opam switch create 4.10.0 --solver=mccs
Ok, that’s opam done, hopefully. We can start to install Haxe now:
via haxe/extra/BUILDING.md at development · HaxeFoundation/haxe · GitHub
mkdir ~/temp
git clone --recursive GitHub - HaxeFoundation/haxe: Haxe - The Cross-Platform Toolkit
sudo apt install libpcre3-dev zlib1g-dev
But wait, there’s also the neko dependency which fails (and conveniently isn’t mentioned under the linux install info) unless you do this:
via Downloads - NekoVM and GitHub - HaxeFoundation/neko: The Neko Virtual Machine and Can't setup OpenFL on Ubuntu - NekoAPI interface? - Help - OpenFL Community
git clone --recursive GitHub - HaxeFoundation/neko: The Neko Virtual Machine
sudo apt install cmake libgc-dev libsqlite3-dev libgtk2.0-dev libmariadb-client-lgpl-dev-compat apache2-dev
cd neko
mkdir build
cd build
cmake …
make
sudo make install
sudo ln -s /usr/local/lib/libneko.so /usr/lib/libneko.so
And now we have to go back to the rest of the Haxe install:
via haxe/extra/BUILDING.md at development · HaxeFoundation/haxe · GitHub
opam pin add haxe ~/temp/haxe --kind=path --no-action
opam install haxe --deps-only
We’ll hit another issue now, if we don’t fix something:
via Command 'dune' not found, but can be installed with · Issue #1800 · ocaml/dune · GitHub
eval $(opam config env)
If we try to run make now, it won’t work, because of this problem, so we also have to do this:
via Fatal error: mbedtls/debug.h: No such file or directory · Issue #9251 · HaxeFoundation/haxe · GitHub
sudo apt install libmbedtls-dev
We also need to do this, because of another error that occurs realted to camlp5 and its dependencies:
via coq - OCaml and preprocessor have incompatible versions error when installing tcoq - Stack Overflow
sudo apt-get install libipc-system-simple-perl libstring-shellquote-perl
opam install camlp5
Finally, we can go back and build Haxe:
via haxe/extra/BUILDING.md at development · HaxeFoundation/haxe · GitHub
cd ~/temp/haxe
make
sudo make install
After all that mess is done, you still have to install HaxeFlixel:
via Install HaxeFlixel | HaxeFlixel 2D Game Engine
sudo haxelib setup
sudo haxelib install lime
sudo haxelib install openfl
sudo haxelib install flixel
sudo haxelib run lime setup flixel
sudo haxelib run lime setup
haxelib install flixel-tools
haxelib run flixel-tools setup
Ok, everything should be installed. I didn’t see any errors or issues. But unfortunately it doesn’t work. I tested using Hello World, which requires following the instructions here:
And then I hit the error described here:
http://forum.haxeflixel.com/topic/943/having-trouble-getting-helloworld-to-run-on-armv7
I thought there was hope with downgrading, as described here, but it didn’t work for me:
https://www.gitmemory.com/issue/openfl/lime/1333/503345265 and https://lib.haxe.org/p/lime/7.3.0/changelog
sudo haxelib install lime 7.3.0
It appears to be a problem with it finding NekoAPI and lime.ndll, but those components all seemed to install properly, so I’m not sure what’s going on. I’m completely unfamiliar with Haxeflixel and didn’t even know it was a thing until I saw this post. I was looking to get back into messing around with building stuff for the Gameshell, and I figured this might be a nice start. Boy was I wrong! Oh well, hopefully it will get someone closer to getting this to work…