Skip to content
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

SCons: Keep exceptions and rtti on Android, iOS and HTML5 tools build #29032

Merged
merged 1 commit into from
May 21, 2019

Conversation

akien-mga
Copy link
Member

Those were disable to keep size small, and on Android avoid the dependency on the STL,
but for tools build (editor) this is not really a concern.

Note: as of today it's not possible to build tools=yes for those platforms, but this
change is one of the necessary steps to enable it.

Fixes #25262.

Those were disable to keep size small, and on Android avoid the dependency on the STL,
but for tools build (editor) this is not really a concern.

Note: as of today it's not possible to build tools=yes for those platforms, but this
change is one of the necessary steps to enable it.

Fixes godotengine#25262.
@Xrayez
Copy link
Contributor

Xrayez commented May 21, 2019

Note: as of today it's not possible to build tools=yes for those platforms, but this change is one of the necessary steps to enable it.

Yeah, I was able to compile:
scons platform=javascript target=release_debug tools=yes bits=64 debug_symbols=no -j4 warnings=extra

up until this error occurred:

cache:INFO: generating system library: libc-extras.bc... (this will be cached in "/home/Xrayez/.emscripten_cache/asmjs/libc-extras.bc" for subsequent builds)
cache:INFO:  - ok
cache:INFO: generating system asset: generated_struct_info.json... (this will be cached in "/home/Xrayez/.emscripten_cache/asmjs/generated_struct_info.json" for subsequent builds)
cache:INFO:  - ok
emcc: warning: cannot represent a NaN literal '0x14c7b240' with custom bit pattern in NaN-canonicalizing JS engines (e.g. Firefox and Safari) without erasing bits!
  in   store float 0xFFFFFFFFE0000000, float* %119, align 4, !tbaa !32 in _ZN22RasterizerStorageGLES318multimesh_allocateE3RIDiN12VisualServer24MultimeshTransformFormatENS1_20MultimeshColorFormatENS1_25MultimeshCustomDataFormatE() 
emcc: warning: cannot represent a NaN literal '0x14c7b240' with custom bit pattern in NaN-canonicalizing JS engines (e.g. Firefox and Safari) without erasing bits!
  in   store float 0xFFFFFFFFE0000000, float* %284, align 4, !tbaa !35 in _ZN22RasterizerStorageGLES218multimesh_allocateE3RIDiN12VisualServer24MultimeshTransformFormatENS1_20MultimeshColorFormatENS1_25MultimeshCustomDataFormatE() 
shared:ERROR: Memory is not large enough for static data (12456192) plus the stack (5242880), please increase TOTAL_MEMORY (16777216) to at least 17700096
scons: *** [bin/godot.javascript.opt.tools.64.js] Error 1
scons: building terminated because of errors.

@akien-mga
Copy link
Member Author

It actually compiles file for me with scons p=javascript tools=yes, I don't get this memory issue.

@Xrayez
Copy link
Contributor

Xrayez commented May 21, 2019

Could it be somehow that this memory issue is caused by me compiling it under WSL? Using 1.38.31 emsdk. This is not an issue for me for now though.

@akien-mga akien-mga merged commit c29ef77 into godotengine:master May 21, 2019
@akien-mga akien-mga deleted the tools-exceptions-rtti branch May 21, 2019 15:10
@LinuxUserGD
Copy link
Contributor

LinuxUserGD commented May 21, 2019

Same for me on Arch Linux using emsdk from https://github.com/emscripten-core/emsdk (master):

[user@user godot(x11)]$ scons platform=javascript tools=yes target=release_debug -j 8
scons: Reading SConscript files ...
WebM SIMD optimizations are disabled. Check if your CPU architecture, CPU bits or platform are supported!
Checking for C header file mntent.h... (cached) yes
scons: done reading SConscript files.
scons: Building targets ...
[ 97%] Linking Program        ==> bin/godot.javascript.opt.tools.js
[100%] progress_finish(["progress_finish"], [])
[100%] emcc: warning: cannot represent a NaN literal '0x14eadb10' with custom bit pattern in NaN-canonicalizing JS engines (e.g. Firefox and Safari) without erasing bits!
  in   store float 0xFFFFFFFFE0000000, float* %119, align 4, !tbaa !32 in _ZN22RasterizerStorageGLES318multimesh_allocateE3RIDiN12VisualServer24MultimeshTransformFormatENS1_20MultimeshColorFormatENS1_25MultimeshCustomDataFormatE() 
emcc: warning: cannot represent a NaN literal '0x14eadb10' with custom bit pattern in NaN-canonicalizing JS engines (e.g. Firefox and Safari) without erasing bits!
  in   store float 0xFFFFFFFFE0000000, float* %284, align 4, !tbaa !35 in _ZN22RasterizerStorageGLES218multimesh_allocateE3RIDiN12VisualServer24MultimeshTransformFormatENS1_20MultimeshColorFormatENS1_25MultimeshCustomDataFormatE() 
shared:ERROR: Memory is not large enough for static data (12497216) plus the stack (5242880), please increase TOTAL_MEMORY (16777216) to at least 17741120
scons: *** [bin/godot.javascript.opt.tools.js] Error 1
scons: building terminated because of errors.
[user@user godot(x11)]$ 

@LinuxUserGD
Copy link
Contributor

LinuxUserGD commented Jun 5, 2019

Is it possible to increase the TOTAL_MEMORY with scons?
-s TOTAL_MEMORY=x doesn't work (seems to be only for emcc).
Do I have to temporary edit some source files?

@LinuxUserGD
Copy link
Contributor

LinuxUserGD commented Jul 23, 2019

Should I open a new issue for tools=yes? Only doesn't happen on every computer but it seems to be OS independent.

@akien-mga
Copy link
Member Author

Cherry-picked for 3.1.2.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Compiling with Javascript tools=yes fails (no exceptions support for Clipper and Assimp build)
3 participants