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

Compile android template error on Windows #6844

Closed
volzhs opened this issue Oct 16, 2016 · 16 comments · Fixed by #6959
Closed

Compile android template error on Windows #6844

volzhs opened this issue Oct 16, 2016 · 16 comments · Fixed by #6959

Comments

@volzhs
Copy link
Contributor

volzhs commented Oct 16, 2016

Operating system or device - Godot version:
Windows 10, scons 2.4.1, MSVC 14, 8913222

Issue description (what happened, and what was expected):

modules\libmodules.android.opt.debug.armv7.neon.a(register_module_types.android.opt.debug.armv7.neon.o):register_module_types.cpp:function register_module_types(): error: undefined reference to 'register_chibi_types()'
modules\libmodules.android.opt.debug.armv7.neon.a(register_module_types.android.opt.debug.armv7.neon.o):register_module_types.cpp:function register_module_types(): error: undefined reference to 'register_cscript_types()'
modules\libmodules.android.opt.debug.armv7.neon.a(register_module_types.android.opt.debug.armv7.neon.o):register_module_types.cpp:function register_module_types(): error: undefined reference to 'register_dds_types()'
... lots of "register_module_something()"

modules\libmodules.android.opt.debug.armv7.neon.a(register_module_types.android.opt.debug.armv7.neon.o):register_module_types.cpp:function unregister_module_types(): error: undefined reference to 'unregister_chibi_types()'
modules\libmodules.android.opt.debug.armv7.neon.a(register_module_types.android.opt.debug.armv7.neon.o):register_module_types.cpp:function unregister_module_types(): error: undefined reference to 'unregister_cscript_types()'
modules\libmodules.android.opt.debug.armv7.neon.a(register_module_types.android.opt.debug.armv7.neon.o):register_module_types.cpp:function unregister_module_types(): error: undefined reference to 'unregister_dds_types()'
... lots of "unregister_module_something()"
... and lots of "webp, VP8, TestGDScript::test" things

collect2.exe: error: ld returned 1 exit status

=====
scons: *** [bin\libgodot.android.opt.debug.armv7.neon.so] Error 1
scons: building terminated because of errors.

Compiling for windows tool and templates are fine.

Steps to reproduce:
scons -j 4 platform=android colored=yes tools=no target=release_debug

Link to minimal example project (optional but very welcome):

@akien-mga
Copy link
Member

akien-mga commented Oct 16, 2016

Does it still happen if you delete modules\register_module_types.{cpp,*.o}?

@volzhs
Copy link
Contributor Author

volzhs commented Oct 16, 2016

trying again after removing *.o and *.a

@akien-mga
Copy link
Member

Also remove modules\register_module_types.cpp which is auto-generated.

@volzhs
Copy link
Contributor Author

volzhs commented Oct 16, 2016

oh. I didn't know that. trying it again.

@volzhs
Copy link
Contributor Author

volzhs commented Oct 16, 2016

