lime icon indicating copy to clipboard operation
lime copied to clipboard

Compilation on Mac (lime 8.2.0 and above): Uncaught exception - Segmentation fault

Open NeeEoo opened this issue 9 months ago • 10 comments

All other versions of lime below 8.2.0 have compiled fine but on 8.2.0 and above it doesn't compile with the following error:

Image

This in combo with HaxeFlixel and OpenFL but that shouldn't have a effect, due to it happening when i do haxelib run lime too

NeeEoo avatar Mar 05 '25 23:03 NeeEoo

Have you tried adding -clean?

joshtynjala avatar Mar 05 '25 23:03 joshtynjala

It happens even when running haxelib run lime, The build process doesn't even have time to start So -clean wouldn't do anything

NeeEoo avatar Mar 06 '25 12:03 NeeEoo

How did you install Haxe and Neko? And which version of macOS, Haxe, and Neko are you using? Also, Intel or ARM?

I'm on macOS 15.3.1, with Haxe 4.3.6 and Neko 2.4.0, and I use the .pkg installer for macOS from: https://haxe.org/download/

joshtynjala avatar Mar 06 '25 17:03 joshtynjala

I installed using the https://haxe.org/download/ (.pkg installer) I dont remember how i got neko, i think it was from the haxe install. MacOs 15.3 (24D60) Haxe 4.3.6 and 4.3.4 Neko 2.3.0 (idk how to update neko) and i'm on arm

NeeEoo avatar Mar 06 '25 19:03 NeeEoo

Neko is also installed with the Haxe .pkg installer. Since I have Neko 2.4.0, that should be the version that comes with Haxe 4.3.6.

Looking at the Haxe release notes, Haxe 4.3.5 is the version that added support for macOS ARM. That should be the first version that includes Neko 2.4.0, which also is the first version that addd support for macOS ARM.

With that in mind, I think that the reason it doesn't work for you is because you have Haxe for macOS ARM (technically, it's probably a universal binary for both ARM And Intel), but Neko for macOS Intel only. You need to figure out how to upgrade Neko on your system to 2.4.0. Re-running the Haxe 4.3.5 or 4.3.6 .pkg installer should do it. However, I suppose it's possible that if you had installed Neko with Homebrew or another method, that version might take precedence, and you would need to remove it (or upgrade it using the same method used to install it).

joshtynjala avatar Mar 06 '25 21:03 joshtynjala

Okay i removed neko from homebrew, macports and .haxeget and .pkg install and reinstalled using only .pkg install and that worked!!! i can now finally install with 8.2.2 and newer haxe :D thank you!

NeeEoo avatar Mar 07 '25 00:03 NeeEoo

Actually im reopening this because now i cant compile with 8.1.2 and below Image

Haxe 4.3.6 Lime 8.1.2 Neko 2.4.0

Called from ? line 1
Called from CommandLineTools.hx line 1903
Called from CommandLineTools.hx line 22
Called from a C function
Called from CommandLineTools.hx line 125
Called from CommandLineTools.hx line 640
Called from lime/tools/PlatformTarget.hx line 105
Called from MacPlatform.hx line 493
Called from lime/tools/IconHelper.hx line 102
Called from lime/tools/IconHelper.hx line 360
Called from lime/graphics/Image.hx line 698
Called from lime/graphics/Image.hx line 1559
Called from a C function
Called from /opt/hostedtoolcache/haxe/4.2.5/x64/std/neko/Lib.hx line 43
Uncaught exception - load.c(237) : Failed to load library : /Users/neo/HaxeProjects/GitHub/Yoshi/CodenameEngine/.haxelib/lime/8,1,2//ndll/Mac64/lime.ndll (dlopen(/Users/neo/HaxeProjects/GitHub/Yoshi/CodenameEngine/.haxelib/lime/8,1,2//ndll/Mac64/lime.ndll, 0x0001): tried: '/Users/neo/HaxeProjects/GitHub/Yoshi/CodenameEngine/.haxelib/lime/8,1,2//ndll/Mac64/lime.ndll' (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64e' or 'arm64')), '/System/Volumes/Preboot/Cryptexes/OS/Users/neo/HaxeProjects/GitHub/Yoshi/CodenameEngine/.haxelib/lime/8,1,2//ndll/Mac64/lime.ndll' (no such file), '/Users/neo/HaxeProjects/GitHub/Yoshi/CodenameEngine/.haxelib/lime/8,1,2//ndll/Mac64/lime.ndll' (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64e' or 'arm64')), '/Users/neo/HaxeProjects/GitHub/Yoshi/CodenameEngine/.haxelib/lime/8,1,2/ndll/Mac64/lime.ndll' (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64e' or 'arm64')), '/System/Volumes/Preboot/Cryptexes/OS/Users/neo/HaxeProjects/GitHub/Yoshi/CodenameEngine/.haxelib/lime/8,1,2/ndll/Mac64/lime.ndll' (no such file), '/Users/neo/HaxeProjects/GitHub/Yoshi/CodenameEngine/.haxelib/lime/8,1,2/ndll/Mac64/lime.ndll' (mach-o file, but is an incompatible architecture (have 'x86_64', need 'arm64e' or 'arm64')))

NeeEoo avatar Mar 07 '25 01:03 NeeEoo

Actually im reopening this because now i cant compile with 8.1.2 and below

Lime 8.1 did not support arm64 so this is expected, you need to use 8.2 for mac arm64 support.

tobil4sk avatar Mar 07 '25 13:03 tobil4sk

I know that But i would still like to be able to compile my projects that still use 8.1.2 Is there a way i could like make it use neko 2.3.0

NeeEoo avatar Mar 07 '25 14:03 NeeEoo

When you want to use Lime 8.1 or older with the latest Haxe that supports ARM macOS, you can append arch -x86_64 to your build command. For example:

arch -x86_64 lime build html5

This will force Haxe/Neko to run with Rosetta to emulate Intel, since Lime 8.1 and older supported Intel only.

joshtynjala avatar Mar 07 '25 16:03 joshtynjala