About Monkey 2 › Forums › Monkey 2 Programming Help › v1.0.08 too many sections error
This topic contains 7 replies, has 2 voices, and was last updated by
Angus 1 year, 5 months ago.
-
AuthorPosts
-
November 2, 2017 at 10:25 pm #11433
Compiling my code in the latest version produces this output:
Monkey123456789101112131415161718192021222324252627282930313233343536373839Parsing...Semanting...Translating...Compiling...Build error: System command 'g++ -c -std=c++11 -m32 -D_WIN32_WINNT=0x0603 -I"C:/Monkey2-v1.1.08/modules/" -I"C:/Monkey2-v1.1.08/modules/monkey/native" -I"C:/Users/Angus/Documents/Code/Monkey2/EditorNewMonkey/" -I"C:/Monkey2-v1.1.08/modules/chipmunk/Chipmunk7/include/" -I"C:/Monkey2-v1.1.08/modules/freetype/freetype-2.6.3/include/" -I"C:/Monkey2-v1.1.08/modules/openal/openal-soft/include/" -I"C:/Monkey2-v1.1.08/modules/gles20/angle/include/" -I"C:/Monkey2-v1.1.08/modules/sdl2/SDL/include/" -DBB_REFLECTION -o "C:/Users/Angus/Documents/Code/Monkey2/EditorNewMonkey/main.buildv1.1.08/windows_debug/build/_1include_2_0r.cpp_r.o" "C:/Users/Angus/Documents/Code/Monkey2/EditorNewMonkey/main.buildv1.1.08/windows_debug/include/_r.cpp"' failed.g++ -c -std=c++11 -m32 -D_WIN32_WINNT=0x0603 -I"C:/Monkey2-v1.1.08/modules/" -I"C:/Monkey2-v1.1.08/modules/monkey/native" -I"C:/Users/Angus/Documents/Code/Monkey2/EditorNewMonkey/" -I"C:/Monkey2-v1.1.08/modules/chipmunk/Chipmunk7/include/" -I"C:/Monkey2-v1.1.08/modules/freetype/freetype-2.6.3/include/" -I"C:/Monkey2-v1.1.08/modules/openal/openal-soft/include/" -I"C:/Monkey2-v1.1.08/modules/gles20/angle/include/" -I"C:/Monkey2-v1.1.08/modules/sdl2/SDL/include/" -DBB_REFLECTION -o "C:/Users/Angus/Documents/Code/Monkey2/EditorNewMonkey/main.buildv1.1.08/windows_debug/build/_1include_2_0r.cpp_r.o" "C:/Users/Angus/Documents/Code/Monkey2/EditorNewMonkey/main.buildv1.1.08/windows_debug/include/_r.cpp"In file included from C:/Users/Angus/Documents/Code/Monkey2/EditorNewMonkey/main.buildv1.1.08/windows_debug/include/_r.cpp:10:0:C:/Monkey2-v1.1.08/modules/mojo/mojo.buildv1.1.08/windows_debug/include/mojo_graphics_2canvas.h:192:22: warning: large integer implicitly truncated to unsigned type [-Woverflow]bbUInt m__0pmcolor=18446744073709551615u;^~~~~~~~~~~~~~~~~~~~~In file included from C:/Users/Angus/Documents/Code/Monkey2/EditorNewMonkey/main.buildv1.1.08/windows_debug/include/_r.cpp:43:0:C:/Users/Angus/Documents/Code/Monkey2/EditorNewMonkey/main.buildv1.1.08/windows_debug/include/main_code_2mojoExtra.h:189:22: warning: large integer implicitly truncated to unsigned type [-Woverflow]bbUInt m__0pmcolor=18446744073709551615u;^~~~~~~~~~~~~~~~~~~~~C:/Monkey2-v1.1.08/devtools/i686-6.2.0-posix-dwarf-rt_v5-rev1/mingw32/bin/../lib/gcc/i686-w64-mingw32/6.2.0/../../../../i686-w64-mingw32/bin/as.exe: C:/Users/Angus/Documents/Code/Monkey2/EditorNewMonkey/main.buildv1.1.08/windows_debug/build/_1include_2_0r.cpp_r.o: too many sections (32873)C:\Users\Angus\AppData\Local\Temp\ccPR9UTj.s: Assembler messages:C:\Users\Angus\AppData\Local\Temp\ccPR9UTj.s: Fatal error: can't write C:/Users/Angus/Documents/Code/Monkey2/EditorNewMonkey/main.buildv1.1.08/windows_debug/build/_1include_2_0r.cpp_r.o: File too bigC:/Monkey2-v1.1.08/devtools/i686-6.2.0-posix-dwarf-rt_v5-rev1/mingw32/bin/../lib/gcc/i686-w64-mingw32/6.2.0/../../../../i686-w64-mingw32/bin/as.exe: C:/Users/Angus/Documents/Code/Monkey2/EditorNewMonkey/main.buildv1.1.08/windows_debug/build/_1include_2_0r.cpp_r.o: too many sections (32873)C:\Users\Angus\AppData\Local\Temp\ccPR9UTj.s: Fatal error: can't close C:/Users/Angus/Documents/Code/Monkey2/EditorNewMonkey/main.buildv1.1.08/windows_debug/build/_1include_2_0r.cpp_r.o: File too big***** Fatal mx2cc error *****Internal mx2cc build errorIt’s tricky to reproduce, as code which works standing alone crashes it when it’s part of my main program.
This class can be compiled in a tiny program fine:
Monkey123456789101112131415161718192021222324252627282930313233343536373839404142434445#Import "<std>"#Import "<mojo>"Using std..Using mojo..Class MObjectDefField classID:intField classTI:TypeInfoField listName:StringField nodeName:stringField Mobjects:Map<String,MObjectDef>Field MobjectArrays:Map<String,MObjectDef[]>Field MobjectLists:Map<String,MObjectDef[]>Field References:Map<String,Int>Field ReferenceArrays:Map<String,Int[]>Field ReferenceLists:Map<String,int[]>Field Ints:Map<String,Int>Field IntArrays:Map<String,Int[]>Field IntLists:Map<String,Int[]>Field Floats:Map<String,Float>Field FloatArrays:Map<String,Float[]>Field FloatLists:Map<String,Float[]>Field Strings:Map<String,String>Field StringLists:Map<String,String[]>Field StringArrays:Map<String,String[]>Field Bools:Map<String,Bool>Field BoolArrays:Map<String,Bool[]>Field BoolLists:Map<String,Bool[]>EndFunction Main:Void()EndBut in place in my code it produces the above error, but not if I rem out all the field lines. It’s not a class I’m really using yet, so remming out the lines allows the code to run fine. The code compiled ok on the previous release, though as here the class was only declared and never used…
In a way I hope that as the code I’m working on develops this class might not have to be how it is anyway, but I digress.
November 2, 2017 at 10:26 pm #11434Also, I assume the first pair of things in the error report aren’t serious. One comes from mojo, and the other comes from my own code which is mimicking mojo.
November 2, 2017 at 11:17 pm #11436This can happen in mingw when using reflection in debug mode – the compiler is generating too many symbols and is hitting some kind of built-in hard limit. I can do the same thing to ted2go by adding #import “<reflection>”.
The reflection system needs some mechanism to prevent it generating reflection info for *everything*, which is something I hope to work on soon. This should both speed up compile times for apps that use reflection and hopefully fix this problem in general.
In the meantime, you can try using MX2_CPP_OPTS_WINDOWS_DEBUG=-O2 in bin/env_windows.txt, or building in release mode. This fixes the problem for ted2go anyway.
November 2, 2017 at 11:35 pm #11437Yup, making the change in env_windows has made it work again. First build after changing 5.45! But less than a minute after that, so much more bearable. Have noticed much longer compile times since importing reflection in general though, yeh.
Glad to be able to use the latest release.
Thanks!
November 2, 2017 at 11:45 pm #11438Just did a few experiments, and -Os seems to be fastest and produces smallest output file sizes. I think I’ll change debug opts to this.
The main overhead once everything’s built the first 2 times is linking. Switching to MSVC can greatly reduce link times, but can be a bit fiddly to get going.
November 2, 2017 at 11:55 pm #11439Well, with that setting I’m back down to 36 seconds. If switching to MSVC is something I can do I may look into it, but I feel like I have leg room at that compile time. Don’t want to add another fiddly thing to the heap just yet
If it becomes necessary…
Thanks again.
November 3, 2017 at 7:55 am #11441Actually, looking at other topics on the subject, it probably wouldn’t be too tricky. My source isn’t that huge, I could probably wait less than 36 seconds and yeh, the linking is taking almost all of that. I’ll figure it out, I’m sure…
November 4, 2017 at 5:24 am #11462I’ve had a go at switching to MSVC and the speed increase seems massive, but I haven’t quite got it working.
Rebuilding the modules seemed to take a fraction of the time, but I feel like there may be many variables affecting those times?
By default the only readily available version installed an SDK number that monkey didn’t want I think? (sorry for ignorance) But it was quite easy to get MSVS2017 to install the right one (10.0.15063.0), and now much of my code seems to compile… except when I include the reflection module! Now it so happens I might be changing tack when it comes to using reflection for my present purpose anyway, but it’s still something I’d like to use in the future.
I’m not sure if I’ve installed MSVC incorrectly or what, but this is the output I get when I compile my code with the relflection module:
Monkey12345678910111213141516171819202122Parsing...Semanting...Translating...Compiling...main_main.cppLinking C:/Users/Angus/Documents/Code/Monkey2/EditorNewMonkey/main.products/Windows/Main.exe...Microsoft (R) Incremental Linker Version 14.00.24225.1Copyright (C) Microsoft Corporation. All rights reserved."C:/Users/Angus/Documents/Code/Monkey2/EditorNewMonkey/main.buildv1.1.08/windows_debug_msvc/build/_1include_2_0r.cpp_r.obj" "C:/Users/Angus/Documents/Code/Monkey2/EditorNewMonkey/main.buildv1.1.08/windows_debug_msvc/build/_1_1_1_1_1_1_1_1_1Monkey2_5v1.1.08_2modules_2reflection_2reflection.buildv1.1.08_2windows_0debug_0msvc_2include_2_0r.cpp_r.obj" "C:/Users/Angus/Documents/Code/Monkey2/EditorNewMonkey/main.buildv1.1.08/windows_debug_msvc/build/_1_1_1_1_1_1_1_1_1Monkey2_5v1.1.08_2modules_2mojo_2mojo.buildv1.1.08_2windows_0debug_0msvc_2include_2_0r.cpp_r.obj" "C:/Users/Angus/Documents/Code/Monkey2/EditorNewMonkey/main.buildv1.1.08/windows_debug_msvc/build/_1_1_1_1_1_1_1_1_1Monkey2_5v1.1.08_2modules_2std_2std.buildv1.1.08_2windows_0debug_0msvc_2include_2_0r.cpp_r.obj" "C:/Users/Angus/Documents/Code/Monkey2/EditorNewMonkey/main.buildv1.1.08/windows_debug_msvc/build/_1_1_1_1_1_1_1_1_1Monkey2_5v1.1.08_2modules_2stb_5vorbis_2stb_5vorbis.buildv1.1.08_2windows_0debug_0msvc_2include_2_0r.cpp_r.obj" "C:/Users/Angus/Documents/Code/Monkey2/EditorNewMonkey/main.buildv1.1.08/windows_debug_msvc/build/_1_1_1_1_1_1_1_1_1Monkey2_5v1.1.08_2modules_2stb_5image_5write_2stb_5image_5write.buildv1.1.08_2windows_0debug_0msvc_2include_2_0r.cpp_r.obj" "C:/Users/Angus/Documents/Code/Monkey2/EditorNewMonkey/main.buildv1.1.08/windows_debug_msvc/build/_1_1_1_1_1_1_1_1_1Monkey2_5v1.1.08_2modules_2stb_5image_2stb_5image.buildv1.1.08_2windows_0debug_0msvc_2include_2_0r.cpp_r.obj" "C:/Users/Angus/Documents/Code/Monkey2/EditorNewMonkey/main.buildv1.1.08/windows_debug_msvc/build/_1_1_1_1_1_1_1_1_1Monkey2_5v1.1.08_2modules_2miniz_2miniz.buildv1.1.08_2windows_0debug_0msvc_2include_2_0r.cpp_r.obj" "C:/Users/Angus/Documents/Code/Monkey2/EditorNewMonkey/main.buildv1.1.08/windows_debug_msvc/build/_1_1_1_1_1_1_1_1_1Monkey2_5v1.1.08_2modules_2sdl2_2sdl2.buildv1.1.08_2windows_0debug_0msvc_2include_2_0r.cpp_r.obj" "C:/Users/Angus/Documents/Code/Monkey2/EditorNewMonkey/main.buildv1.1.08/windows_debug_msvc/build/_1_1_1_1_1_1_1_1_1Monkey2_5v1.1.08_2modules_2jni_2jni.buildv1.1.08_2windows_0debug_0msvc_2include_2_0r.cpp_r.obj" "C:/Users/Angus/Documents/Code/Monkey2/EditorNewMonkey/main.buildv1.1.08/windows_debug_msvc/build/_1_1_1_1_1_1_1_1_1Monkey2_5v1.1.08_2modules_2openal_2openal.buildv1.1.08_2windows_0debug_0msvc_2include_2_0r.cpp_r.obj" "C:/Users/Angus/Documents/Code/Monkey2/EditorNewMonkey/main.buildv1.1.08/windows_debug_msvc/build/_1_1_1_1_1_1_1_1_1Monkey2_5v1.1.08_2modules_2gles20_2gles20.buildv1.1.08_2windows_0debug_0msvc_2include_2_0r.cpp_r.obj" "C:/Users/Angus/Documents/Code/Monkey2/EditorNewMonkey/main.buildv1.1.08/windows_debug_msvc/build/_1_1_1_1_1_1_1_1_1Monkey2_5v1.1.08_2modules_2freetype_2freetype.buildv1.1.08_2windows_0debug_0msvc_2include_2_0r.cpp_r.obj" "C:/Users/Angus/Documents/Code/Monkey2/EditorNewMonkey/main.buildv1.1.08/windows_debug_msvc/build/_1_1_1_1_1_1_1_1_1Monkey2_5v1.1.08_2modules_2emscripten_2emscripten.buildv1.1.08_2windows_0debug_0msvc_2include_2_0r.cpp_r.obj" "C:/Users/Angus/Documents/Code/Monkey2/EditorNewMonkey/main.buildv1.1.08/windows_debug_msvc/build/_1_1_1_1_1_1_1_1_1Monkey2_5v1.1.08_2modules_2chipmunk_2chipmunk.buildv1.1.08_2windows_0debug_0msvc_2include_2_0r.cpp_r.obj" "C:/Users/Angus/Documents/Code/Monkey2/EditorNewMonkey/main.buildv1.1.08/windows_debug_msvc/build/_1_1_1_1_1_1_1_1_1Monkey2_5v1.1.08_2modules_2libc_2libc.buildv1.1.08_2windows_0debug_0msvc_2include_2_0r.cpp_r.obj" "C:/Users/Angus/Documents/Code/Monkey2/EditorNewMonkey/main.buildv1.1.08/windows_debug_msvc/build/_1_1_1_1_1_1_1_1_1Monkey2_5v1.1.08_2modules_2monkey_2monkey.buildv1.1.08_2windows_0debug_0msvc_2include_2_0r.cpp_r.obj" "C:/Users/Angus/Documents/Code/Monkey2/EditorNewMonkey/main.buildv1.1.08/windows_debug_msvc/build/main_0main.cpp.obj" "C:/Users/Angus/Documents/Code/Monkey2/EditorNewMonkey/main.buildv1.1.08/windows_debug_msvc/build/main_0code_02MOeditor.cpp.obj" "C:/Users/Angus/Documents/Code/Monkey2/EditorNewMonkey/main.buildv1.1.08/windows_debug_msvc/build/main_0code_02MOdef.cpp.obj" "C:/Users/Angus/Documents/Code/Monkey2/EditorNewMonkey/main.buildv1.1.08/windows_debug_msvc/build/main_0code_02GUI_02GUI.cpp.obj" "C:/Users/Angus/Documents/Code/Monkey2/EditorNewMonkey/main.buildv1.1.08/windows_debug_msvc/build/main_0code_02GUI_02GUIskins.cpp.obj" "C:/Users/Angus/Documents/Code/Monkey2/EditorNewMonkey/main.buildv1.1.08/windows_debug_msvc/build/main_0code_02GUI_02GUIclasses.cpp.obj" "C:/Users/Angus/Documents/Code/Monkey2/EditorNewMonkey/main.buildv1.1.08/windows_debug_msvc/build/main_0code_02GUI_02GUIglobals.cpp.obj" "C:/Users/Angus/Documents/Code/Monkey2/EditorNewMonkey/main.buildv1.1.08/windows_debug_msvc/build/main_0code_02ManagedObjects_02managedObjects.cpp.obj" "C:/Users/Angus/Documents/Code/Monkey2/EditorNewMonkey/main.buildv1.1.08/windows_debug_msvc/build/main_0code_02ManagedObjects_02managedColliders.cpp.obj" "C:/Users/Angus/Documents/Code/Monkey2/EditorNewMonkey/main.buildv1.1.08/windows_debug_msvc/build/main_0code_02ManagedObjects_02managedGraphics.cpp.obj" "C:/Users/Angus/Documents/Code/Monkey2/EditorNewMonkey/main.buildv1.1.08/windows_debug_msvc/build/main_0code_02ManagedObjects_02managedMaths.cpp.obj" "C:/Users/Angus/Documents/Code/Monkey2/EditorNewMonkey/main.buildv1.1.08/windows_debug_msvc/build/main_0code_02general.cpp.obj" "C:/Users/Angus/Documents/Code/Monkey2/EditorNewMonkey/main.buildv1.1.08/windows_debug_msvc/build/main_0code_02mojoExtra.cpp.obj" "C:/Users/Angus/Documents/Code/Monkey2/EditorNewMonkey/main.buildv1.1.08/windows_debug_msvc/build/main_0std_0collections_02container.cpp.obj" "C:/Users/Angus/Documents/Code/Monkey2/EditorNewMonkey/main.buildv1.1.08/windows_debug_msvc/build/main_0std_0collections_02list.cpp.obj" "C:/Users/Angus/Documents/Code/Monkey2/EditorNewMonkey/main.buildv1.1.08/windows_debug_msvc/build/main_0std_0collections_02stack.cpp.obj" "C:/Users/Angus/Documents/Code/Monkey2/EditorNewMonkey/main.buildv1.1.08/windows_debug_msvc/build/main_0std_0collections_02deque.cpp.obj" "C:/Users/Angus/Documents/Code/Monkey2/EditorNewMonkey/main.buildv1.1.08/windows_debug_msvc/build/main_0std_0collections_02map.cpp.obj" "C:/Users/Angus/Documents/Code/Monkey2/EditorNewMonkey/main.buildv1.1.08/windows_debug_msvc/build/main_0monkey_0math.cpp.obj" "C:/Monkey2-v1.1.08/modules/reflection/reflection.buildv1.1.08/windows_debug_msvc/reflection.lib" "C:/Monkey2-v1.1.08/modules/mojo/mojo.buildv1.1.08/windows_debug_msvc/mojo.lib" "C:/Monkey2-v1.1.08/modules/std/std.buildv1.1.08/windows_debug_msvc/std.lib" "C:/Monkey2-v1.1.08/modules/stb-vorbis/stb-vorbis.buildv1.1.08/windows_debug_msvc/stb-vorbis.lib" "C:/Monkey2-v1.1.08/modules/stb-image-write/stb-image-write.buildv1.1.08/windows_debug_msvc/stb-image-write.lib" "C:/Monkey2-v1.1.08/modules/stb-image/stb-image.buildv1.1.08/windows_debug_msvc/stb-image.lib" "C:/Monkey2-v1.1.08/modules/miniz/miniz.buildv1.1.08/windows_debug_msvc/miniz.lib" "C:/Monkey2-v1.1.08/modules/sdl2/sdl2.buildv1.1.08/windows_debug_msvc/sdl2.lib" "C:/Monkey2-v1.1.08/modules/jni/jni.buildv1.1.08/windows_debug_msvc/jni.lib" "C:/Monkey2-v1.1.08/modules/openal/openal.buildv1.1.08/windows_debug_msvc/openal.lib" "C:/Monkey2-v1.1.08/modules/gles20/gles20.buildv1.1.08/windows_debug_msvc/gles20.lib" "C:/Monkey2-v1.1.08/modules/freetype/freetype.buildv1.1.08/windows_debug_msvc/freetype.lib" "C:/Monkey2-v1.1.08/modules/emscripten/emscripten.buildv1.1.08/windows_debug_msvc/emscripten.lib" "C:/Monkey2-v1.1.08/modules/chipmunk/chipmunk.buildv1.1.08/windows_debug_msvc/chipmunk.lib" "C:/Monkey2-v1.1.08/modules/libc/libc.buildv1.1.08/windows_debug_msvc/libc.lib" "C:/Monkey2-v1.1.08/modules/monkey/monkey.buildv1.1.08/windows_debug_msvc/monkey.lib" "C:/Monkey2-v1.1.08/modules/openal/openal-soft/lib/OpenAL32.lib" "C:/Monkey2-v1.1.08/modules/gles20/angle/lib/libEGL.lib" "C:/Monkey2-v1.1.08/modules/gles20/angle/lib/libGLESv2.lib" dsound.lib xinput.lib dinput8.lib advapi32.lib ole32.lib shell32.lib oleaut32.lib imm32.lib winmm.lib gdi32.lib user32.lib kernel32.lib version.lib Comdlg32.lib Ws2_32.libCreating library C:/Users/Angus/Documents/Code/Monkey2/EditorNewMonkey/main.products/Windows/Main.lib and object C:/Users/Angus/Documents/Code/Monkey2/EditorNewMonkey/main.products/Windows/Main.exp_1_1_1_1_1_1_1_1_1Monkey2_5v1.1.08_2modules_2std_2std.buildv1.1.08_2windows_0debug_0msvc_2include_2_0r.cpp_r.obj : error LNK2019: unresolved external symbol "void __cdecl g_std_permissions_RequestPermissions(struct bbArray<class bbString,1>,struct bbFunction<void __cdecl(struct bbArray<int,1>)>)" (?g_std_permissions_RequestPermissions@@YAXU?$bbArray@VbbString@@$00@@U?$bbFunction@$$A6AXU?$bbArray@H$00@@@Z@@@Z) referenced in function "public: virtual struct bbDeclInfo * * __thiscall mx2_std_permissions_2permissions_typeinfo::initDecls(void)" (?initDecls@mx2_std_permissions_2permissions_typeinfo@@UAEPAPAUbbDeclInfo@@XZ)C:/Users/Angus/Documents/Code/Monkey2/EditorNewMonkey/main.products/Windows/Main.exe : fatal error LNK1120: 1 unresolved externalsBuild error: System command 'link -subsystem:windows -entry:mainCRTStartup -out:"C:/Users/Angus/Documents/Code/Monkey2/EditorNewMonkey/main.products/Windows/Main.exe" @tmp/lnkFiles1.txt' failed.link -subsystem:windows -entry:mainCRTStartup -out:"C:/Users/Angus/Documents/Code/Monkey2/EditorNewMonkey/main.products/Windows/Main.exe" @tmp/lnkFiles1.txt***** Fatal mx2cc error *****Internal mx2cc build errorI’ll probably pursue my new plan using MSVC and see if the reflection issue can be addressed later. All the rest of my code is compiling fine, and in a fraction of what it was regardless of reflection module. Less than 30 seconds for a big compile and less than 5 most of the time, a huge boost!
-
AuthorPosts
You must be logged in to reply to this topic.