pretty much same result... :(

@akien-mga
Copy link
Member

akien-mga commented Oct 16, 2016

Can you attach the whole log and the modules\register_module_types.cpp file? I suspect the mentions to chibi, cscript, etc. are red herrings, the error is probably due to another non-android compatible module.

@volzhs
Copy link
Contributor Author

volzhs commented Oct 16, 2016

scons -j 4 platform=android tools=no target=release_debug
scons: Reading SConscript files ...
Godot Android!!!!! (armv7) (with neon)
scons: done reading SConscript files.
scons: Building targets ...
D:\Development\NVPACK\android-ndk-r12b/toolchains/arm-linux-androideabi-4.9/prebuilt//windows-x86_64/bin/arm-linux-androideabi-g++ -o core\script_encryption_key.android.opt.debug.armv7.neon.o -c -DNO_STATVFS -fpic -ffunction-sections -funwind-tables -fstack-protector -fvisibility=hidden -D__ARM_ARCH_7__ -D__ARM_ARCH_7A__ -D__GLIBC__ -Wno-psabi -march=armv7-a -mfloat-abi=softfp -ftree-vectorize -funsafe-math-optimizations -fno-strict-aliasing -DANDROID -Wa,--noexecstack -DGLES2_ENABLED -mfpu=neon -D__ARM_NEON__ -O2 -ffast-math -DDEBUG_ENABLED -fno-exceptions -DNO_SAFE_CAST -DFREETYPE_ENABLED -DENABLE_DEPRECATED -DANDROID_ENABLED -DUNIX_ENABLED -DNO_FCNTL -DMPC_FIXED_POINT -DGDSCRIPT_ENABLED -DMINIZIP_ENABLED -DXML_ENABLED -Icore -Icore\math -Itools -Idrivers -I. -Iplatform\android -ID:\Development\NVPACK\android-ndk-r12b\platforms\android-14\arch-arm\usr\include -ID:\Development\NVPACK\android-ndk-r12b\sources\cxx-stl\gnu-libstdc++\4.9\include -ID:\Development\NVPACK\android-ndk-r12b\sources\cpufeatures -Ithirdparty\freetype -Ithirdparty\freetype\include -Ithirdparty\libpng core\script_encryption_key.cpp
D:\Development\NVPACK\android-ndk-r12b/toolchains/arm-linux-androideabi-4.9/prebuilt//windows-x86_64/bin/arm-linux-androideabi-ar rc core\libcore.android.opt.debug.armv7.neon.a platform\android\globals\global_defaults.android.opt.debug.armv7.neon.o platform\iphone\globals\global_defaults.android.opt.debug.armv7.neon.o core\array.android.opt.debug.armv7.neon.o core\color.android.opt.debug.armv7.neon.o core\command_queue_mt.android.opt.debug.armv7.neon.o core\compressed_translation.android.opt.debug.armv7.neon.o core\core_string_names.android.opt.debug.armv7.neon.o core\dictionary.android.opt.debug.armv7.neon.o core\dvector.android.opt.debug.armv7.neon.o core\error_macros.android.opt.debug.armv7.neon.o core\event_queue.android.opt.debug.armv7.neon.o core\func_ref.android.opt.debug.armv7.neon.o core\globals.android.opt.debug.armv7.neon.o core\global_constants.android.opt.debug.armv7.neon.o core\global_defaults.android.opt.debug.armv7.neon.o core\hq2x.android.opt.debug.armv7.neon.o core\image.android.opt.debug.armv7.neon.o core\image_quantize.android.opt.debug.armv7.neon.o core\input_map.android.opt.debug.armv7.neon.o core\message_queue.android.opt.debug.armv7.neon.o core\method_bind.android.opt.debug.armv7.neon.o core\object.android.opt.debug.armv7.neon.o core\object_type_db.android.opt.debug.armv7.neon.o core\packed_data_container.android.opt.debug.armv7.neon.o core\path_db.android.opt.debug.armv7.neon.o core\path_remap.android.opt.debug.armv7.neon.o core\pool_allocator.android.opt.debug.armv7.neon.o core\print_string.android.opt.debug.armv7.neon.o core\profile_clock.android.opt.debug.armv7.neon.o core\reference.android.opt.debug.armv7.neon.o core\ref_ptr.android.opt.debug.armv7.neon.o core\register_core_types.android.opt.debug.armv7.neon.o core\resource.android.opt.debug.armv7.neon.o core\rid.android.opt.debug.armv7.neon.o core\safe_refcount.android.opt.debug.armv7.neon.o core\script_debugger_local.android.opt.debug.armv7.neon.o core\script_debugger_remote.android.opt.debug.armv7.neon.o core\script_encryption_key.android.opt.debug.armv7.neon.o core\script_language.android.opt.debug.armv7.neon.o core\string_db.android.opt.debug.armv7.neon.o core\translation.android.opt.debug.armv7.neon.o core\undo_redo.android.opt.debug.armv7.neon.o core\ustring.android.opt.debug.armv7.neon.o core\variant.android.opt.debug.armv7.neon.o core\variant_call.android.opt.debug.armv7.neon.o core\variant_construct_string.android.opt.debug.armv7.neon.o core\variant_op.android.opt.debug.armv7.neon.o core\variant_parser.android.opt.debug.armv7.neon.o core\os\copymem.android.opt.debug.armv7.neon.o core\os\dir_access.android.opt.debug.armv7.neon.o core\os\file_access.android.opt.debug.armv7.neon.o core\os\input.android.opt.debug.armv7.neon.o core\os\input_event.android.opt.debug.armv7.neon.o core\os\keyboard.android.opt.debug.armv7.neon.o core\os\main_loop.android.opt.debug.armv7.neon.o core\os\memory.android.opt.debug.armv7.neon.o core\os\memory_pool_dynamic.android.opt.debug.armv7.neon.o core\os\memory_pool_dynamic_prealloc.android.opt.debug.armv7.neon.o core\os\memory_pool_dynamic_static.android.opt.debug.armv7.neon.o core\os\memory_pool_static.android.opt.debug.armv7.neon.o core\os\mutex.android.opt.debug.armv7.neon.o core\os\os.android.opt.debug.armv7.neon.o core\os\semaphore.android.opt.debug.armv7.neon.o core\os\shell.android.opt.debug.armv7.neon.o core\os\thread.android.opt.debug.armv7.neon.o core\os\thread_dummy.android.opt.debug.armv7.neon.o core\os\thread_safe.android.opt.debug.armv7.neon.o core\math\aabb.android.opt.debug.armv7.neon.o core\math\a_star.android.opt.debug.armv7.neon.o core\math\bsp_tree.android.opt.debug.armv7.neon.o core\math\camera_matrix.android.opt.debug.armv7.neon.o core\math\face3.android.opt.debug.armv7.neon.o core\math\geometry.android.opt.debug.armv7.neon.o core\math\math_2d.android.opt.debug.armv7.neon.o core\math\math_funcs.android.opt.debug.armv7.neon.o core\math\matrix3.android.opt.debug.armv7.neon.o core\math\plane.android.opt.debug.armv7.neon.o core\math\quat.android.opt.debug.armv7.neon.o core\math\quick_hull.android.opt.debug.armv7.neon.o core\math\transform.android.opt.debug.armv7.neon.o core\math\triangle_mesh.android.opt.debug.armv7.neon.o core\math\triangulate.android.opt.debug.armv7.neon.o core\math\triangulator.android.opt.debug.armv7.neon.o core\math\vector3.android.opt.debug.armv7.neon.o core\io\aes256.android.opt.debug.armv7.neon.o core\io\compression.android.opt.debug.armv7.neon.o core\io\config_file.android.opt.debug.armv7.neon.o core\io\file_access_buffered.android.opt.debug.armv7.neon.o core\io\file_access_compressed.android.opt.debug.armv7.neon.o core\io\file_access_encrypted.android.opt.debug.armv7.neon.o core\io\file_access_memory.android.opt.debug.armv7.neon.o core\io\file_access_network.android.opt.debug.armv7.neon.o core\io\file_access_pack.android.opt.debug.armv7.neon.o core\io\file_access_zip.android.opt.debug.armv7.neon.o core\io\http_client.android.opt.debug.armv7.neon.o core\io\image_loader.android.opt.debug.armv7.neon.o core\io\ip.android.opt.debug.armv7.neon.o core\io\ip_address.android.opt.debug.armv7.neon.o core\io\json.android.opt.debug.armv7.neon.o core\io\marshalls.android.opt.debug.armv7.neon.o core\io\md5.android.opt.debug.armv7.neon.o core\io\networked_multiplayer_peer.android.opt.debug.armv7.neon.o core\io\packet_peer.android.opt.debug.armv7.neon.o core\io\packet_peer_udp.android.opt.debug.armv7.neon.o core\io\pck_packer.android.opt.debug.armv7.neon.o core\io\resource_format_binary.android.opt.debug.armv7.neon.o core\io\resource_format_xml.android.opt.debug.armv7.neon.o core\io\resource_loader.android.opt.debug.armv7.neon.o core\io\resource_saver.android.opt.debug.armv7.neon.o core\io\stream_peer.android.opt.debug.armv7.neon.o core\io\stream_peer_ssl.android.opt.debug.armv7.neon.o core\io\stream_peer_tcp.android.opt.debug.armv7.neon.o core\io\tcp_server.android.opt.debug.armv7.neon.o core\io\translation_loader_po.android.opt.debug.armv7.neon.o core\io\xml_parser.android.opt.debug.armv7.neon.o core\io\base64.android.opt.debug.armv7.neon.o core\io\fastlz.android.opt.debug.armv7.neon.o core\io\ioapi.android.opt.debug.armv7.neon.o core\io\sha256.android.opt.debug.armv7.neon.o core\io\unzip.android.opt.debug.armv7.neon.o core\io\zip.android.opt.debug.armv7.neon.o core\bind\core_bind.android.opt.debug.armv7.neon.o
D:\Development\NVPACK\android-ndk-r12b/toolchains/arm-linux-androideabi-4.9/prebuilt//windows-x86_64/bin/arm-linux-androideabi-ranlib core\libcore.android.opt.debug.armv7.neon.a
D:\Development\NVPACK\android-ndk-r12b/toolchains/arm-linux-androideabi-4.9/prebuilt//windows-x86_64/bin/arm-linux-androideabi-g++ -o bin\libgodot.android.opt.debug.armv7.neon.so -g --sysroot=D:\Development\NVPACK\android-ndk-r12b/platforms/android-14/arch-arm -Wl,--no-undefined -Wl,-z,noexecstack -Wl,-soname,libgodot_android.so -shared platform\android\os_android.os platform\android\godot_android.os platform\android\file_access_android.os platform\android\dir_access_android.os platform\android\audio_driver_opensl.os platform\android\file_access_jandroid.os platform\android\dir_access_jandroid.os platform\android\thread_jandroid.os platform\android\audio_driver_jandroid.os platform\android\ifaddrs_android.os platform\android\android_native_app_glue.os platform\android\java_glue.os platform\android\cpu-features.os platform\android\java_class_wrapper.os -LD:\Development\NVPACK\android-ndk-r12b\sources\cxx-stl\gnu-libstdc++\4.9\libs\armeabi-v7a main\libmain.android.opt.debug.armv7.neon.a modules\libmodules.android.opt.debug.armv7.neon.a bin\tests\libtests.android.opt.debug.armv7.neon.a drivers\libdrivers.android.opt.debug.armv7.neon.a drivers\libdrivers0.android.opt.debug.armv7.neon.a scene\libscene.android.opt.debug.armv7.neon.a servers\libservers.android.opt.debug.armv7.neon.a core\libcore.android.opt.debug.armv7.neon.a -lOpenSLES -lEGL -lOpenSLES -landroid -lc -lm -lstdc++ -llog -lGLESv1_CM -lGLESv2 -lz -lgnustl_static modules\freetype\libfreetype_builtin.android.opt.debug.armv7.neon.a
=====
modules\libmodules.android.opt.debug.armv7.neon.a(register_module_types.android.opt.debug.armv7.neon.o):register_module_types.cpp:function register_module_types(): error: undefined reference to 'register_chibi_types()'
modules\libmodules.android.opt.debug.armv7.neon.a(register_module_types.android.opt.debug.armv7.neon.o):register_module_types.cpp:function register_module_types(): error: undefined reference to 'register_cscript_types()'
modules\libmodules.android.opt.debug.armv7.neon.a(register_module_types.android.opt.debug.armv7.neon.o):register_module_types.cpp:function register_module_types(): error: undefined reference to 'register_dds_types()'
modules\libmodules.android.opt.debug.armv7.neon.a(register_module_types.android.opt.debug.armv7.neon.o):register_module_types.cpp:function register_module_types(): error: undefined reference to 'register_enet_types()'
modules\libmodules.android.opt.debug.armv7.neon.a(register_module_types.android.opt.debug.armv7.neon.o):register_module_types.cpp:function register_module_types(): error: undefined reference to 'register_etc1_types()'
modules\libmodules.android.opt.debug.armv7.neon.a(register_module_types.android.opt.debug.armv7.neon.o):register_module_types.cpp:function register_module_types(): error: undefined reference to 'register_freetype_types()'
modules\libmodules.android.opt.debug.armv7.neon.a(register_module_types.android.opt.debug.armv7.neon.o):register_module_types.cpp:function register_module_types(): error: undefined reference to 'register_gdscript_types()'
modules\libmodules.android.opt.debug.armv7.neon.a(register_module_types.android.opt.debug.armv7.neon.o):register_module_types.cpp:function register_module_types(): error: undefined reference to 'register_gridmap_types()'
modules\libmodules.android.opt.debug.armv7.neon.a(register_module_types.android.opt.debug.armv7.neon.o):register_module_types.cpp:function register_module_types(): error: undefined reference to 'register_ik_types()'
modules\libmodules.android.opt.debug.armv7.neon.a(register_module_types.android.opt.debug.armv7.neon.o):register_module_types.cpp:function register_module_types(): error: undefined reference to 'register_jpg_types()'
modules\libmodules.android.opt.debug.armv7.neon.a(register_module_types.android.opt.debug.armv7.neon.o):register_module_types.cpp:function register_module_types(): error: undefined reference to 'register_mpc_types()'
modules\libmodules.android.opt.debug.armv7.neon.a(register_module_types.android.opt.debug.armv7.neon.o):register_module_types.cpp:function register_module_types(): error: undefined reference to 'register_openssl_types()'
modules\libmodules.android.opt.debug.armv7.neon.a(register_module_types.android.opt.debug.armv7.neon.o):register_module_types.cpp:function register_module_types(): error: undefined reference to 'register_opus_types()'
modules\libmodules.android.opt.debug.armv7.neon.a(register_module_types.android.opt.debug.armv7.neon.o):register_module_types.cpp:function register_module_types(): error: undefined reference to 'register_pbm_types()'
modules\libmodules.android.opt.debug.armv7.neon.a(register_module_types.android.opt.debug.armv7.neon.o):register_module_types.cpp:function register_module_types(): error: undefined reference to 'register_pvr_types()'
modules\libmodules.android.opt.debug.armv7.neon.a(register_module_types.android.opt.debug.armv7.neon.o):register_module_types.cpp:function register_module_types(): error: undefined reference to 'register_theora_types()'
modules\libmodules.android.opt.debug.armv7.neon.a(register_module_types.android.opt.debug.armv7.neon.o):register_module_types.cpp:function register_module_types(): error: undefined reference to 'register_visual_script_types()'
modules\libmodules.android.opt.debug.armv7.neon.a(register_module_types.android.opt.debug.armv7.neon.o):register_module_types.cpp:function register_module_types(): error: undefined reference to 'register_vorbis_types()'
modules\libmodules.android.opt.debug.armv7.neon.a(register_module_types.android.opt.debug.armv7.neon.o):register_module_types.cpp:function register_module_types(): error: undefined reference to 'register_webp_types()'
modules\libmodules.android.opt.debug.armv7.neon.a(register_module_types.android.opt.debug.armv7.neon.o):register_module_types.cpp:function unregister_module_types(): error: undefined reference to 'unregister_chibi_types()'
modules\libmodules.android.opt.debug.armv7.neon.a(register_module_types.android.opt.debug.armv7.neon.o):register_module_types.cpp:function unregister_module_types(): error: undefined reference to 'unregister_cscript_types()'
modules\libmodules.android.opt.debug.armv7.neon.a(register_module_types.android.opt.debug.armv7.neon.o):register_module_types.cpp:function unregister_module_types(): error: undefined reference to 'unregister_dds_types()'
modules\libmodules.android.opt.debug.armv7.neon.a(register_module_types.android.opt.debug.armv7.neon.o):register_module_types.cpp:function unregister_module_types(): error: undefined reference to 'unregister_enet_types()'
modules\libmodules.android.opt.debug.armv7.neon.a(register_module_types.android.opt.debug.armv7.neon.o):register_module_types.cpp:function unregister_module_types(): error: undefined reference to 'unregister_etc1_types()'
modules\libmodules.android.opt.debug.armv7.neon.a(register_module_types.android.opt.debug.armv7.neon.o):register_module_types.cpp:function unregister_module_types(): error: undefined reference to 'unregister_freetype_types()'
modules\libmodules.android.opt.debug.armv7.neon.a(register_module_types.android.opt.debug.armv7.neon.o):register_module_types.cpp:function unregister_module_types(): error: undefined reference to 'unregister_gdscript_types()'
modules\libmodules.android.opt.debug.armv7.neon.a(register_module_types.android.opt.debug.armv7.neon.o):register_module_types.cpp:function unregister_module_types(): error: undefined reference to 'unregister_gridmap_types()'
modules\libmodules.android.opt.debug.armv7.neon.a(register_module_types.android.opt.debug.armv7.neon.o):register_module_types.cpp:function unregister_module_types(): error: undefined reference to 'unregister_ik_types()'
modules\libmodules.android.opt.debug.armv7.neon.a(register_module_types.android.opt.debug.armv7.neon.o):register_module_types.cpp:function unregister_module_types(): error: undefined reference to 'unregister_jpg_types()'
modules\libmodules.android.opt.debug.armv7.neon.a(register_module_types.android.opt.debug.armv7.neon.o):register_module_types.cpp:function unregister_module_types(): error: undefined reference to 'unregister_mpc_types()'
modules\libmodules.android.opt.debug.armv7.neon.a(register_module_types.android.opt.debug.armv7.neon.o):register_module_types.cpp:function unregister_module_types(): error: undefined reference to 'unregister_openssl_types()'
modules\libmodules.android.opt.debug.armv7.neon.a(register_module_types.android.opt.debug.armv7.neon.o):register_module_types.cpp:function unregister_module_types(): error: undefined reference to 'unregister_opus_types()'
modules\libmodules.android.opt.debug.armv7.neon.a(register_module_types.android.opt.debug.armv7.neon.o):register_module_types.cpp:function unregister_module_types(): error: undefined reference to 'unregister_pbm_types()'
modules\libmodules.android.opt.debug.armv7.neon.a(register_module_types.android.opt.debug.armv7.neon.o):register_module_types.cpp:function unregister_module_types(): error: undefined reference to 'unregister_pvr_types()'
modules\libmodules.android.opt.debug.armv7.neon.a(register_module_types.android.opt.debug.armv7.neon.o):register_module_types.cpp:function unregister_module_types(): error: undefined reference to 'unregister_theora_types()'
modules\libmodules.android.opt.debug.armv7.neon.a(register_module_types.android.opt.debug.armv7.neon.o):register_module_types.cpp:function unregister_module_types(): error: undefined reference to 'unregister_visual_script_types()'
modules\libmodules.android.opt.debug.armv7.neon.a(register_module_types.android.opt.debug.armv7.neon.o):register_module_types.cpp:function unregister_module_types(): error: undefined reference to 'unregister_vorbis_types()'
modules\libmodules.android.opt.debug.armv7.neon.a(register_module_types.android.opt.debug.armv7.neon.o):register_module_types.cpp:function unregister_module_types(): error: undefined reference to 'unregister_webp_types()'
bin\tests\libtests.android.opt.debug.armv7.neon.a(test_gdscript.android.opt.debug.armv7.neon.o):test_gdscript.cpp:function TestGDScript::_parser_expr(GDParser::Node const*): error: undefined reference to 'GDFunctions::get_func_name(GDFunctions::Function)'
bin\tests\libtests.android.opt.debug.armv7.neon.a(test_gdscript.android.opt.debug.armv7.neon.o):test_gdscript.cpp:function TestGDScript::_disassemble_addr(Ref<GDScript> const&, GDFunction const&, int): error: undefined reference to 'GDScript::debug_get_member_by_index(int) const'
bin\tests\libtests.android.opt.debug.armv7.neon.a(test_gdscript.android.opt.debug.armv7.neon.o):test_gdscript.cpp:function TestGDScript::_disassemble_addr(Ref<GDScript> const&, GDFunction const&, int): error: undefined reference to 'GDFunction::get_global_name(int) const'
bin\tests\libtests.android.opt.debug.armv7.neon.a(test_gdscript.android.opt.debug.armv7.neon.o):test_gdscript.cpp:function TestGDScript::_disassemble_addr(Ref<GDScript> const&, GDFunction const&, int): error: undefined reference to 'GDFunction::get_constant(int) const'
bin\tests\libtests.android.opt.debug.armv7.neon.a(test_gdscript.android.opt.debug.armv7.neon.o):test_gdscript.cpp:function TestGDScript::_disassemble_addr(Ref<GDScript> const&, GDFunction const&, int): error: undefined reference to 'GDFunction::get_global_name(int) const'
bin\tests\libtests.android.opt.debug.armv7.neon.a(test_gdscript.android.opt.debug.armv7.neon.o):test_gdscript.cpp:function TestGDScript::test(TestGDScript::TestType): error: undefined reference to 'GDTokenizerText::set_code(String const&)'
bin\tests\libtests.android.opt.debug.armv7.neon.a(test_gdscript.android.opt.debug.armv7.neon.o):test_gdscript.cpp:function TestGDScript::test(TestGDScript::TestType): error: undefined reference to 'GDTokenizerText::get_token(int) const'
bin\tests\libtests.android.opt.debug.armv7.neon.a(test_gdscript.android.opt.debug.armv7.neon.o):test_gdscript.cpp:function TestGDScript::test(TestGDScript::TestType): error: undefined reference to 'GDTokenizerText::get_token(int) const'
bin\tests\libtests.android.opt.debug.armv7.neon.a(test_gdscript.android.opt.debug.armv7.neon.o):test_gdscript.cpp:function TestGDScript::test(TestGDScript::TestType): error: undefined reference to 'GDTokenizerText::get_token(int) const'
bin\tests\libtests.android.opt.debug.armv7.neon.a(test_gdscript.android.opt.debug.armv7.neon.o):test_gdscript.cpp:function TestGDScript::test(TestGDScript::TestType): error: undefined reference to 'GDTokenizerText::get_token(int) const'
bin\tests\libtests.android.opt.debug.armv7.neon.a(test_gdscript.android.opt.debug.armv7.neon.o):test_gdscript.cpp:function TestGDScript::test(TestGDScript::TestType): error: undefined reference to 'GDTokenizer::get_token_name(GDTokenizer::Token)'
bin\tests\libtests.android.opt.debug.armv7.neon.a(test_gdscript.android.opt.debug.armv7.neon.o):test_gdscript.cpp:function TestGDScript::test(TestGDScript::TestType): error: undefined reference to 'GDTokenizerText::get_token_line(int) const'
bin\tests\libtests.android.opt.debug.armv7.neon.a(test_gdscript.android.opt.debug.armv7.neon.o):test_gdscript.cpp:function TestGDScript::test(TestGDScript::TestType): error: undefined reference to 'GDTokenizerText::get_token_line(int) const'
bin\tests\libtests.android.opt.debug.armv7.neon.a(test_gdscript.android.opt.debug.armv7.neon.o):test_gdscript.cpp:function TestGDScript::test(TestGDScript::TestType): error: undefined reference to 'GDTokenizerText::get_token_column(int) const'
bin\tests\libtests.android.opt.debug.armv7.neon.a(test_gdscript.android.opt.debug.armv7.neon.o):test_gdscript.cpp:function TestGDScript::test(TestGDScript::TestType): error: undefined reference to 'GDTokenizerText::advance(int)'
bin\tests\libtests.android.opt.debug.armv7.neon.a(test_gdscript.android.opt.debug.armv7.neon.o):test_gdscript.cpp:function TestGDScript::test(TestGDScript::TestType): error: undefined reference to 'GDTokenizerText::get_token_identifier(int) const'
bin\tests\libtests.android.opt.debug.armv7.neon.a(test_gdscript.android.opt.debug.armv7.neon.o):test_gdscript.cpp:function TestGDScript::test(TestGDScript::TestType): error: undefined reference to 'GDTokenizerText::get_token_constant(int) const'
bin\tests\libtests.android.opt.debug.armv7.neon.a(test_gdscript.android.opt.debug.armv7.neon.o):test_gdscript.cpp:function TestGDScript::test(TestGDScript::TestType): error: undefined reference to 'GDTokenizerText::get_token_error(int) const'
bin\tests\libtests.android.opt.debug.armv7.neon.a(test_gdscript.android.opt.debug.armv7.neon.o):test_gdscript.cpp:function TestGDScript::test(TestGDScript::TestType): error: undefined reference to 'GDTokenizerText::get_token_line(int) const'
bin\tests\libtests.android.opt.debug.armv7.neon.a(test_gdscript.android.opt.debug.armv7.neon.o):test_gdscript.cpp:function TestGDScript::test(TestGDScript::TestType): error: undefined reference to 'GDTokenizerText::get_token_line_indent(int) const'
bin\tests\libtests.android.opt.debug.armv7.neon.a(test_gdscript.android.opt.debug.armv7.neon.o):test_gdscript.cpp:function TestGDScript::test(TestGDScript::TestType): error: undefined reference to 'GDTokenizerBuffer::parse_code_string(String const&)'
bin\tests\libtests.android.opt.debug.armv7.neon.a(test_gdscript.android.opt.debug.armv7.neon.o):test_gdscript.cpp:function TestGDScript::test(TestGDScript::TestType): error: undefined reference to 'GDParser::GDParser()'
bin\tests\libtests.android.opt.debug.armv7.neon.a(test_gdscript.android.opt.debug.armv7.neon.o):test_gdscript.cpp:function TestGDScript::test(TestGDScript::TestType): error: undefined reference to 'GDParser::parse(String const&, String const&, bool, String const&, bool)'
bin\tests\libtests.android.opt.debug.armv7.neon.a(test_gdscript.android.opt.debug.armv7.neon.o):test_gdscript.cpp:function TestGDScript::test(TestGDScript::TestType): error: undefined reference to 'GDParser::get_parse_tree() const'
bin\tests\libtests.android.opt.debug.armv7.neon.a(test_gdscript.android.opt.debug.armv7.neon.o):test_gdscript.cpp:function TestGDScript::test(TestGDScript::TestType): error: undefined reference to 'GDParser::~GDParser()'
bin\tests\libtests.android.opt.debug.armv7.neon.a(test_gdscript.android.opt.debug.armv7.neon.o):test_gdscript.cpp:function TestGDScript::test(TestGDScript::TestType): error: undefined reference to 'vtable for GDTokenizerText'
d:/development/nvpack/android-ndk-r12b/toolchains/arm-linux-androideabi-4.9/prebuilt/windows-x86_64/bin/../lib/gcc/arm-linux-androideabi/4.9.x/../../../../arm-linux-androideabi/bin/ld.exe: the vtable symbol may be undefined because the class is missing its key function (see go/missingkeymethod)
bin\tests\libtests.android.opt.debug.armv7.neon.a(test_gdscript.android.opt.debug.armv7.neon.o):test_gdscript.cpp:function TestGDScript::test(TestGDScript::TestType): error: undefined reference to 'GDTokenizerText::get_token_built_in_func(int) const'
bin\tests\libtests.android.opt.debug.armv7.neon.a(test_gdscript.android.opt.debug.armv7.neon.o):test_gdscript.cpp:function TestGDScript::test(TestGDScript::TestType): error: undefined reference to 'GDFunctions::get_func_name(GDFunctions::Function)'
bin\tests\libtests.android.opt.debug.armv7.neon.a(test_gdscript.android.opt.debug.armv7.neon.o):test_gdscript.cpp:function TestGDScript::test(TestGDScript::TestType): error: undefined reference to 'GDParser::GDParser()'
bin\tests\libtests.android.opt.debug.armv7.neon.a(test_gdscript.android.opt.debug.armv7.neon.o):test_gdscript.cpp:function TestGDScript::test(TestGDScript::TestType): error: undefined reference to 'GDParser::parse(String const&, String const&, bool, String const&, bool)'
bin\tests\libtests.android.opt.debug.armv7.neon.a(test_gdscript.android.opt.debug.armv7.neon.o):test_gdscript.cpp:function TestGDScript::test(TestGDScript::TestType): error: undefined reference to 'GDScript::GDScript()'
bin\tests\libtests.android.opt.debug.armv7.neon.a(test_gdscript.android.opt.debug.armv7.neon.o):test_gdscript.cpp:function TestGDScript::test(TestGDScript::TestType): error: undefined reference to 'GDCompiler::GDCompiler()'
bin\tests\libtests.android.opt.debug.armv7.neon.a(test_gdscript.android.opt.debug.armv7.neon.o):test_gdscript.cpp:function TestGDScript::test(TestGDScript::TestType): error: undefined reference to 'GDCompiler::compile(GDParser const*, GDScript*, bool)'
bin\tests\libtests.android.opt.debug.armv7.neon.a(test_gdscript.android.opt.debug.armv7.neon.o):test_gdscript.cpp:function TestGDScript::test(TestGDScript::TestType): error: undefined reference to 'GDScript::debug_get_member_functions() const'
bin\tests\libtests.android.opt.debug.armv7.neon.a(test_gdscript.android.opt.debug.armv7.neon.o):test_gdscript.cpp:function TestGDScript::test(TestGDScript::TestType): error: undefined reference to 'GDFunction::get_code() const'
bin\tests\libtests.android.opt.debug.armv7.neon.a(test_gdscript.android.opt.debug.armv7.neon.o):test_gdscript.cpp:function TestGDScript::test(TestGDScript::TestType): error: undefined reference to 'GDFunction::get_code_size() const'
bin\tests\libtests.android.opt.debug.armv7.neon.a(test_gdscript.android.opt.debug.armv7.neon.o):test_gdscript.cpp:function TestGDScript::test(TestGDScript::TestType): error: undefined reference to 'GDFunction::get_default_argument_count() const'
bin\tests\libtests.android.opt.debug.armv7.neon.a(test_gdscript.android.opt.debug.armv7.neon.o):test_gdscript.cpp:function TestGDScript::test(TestGDScript::TestType): error: undefined reference to 'GDFunction::get_name() const'
bin\tests\libtests.android.opt.debug.armv7.neon.a(test_gdscript.android.opt.debug.armv7.neon.o):test_gdscript.cpp:function TestGDScript::test(TestGDScript::TestType): error: undefined reference to 'GDFunction::get_max_stack_size() const'
bin\tests\libtests.android.opt.debug.armv7.neon.a(test_gdscript.android.opt.debug.armv7.neon.o):test_gdscript.cpp:function TestGDScript::test(TestGDScript::TestType): error: undefined reference to 'GDParser::get_error_line() const'
bin\tests\libtests.android.opt.debug.armv7.neon.a(test_gdscript.android.opt.debug.armv7.neon.o):test_gdscript.cpp:function TestGDScript::test(TestGDScript::TestType): error: undefined reference to 'GDParser::get_error_column() const'
bin\tests\libtests.android.opt.debug.armv7.neon.a(test_gdscript.android.opt.debug.armv7.neon.o):test_gdscript.cpp:function TestGDScript::test(TestGDScript::TestType): error: undefined reference to 'GDParser::get_error() const'
bin\tests\libtests.android.opt.debug.armv7.neon.a(test_gdscript.android.opt.debug.armv7.neon.o):test_gdscript.cpp:function TestGDScript::test(TestGDScript::TestType): error: undefined reference to 'GDScript::get_base() const'
bin\tests\libtests.android.opt.debug.armv7.neon.a(test_gdscript.android.opt.debug.armv7.neon.o):test_gdscript.cpp:function TestGDScript::test(TestGDScript::TestType): error: undefined reference to 'GDParser::~GDParser()'
bin\tests\libtests.android.opt.debug.armv7.neon.a(test_gdscript.android.opt.debug.armv7.neon.o):test_gdscript.cpp:function TestGDScript::test(TestGDScript::TestType): error: undefined reference to 'GDFunction::get_global_name(int) const'
bin\tests\libtests.android.opt.debug.armv7.neon.a(test_gdscript.android.opt.debug.armv7.neon.o):test_gdscript.cpp:function TestGDScript::test(TestGDScript::TestType): error: undefined reference to 'GDFunctions::get_func_name(GDFunctions::Function)'
bin\tests\libtests.android.opt.debug.armv7.neon.a(test_gdscript.android.opt.debug.armv7.neon.o):test_gdscript.cpp:function TestGDScript::test(TestGDScript::TestType): error: undefined reference to 'GDFunction::get_global_name(int) const'
bin\tests\libtests.android.opt.debug.armv7.neon.a(test_gdscript.android.opt.debug.armv7.neon.o):test_gdscript.cpp:function TestGDScript::test(TestGDScript::TestType): error: undefined reference to 'GDParser::get_error_line() const'
bin\tests\libtests.android.opt.debug.armv7.neon.a(test_gdscript.android.opt.debug.armv7.neon.o):test_gdscript.cpp:function TestGDScript::test(TestGDScript::TestType): error: undefined reference to 'GDParser::get_error_column() const'
bin\tests\libtests.android.opt.debug.armv7.neon.a(test_gdscript.android.opt.debug.armv7.neon.o):test_gdscript.cpp:function TestGDScript::test(TestGDScript::TestType): error: undefined reference to 'GDParser::get_error() const'
bin\tests\libtests.android.opt.debug.armv7.neon.a(test_gdscript.android.opt.debug.armv7.neon.o):test_gdscript.cpp:function TestGDScript::test(TestGDScript::TestType): error: undefined reference to 'GDFunction::get_default_argument_addr(int) const'
bin\tests\libtests.android.opt.debug.armv7.neon.a(test_gdscript.android.opt.debug.armv7.neon.o):test_gdscript.cpp:function TestGDScript::test(TestGDScript::TestType): error: undefined reference to 'GDFunction::get_default_argument_count() const'
bin\tests\libtests.android.opt.debug.armv7.neon.a(test_gdscript.android.opt.debug.armv7.neon.o):test_gdscript.cpp:function TestGDScript::test(TestGDScript::TestType): error: undefined reference to 'GDParser::~GDParser()'
bin\tests\libtests.android.opt.debug.armv7.neon.a(test_gdscript.android.opt.debug.armv7.neon.o):test_gdscript.cpp:function TestGDScript::test(TestGDScript::TestType): error: undefined reference to 'GDCompiler::get_error_line() const'
bin\tests\libtests.android.opt.debug.armv7.neon.a(test_gdscript.android.opt.debug.armv7.neon.o):test_gdscript.cpp:function TestGDScript::test(TestGDScript::TestType): error: undefined reference to 'GDCompiler::get_error_column() const'
bin\tests\libtests.android.opt.debug.armv7.neon.a(test_gdscript.android.opt.debug.armv7.neon.o):test_gdscript.cpp:function TestGDScript::test(TestGDScript::TestType): error: undefined reference to 'GDCompiler::get_error() const'
collect2.exe: error: ld returned 1 exit status

=====
scons: *** [bin\libgodot.android.opt.debug.armv7.neon.so] Error 1
scons: building terminated because of errors.

@vnen
Copy link
Member

vnen commented Oct 16, 2016

I can confirm this.

I wonder why this has no problem on Linux but fails on Windows. Is something defined that depends on the host platform?

@akien-mga
Copy link
Member

I don't know of any platform-specific configuration at play here, so I guess we might be facing the infamous "Windows shell can't handle long lines properly" bug...

@vnen
Copy link
Member

vnen commented Oct 18, 2016

This seems to be some name-mangling issue, but I have yet to pinpoint the cause.

@Barina
Copy link

Barina commented Oct 19, 2016

Any workaround?

@RandomShaper
Copy link
Member

I'm having the same issue.

I've checked the command lines I expect to be the longest as they are being received by the different processes (collect2, ld, etc.) with a monitoring tool and them all seem complete, so that couldn't be the problem.

Finally I've cleaned my working copy by running git clean -dxf (which removes both files and folders including those ignored like *.o and *.a). (It's advisable to run git clean -dxn first for a dry run to check what will be removed.) Tried to build again with no luck.

@RandomShaper
Copy link
Member

I've rechecked and I can confirm that the worst case (putting together the modules library) is handled nicely by SCons by splitting the arguments intended for ar into multiple calls for each of the 1,016 (!) needed object files.

@vnen
Copy link
Member

vnen commented Oct 28, 2016

The error is on the final linking phase, which has much less arguments than some other parts of the build. I don't think this has any relation to the "number of arguments" problem. It's related to name mangling AFAICT, but I still don't know why it fails only with the Windows compiler.

@RandomShaper
Copy link
Member

I was hoping #6958 would make things work again, but the librarian and the linker are still GCC's so no luck yet.

@RandomShaper
Copy link
Member

@akien-mga, your intuition was right. The SCons workaround for the limited command line length made this fail. Hope it's solved with the PR.

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

Successfully merging a pull request may close this issue.

5 participants