Closed ratsdiov closed 6 years ago
disable_advanced_gui=yes
and disable_3d=yes
are for use in builds with tools=no
that don't need those features.
Actually I think the buildsystem should be adapted so that it discards disable_3d and disable_advanced_gui if tools=yes, instead of accepting it and failing. I'll handle that.
If it discards the options, it should not be silent. I believe the most user-friendly way is to stop the command right from the beginning with an error message if an incompatible set of options is selected.
A simple warning message may not be good because it'd likely be lost by the user in the console spam that is the generated by the build and they'll believe it was successful. And it'll be odd when they find out that, say, 3D wasn't actually disabled (so they'll come here to file a bug report and give us more work).
I agree - I was not aware there was a dependency between the options, an error message and hard stop would make this immediately clear.
See #3537 for some relevant compilation errors.
I can have a go at disabling these options for the tools=no builds, but I'd like to have the confirmation (@reduz?) that those two options are indeed valid only for the editor. If not, it might just be a true bug that some #ifdef
are missing in the code to exclude tools-only stuff triggered by these options.
Actually disable_3d
won't build currently, it probably broke at some time when adding 3D features without giving the possibility to remove them with _3D_DISABLED
. At any rate, this issue needs some more work and probably won't be fixed for 2.0.
has this been fixed ?
yeah is still buggest . I just tried it right now and doesn't work. It compiles but when you run it it gives this error.
ERROR: create: Condition ' !create_func ' is true. returned: 0
At: core/os/mutex.cpp:39.
error: Couldn't load game path '.'
If you have a runtime error, it means that the compilation worked, which is the topic of this issue :)
Not critical for the upcoming 2.1, so moving to the next milestone.
Godot 3 still can't be compiled with disable_3d=yes and disable_advanced_gui=yes.
bin\godot.windows.opt.debug.64.mono.exe : fatal error LNK1120: 8 unresolved externals
scons: *** [bin\godot.windows.opt.debug.64.mono.exe] Error 1120
scons: building terminated because of errors.
I'm trying to compile Godot using the following command from Windows 10 (latest version from git):
scons -j6 platform=android --config=force target=release tools=no use_lto=yes deprecated=no xml=no disable_3d=yes disable_advanced_gui=yes builtin_bullet=no builtin_enet=no builtin_libogg=no builtin_libtheora=no builtin_libvorbis=no builtin_libvpx=no builtin_libwebsockets=no builtin_mbedtls=no builtin_miniupnpc=no builtin_opus=no builtin_recast=no builtin_squish=no builtin_thekla_atlas=no module_bmp_enabled=no module_bullet_enabled=no module_csg_enabled=no module_dds_enabled=no module_enet_enabled=no module_etc_enabled=no module_gdnative_enabled=no module_gridmap_enabled=no module_hdr_enabled=no module_jpg_enabled=no module_mbedtls_enabled=no module_mobile_vr_enabled=no module_ogg_enabled=no module_opus_enabled=no module_pvr_enabled=no module_recast_enabled=no module_squish_enabled=no module_stb_vorbis_enabled=no module_svg_enabled=no module_tga_enabled=no module_thekla_unwrap_enabled=no module_theora_enabled=no module_tinyexr_enabled=no module_upnp_enabled=no module_visual_script_enabled=no module_vorbis_enabled=no module_webm_enabled=no module_websocket_enabled=no
It compile everything but the linker give these errors:
[ 83%] Linking Static Library ==> modules\freetype\libfreetype_builtin.android.opt.armv7.neon.a
[ 83%] Linking Static Library ==> core\libcore.android.opt.armv7.neon.a
[ 83%] Linking Shared Library ==> bin\libgodot.android.opt.armv7.neon.so
[ 83%] =====
D:\Android\sdk\ndk-bundle/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64/lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux-androideabi/bin\ld: warning: ignoring --threads: D:\Android\sdk\ndk-bundle/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64/lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux-androideabi/bin\ld was compiled without thread support
scene\libscene.android.opt.armv7.neon.a(skeleton.android.opt.armv7.neon.o):scene\3d\skeleton.cpp:function _pb_stop_simulation(Node*): error: undefined reference to 'PhysicalBone::set_simulate_physics(bool)'
scene\libscene.android.opt.armv7.neon.a(skeleton.android.opt.armv7.neon.o):scene\3d\skeleton.cpp:function _pb_stop_simulation(Node*): error: undefined reference to 'PhysicalBone::set_static_body(bool)'
scene\libscene.android.opt.armv7.neon.a(skeleton.android.opt.armv7.neon.o):scene\3d\skeleton.cpp:function _pb_stop_simulation(Node*): error: undefined reference to 'typeinfo for PhysicalBone'
scene\libscene.android.opt.armv7.neon.a(skeleton.android.opt.armv7.neon.o):scene\3d\skeleton.cpp:function _pb_start_simulation(Skeleton const*, Node*, Vector<int> const&): error: undefined reference to 'PhysicalBone::set_simulate_physics(bool)'
scene\libscene.android.opt.armv7.neon.a(skeleton.android.opt.armv7.neon.o):scene\3d\skeleton.cpp:function _pb_start_simulation(Skeleton const*, Node*, Vector<int> const&): error: undefined reference to 'PhysicalBone::set_simulate_physics(bool)'
scene\libscene.android.opt.armv7.neon.a(skeleton.android.opt.armv7.neon.o):scene\3d\skeleton.cpp:function _pb_start_simulation(Skeleton const*, Node*, Vector<int> const&): error: undefined reference to 'PhysicalBone::set_static_body(bool)'
scene\libscene.android.opt.armv7.neon.a(skeleton.android.opt.armv7.neon.o):scene\3d\skeleton.cpp:function _pb_start_simulation(Skeleton const*, Node*, Vector<int> const&): error: undefined reference to 'typeinfo for PhysicalBone'
scene\libscene.android.opt.armv7.neon.a(skeleton.android.opt.armv7.neon.o):scene\3d\skeleton.cpp:function _physical_bones_add_remove_collision_exception(bool, Node*, RID): error: undefined reference to 'typeinfo for CollisionObject'
clang++.exe: error: linker command failed with exit code 1 (use -v to see invocation)
Building with VisualStudio 2010 using scons with the following command lines has numerous unresolved externals:
scons platform=windows disable_3d=yes
(Using disable_advanced_gui=yes with the above also fails but I'm not sure if using this adds more unresolved externals)
Build error: bin\godot.windows.tools.exe : fatal error LNK1120: 114 unresolved externals scons: *\ [bin\godot.windows.tools.exe] Error 1120 scons: building terminated because of errors.