mx2cc_windows.exe Entry Point Not Found (fixed)

Community Forums/Monkey2 Talk/mx2cc_windows.exe Entry Point Not Found (fixed)

therevills(Posted 2016) [#1]
Just downloaded a fresh copy of the master branch from git hub, downloaded the new dev tool i686-5.3.0-posix-dwarf-rt_v4-rev0 and tried to rebuild mx2:




Playniax(Posted 2016) [#2]
Yup, basically got the same problem! I tried anything I could think of...


dawlane(Posted 2016) [#3]
I've hit this as well. I haven't tried, but has any one tried to use a previous compiler to get the ball rolling?
I've also been having fun with trying to get GTK+2 to link on Linux. Passing the requirements in the env text file will compile my test wrapper module. The module compiles, but I end up with unresolved symbols when I try to make use of it.


Leo Santos(Posted 2016) [#4]
I've been having all kinds of similar issues in OS X with the latest release, and can't rebuild the modules.

V004 works well, though. I'm sticking with that one until a new release comes out.


marksibly(Posted 2016) [#5]
Ok, this is due to the change to mingw-64 compiler, which defaults to producing apps that dynamically link with the mingw runtime.

Not 100% sure why it can't find the runtime due to the PATH setting in env_windows.txt, but I can reproduce by deleting my system mingw PATH.

Changing to -static linking makes apps standalone which appears to fix all problems - will have a new version up soon.

> I've been having all kinds of similar issues in OS X with the latest release, and can't rebuild the modules.

Can you provide more info, eg: error messages? 'All kinds of issues' isn't that useful!


Leo Santos(Posted 2016) [#6]
Can you provide more info

Will do when I get home, I'm at work now. Thanks Mark!


Leo Santos(Posted 2016) [#7]
Here's the complete output when I try to rebuild all.
I'm on OS X El Capitan. Release V004 works fine, this is only happening in V005. Seems to be Emscripten related.

***** Rebuilding modules *****

MX2CC V0.005

***** Making module 'monkey' *****

Parsing...
Semanting...
Translating...
Compiling....
Archiving /Applications/Leo/Blitz/monkey2/modules/monkey/monkey.buildv005/desktop_release_macos/monkey.a

***** Fatal mx2cc error *****

Module file 'modules/emscripten/emscripten.monkey2' not found
MX2CC V0.005

***** Making module 'monkey' *****

Parsing...
Semanting...
Translating...
Compiling....
Archiving /Applications/Leo/Blitz/monkey2/modules/monkey/monkey.buildv005/desktop_debug_macos/monkey.a

***** Fatal mx2cc error *****

Module file 'modules/emscripten/emscripten.monkey2' not found

***** Rebuilding mx2cc *****

MX2CC V0.005

***** Building app '/Applications/Leo/Blitz/monkey2/src/mx2new/mx2cc.monkey2' *****

Parsing...
Semanting...
Translating...
Compiling....
Build error: System command 'g++ -std=c++11 -Wno-deprecated-declarations -Wno-tautological-pointer-compare -Wno-undefined-bool-conversion -Wno-int-to-void-pointer-cast -Wno-inconsistent-missing-override -Wno-logical-op-parentheses -Wno-null-character -O3 -DNDEBUG -I"/Applications/Leo/Blitz/monkey2/modules/monkey/native" -c -o "/Applications/Leo/Blitz/monkey2/src/mx2new/mx2cc.buildv005/build_cache/desktop_release_macos/mx2cc_0mx2cc.cpp.o" "/Applications/Leo/Blitz/monkey2/src/mx2new/mx2cc.buildv005/build_cache/desktop_release_macos/mx2cc_mx2cc.cpp"' failed.

g++ -std=c++11 -Wno-deprecated-declarations -Wno-tautological-pointer-compare -Wno-undefined-bool-conversion -Wno-int-to-void-pointer-cast -Wno-inconsistent-missing-override -Wno-logical-op-parentheses -Wno-null-character -O3 -DNDEBUG -I"/Applications/Leo/Blitz/monkey2/modules/monkey/native" -c -o "/Applications/Leo/Blitz/monkey2/src/mx2new/mx2cc.buildv005/build_cache/desktop_release_macos/mx2cc_0mx2cc.cpp.o" "/Applications/Leo/Blitz/monkey2/src/mx2new/mx2cc.buildv005/build_cache/desktop_release_macos/mx2cc_mx2cc.cpp"

/Applications/Leo/Blitz/monkey2/src/mx2new/mx2cc.buildv005/build_cache/desktop_release_macos/mx2cc_mx2cc.cpp:6:10: fatal error: '../../../../../modules/libc/libc.buildv005/desktop_release_macos/libc_libc.h' file not found
#include "../../../../../modules/libc/libc.buildv005/desktop_release_macos/libc_libc.h"
^
1 error generated.


***** Fatal mx2cc error *****

Build error.
cp: mx2new/mx2cc.buildv005/desktop_release_macos/mx2cc.app/Contents/MacOS/mx2cc: No such file or directory
MX2CC V0.005

***** Doccing module 'monkey' *****

Parsing...
Semanting...

***** Fatal mx2cc error *****

Module file 'modules/emscripten/emscripten.monkey2' not found


impixi(Posted 2016) [#8]
@Leo
You should be able to compile the latest git release on Mac without any issues. On the GitHub Monkey2 site, click the "clone or download" button (green color) -> "download zip". Follow the usual instructions for compilation. We're up to V006, I think... In any case, you can work around those errors by creating an emscripten folder and creating an empty emscripten.monkey2 file in it.


Leo Santos(Posted 2016) [#9]
Yes! Latest code works on a Mac.
I'm home sick with a cold today, so I get to play with it a bit. :-)

Thanks!


marksibly(Posted 2016) [#10]
Looks like you're missing the emscripten module, another github pull should fix that (it's up there).

I'm actually just in the process of nuking the modules.txt file and adding a per module 'module.json' file that describes the module contents, eg:

{
"module":"mojo",
"version":"1.0.0",
"depends":["libc","std","sdl2","gles20"]
}

"module" must match folder name for the module to be considered valid.

"depends" is used to drive the 'build order' when you makemods, but could eventually also be used by a module manager.

"version" isn't used yet but is a good thing to add now I think. Is 'number dot number dot number' format OK for this?

For now, this will be used by makemods to enum and build valid modules, but I'm also thinking about how it could be used by a module manager. There's a ton more meta data that could be added too of course.

Also, you can now place 'module.md' (for markdown) or 'module.html' file in docs/ for makedocs to generate a 'main' module page.