-
Notifications
You must be signed in to change notification settings - Fork 107
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Uncaught exception - load.c(237) : Failed to load library : std.ndll #98
Comments
I just got the same error while trying to build latest commit into a FreeBSD port (I am taking a look). |
I apologize, not the same error, I will open an issue once I get more insight on it (so far I can see a potential problem with install.neko, but that is most likely unrelated). |
Most likely you have a new std.ndll which loads an old neko.dll |
I see this problem on OS X too, with the pre-built 64 bit binaries of neko from the downloads page First, neko is built with an RPATH
When packaged VM with nekotool runs, it fails to find and load
Isn't the neko VM added by nekotool complete standalone? |
That is, the neko binary attached to haxelib should be complete with no external dependencies. |
|
Hi guys. Steve, the std.ndll is really part of the Haxe installation not the Nemo installation. I agree with Andy; if your binary won’t run because std.ndll is not found, the problem is really with the install/environment of Haxe, not neko. |
Ummm... not quite. The ndll files are parts of Neko. The official Haxe Windows/Mac installers also install Neko too, so people will get the ndll files when installing Haxe. However, the Haxe binary archives (.zip, .tar.gz) do not include Neko, so users will have to also get the Neko binary archives separately. |
Folks... Thanks for the tips. The issue is that the build of neko does not give a list for RPATH, just the executable path:
standalone 'neko' command works fine (cause images, ndll and dyld are all in the same folder). For executables created by I see the loader code in
However none of that does any good for the OS-X loader, which cannot load the neko boot created object:
So IMHO, this is a bug |
Can we add an option to nekoboot to use a statically linked version of neko? That would mean that nekoboot would have to have access to a statically linked version of neko, but the neko build/install process could be changed to generate a statically linked version and keep it somewhere for nekoboot to use. This issue is significant for us at TiVo because we have a very hard time keeping the haxe toolchain going for Mac based builds because of numerous issues like this. The haxe tooling is especially fragile on Mac and anything that can be done to improve it, such as fixing this bug, would be a big help. Thanks. |
Also, fixing it after the fact is impossible, because the
This will also prevent code signing on Mac (which may become mandatory at some point). Putting the byte code in a valid segment might be a solution (https://stackoverflow.com/questions/1604673/how-do-i-embed-data-into-a-mac-os-x-mach-o-binary-files-text-section?rq=1) I think the option Brian (@bjitivo ) suggested is best, include all the code in the |
I think there are still some misconceptions here. The use of rpath/executable_path is for finding libneko, but not the ndll files. So, for a It is also a known issue that the output binary is of invalid format. (See #130) |
I don't think the .ndll files are the real problem; as you said, all you need is a valid NEKOPATH to make those work. It's the shared libraries linked against the application that are the problem. It's really not a good solution to have to put share object libraries next to executables so that the operating system dynamic linker can find them. |
Hello. I'm trying to use neko nightly build for windows.
But when I using command lime test neko, i see this error.
But if I use neko what installed with haxe (2.0.0 I suppose) everything is ok.
The text was updated successfully, but these errors were encountered: