kivy-ios: Xcode cannot build my app

Hi, I’m running a very simple code with kivy on iOS but the Xcode project created fails to build. In particular, the linking process is failing. I’m getting a lot of Undefined symbols for architecture armv7.

I’m not able to build it for a simulator either.

The kivy installation is working fine since I’m able to run the application from the terminal. I’m using Xcode 9.2 and I disable the bitcode in the build options.

Bellow is the full log of the problem.

ld: warning: directory not found for option '-F/Users/nico/Codes/test/kivy-ios/dist/frameworks'
Undefined symbols for architecture armv7:
  "operator delete[](void*)", referenced from:
      CSoundFile::ReadAMF(unsigned char const*, unsigned int) in libsdl2_mixer.a(load_amf.o)
      AMSUnpack(char const*, unsigned int, char*, unsigned int, char) in libsdl2_mixer.a(load_ams.o)
      CSoundFile::ReadMDL(unsigned char const*, unsigned int) in libsdl2_mixer.a(load_mdl.o)
      CSoundFile::Destroy() in libsdl2_mixer.a(sndfile.o)
      CSoundFile::FreePattern(void*) in libsdl2_mixer.a(sndfile.o)
      CSoundFile::SetPatternName(unsigned int, char const*) in libsdl2_mixer.a(sndfile.o)
  "operator delete(void*)", referenced from:
      _ModPlug_Load in libsdl2_mixer.a(modplug.o)
      _ModPlug_Unload in libsdl2_mixer.a(modplug.o)
      CSoundFile::Destroy() in libsdl2_mixer.a(sndfile.o)
  "operator new[](unsigned long)", referenced from:
      CSoundFile::Read669(unsigned char const*, unsigned int) in libsdl2_mixer.a(load_669.o)
      CSoundFile::ReadAMF(unsigned char const*, unsigned int) in libsdl2_mixer.a(load_amf.o)
      CSoundFile::ReadAMS(unsigned char const*, unsigned int) in libsdl2_mixer.a(load_ams.o)
      CSoundFile::ReadAMS2(unsigned char const*, unsigned int) in libsdl2_mixer.a(load_ams.o)
      AMSUnpack(char const*, unsigned int, char*, unsigned int, char) in libsdl2_mixer.a(load_ams.o)
      CSoundFile::ReadDMF(unsigned char const*, unsigned int) in libsdl2_mixer.a(load_dmf.o)
      CSoundFile::ReadFAR(unsigned char const*, unsigned int) in libsdl2_mixer.a(load_far.o)
      ...
  "operator new(unsigned long)", referenced from:
      CSoundFile::ReadAMS2(unsigned char const*, unsigned int) in libsdl2_mixer.a(load_ams.o)
      CSoundFile::ReadDBM(unsigned char const*, unsigned int) in libsdl2_mixer.a(load_dbm.o)
      CSoundFile::ReadIT(unsigned char const*, unsigned int) in libsdl2_mixer.a(load_it.o)
      CSoundFile::ReadMDL(unsigned char const*, unsigned int) in libsdl2_mixer.a(load_mdl.o)
      CSoundFile::ReadMT2(unsigned char const*, unsigned int) in libsdl2_mixer.a(load_mt2.o)
      _PAT_Load_Instruments in libsdl2_mixer.a(load_pat.o)
      CSoundFile::ReadPAT(unsigned char const*, unsigned int) in libsdl2_mixer.a(load_pat.o)
      ...
  "___gxx_personality_sj0", referenced from:
      _ModPlug_Load in libsdl2_mixer.a(modplug.o)
      _ModPlug_Unload in libsdl2_mixer.a(modplug.o)
  "_adler32", referenced from:
      _PyZlib_adler32 in libpython.a(zlibmodule.o)
     (maybe you meant: _tdefl_get_adler32, _mz_adler32 )
  "_crc32", referenced from:
      _PyZlib_crc32 in libpython.a(zlibmodule.o)
     (maybe you meant: _mz_crc32)
  "_deflate", referenced from:
      _PyZlib_objcompress in libpython.a(zlibmodule.o)
      _PyZlib_flush in libpython.a(zlibmodule.o)
      _PyZlib_compress in libpython.a(zlibmodule.o)
  "_deflateCopy", referenced from:
      _PyZlib_copy in libpython.a(zlibmodule.o)
  "_deflateEnd", referenced from:
      _Comp_dealloc in libpython.a(zlibmodule.o)
      _PyZlib_flush in libpython.a(zlibmodule.o)
      _PyZlib_compress in libpython.a(zlibmodule.o)
  "_deflateInit2_", referenced from:
      _PyZlib_compressobj in libpython.a(zlibmodule.o)
  "_deflateInit_", referenced from:
      _PyZlib_compress in libpython.a(zlibmodule.o)
  "_inflate", referenced from:
      _FT_Gzip_Uncompress in libfreetype.a(ftgzip.o)
      _ft_gzip_file_fill_output in libfreetype.a(ftgzip.o)
      _PyZlib_objdecompress in libpython.a(zlibmodule.o)
      _PyZlib_unflush in libpython.a(zlibmodule.o)
      _PyZlib_decompress in libpython.a(zlibmodule.o)
  "_inflateCopy", referenced from:
      _PyZlib_uncopy in libpython.a(zlibmodule.o)
  "_inflateEnd", referenced from:
      _FT_Stream_OpenGzip in libfreetype.a(ftgzip.o)
      _ft_gzip_stream_close in libfreetype.a(ftgzip.o)
      _FT_Gzip_Uncompress in libfreetype.a(ftgzip.o)
      _Decomp_dealloc in libpython.a(zlibmodule.o)
      _PyZlib_unflush in libpython.a(zlibmodule.o)
      _PyZlib_decompress in libpython.a(zlibmodule.o)
  "_inflateInit2_", referenced from:
      _FT_Stream_OpenGzip in libfreetype.a(ftgzip.o)
      _FT_Gzip_Uncompress in libfreetype.a(ftgzip.o)
      _PyZlib_decompress in libpython.a(zlibmodule.o)
      _PyZlib_decompressobj in libpython.a(zlibmodule.o)
  "_inflateReset", referenced from:
      _FT_Stream_OpenGzip in libfreetype.a(ftgzip.o)
      _ft_gzip_file_io in libfreetype.a(ftgzip.o)
  "_sqlite3_aggregate_context", referenced from:
      __pysqlite_final_callback in libpython.a(connection.o)
      __pysqlite_step_callback in libpython.a(connection.o)
  "_sqlite3_bind_blob", referenced from:
      _pysqlite_statement_bind_parameter in libpython.a(statement.o)
  "_sqlite3_bind_double", referenced from:
      _pysqlite_statement_bind_parameter in libpython.a(statement.o)
  "_sqlite3_bind_int64", referenced from:
      _pysqlite_statement_bind_parameter in libpython.a(statement.o)
  "_sqlite3_bind_null", referenced from:
      _pysqlite_statement_bind_parameter in libpython.a(statement.o)
  "_sqlite3_bind_parameter_count", referenced from:
      _pysqlite_statement_bind_parameters in libpython.a(statement.o)
      _pysqlite_statement_recompile in libpython.a(statement.o)
  "_sqlite3_bind_parameter_name", referenced from:
      _pysqlite_statement_bind_parameters in libpython.a(statement.o)
  "_sqlite3_bind_text", referenced from:
      _pysqlite_statement_bind_parameter in libpython.a(statement.o)
  "_sqlite3_busy_timeout", referenced from:
      _pysqlite_connection_init in libpython.a(connection.o)
  "_sqlite3_changes", referenced from:
      __pysqlite_query_execute in libpython.a(cursor.o)
  "_sqlite3_close", referenced from:
      _pysqlite_connection_dealloc in libpython.a(connection.o)
      _pysqlite_connection_close in libpython.a(connection.o)
  "_sqlite3_column_blob", referenced from:
      __pysqlite_fetch_one_row in libpython.a(cursor.o)
  "_sqlite3_column_bytes", referenced from:
      __pysqlite_fetch_one_row in libpython.a(cursor.o)
  "_sqlite3_column_count", referenced from:
      _pysqlite_build_row_cast_map in libpython.a(cursor.o)
      __pysqlite_query_execute in libpython.a(cursor.o)
  "_sqlite3_column_decltype", referenced from:
      _pysqlite_build_row_cast_map in libpython.a(cursor.o)
  "_sqlite3_column_double", referenced from:
      __pysqlite_fetch_one_row in libpython.a(cursor.o)
  "_sqlite3_column_int64", referenced from:
      __pysqlite_fetch_one_row in libpython.a(cursor.o)
  "_sqlite3_column_name", referenced from:
      _pysqlite_build_row_cast_map in libpython.a(cursor.o)
      __pysqlite_fetch_one_row in libpython.a(cursor.o)
      __pysqlite_query_execute in libpython.a(cursor.o)
  "_sqlite3_column_text", referenced from:
      __pysqlite_fetch_one_row in libpython.a(cursor.o)
  "_sqlite3_column_type", referenced from:
      __pysqlite_fetch_one_row in libpython.a(cursor.o)
  "_sqlite3_complete", referenced from:
      _module_complete in libpython.a(module.o)
  "_sqlite3_create_collation", referenced from:

Ld /Users/nico/Library/Developer/Xcode/DerivedData/ticker-ejkudzquecpgreeuclxbrhbcykyt/Build/Intermediates.noindex/ticker.build/Debug-iphoneos/ticker.build/Objects-normal/arm64/ticker normal arm64
    cd /Users/nico/Codes/test/kivy-ios/ticker-ios
    export IPHONEOS_DEPLOYMENT_TARGET=8.1
    export PATH="/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/usr/bin:/Applications/Xcode.app/Contents/Developer/usr/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"
    /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/clang -arch arm64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS11.2.sdk -L/Users/nico/Library/Developer/Xcode/DerivedData/ticker-ejkudzquecpgreeuclxbrhbcykyt/Build/Products/Debug-iphoneos -L/Users/nico/Codes/test/kivy-ios/ticker-ios/../dist/lib -L/Users/nico/Codes/test/kivy-ios/dist/lib -F/Users/nico/Library/Developer/Xcode/DerivedData/ticker-ejkudzquecpgreeuclxbrhbcykyt/Build/Products/Debug-iphoneos -F/Users/nico/Codes/test/kivy-ios/dist/frameworks -filelist /Users/nico/Library/Developer/Xcode/DerivedData/ticker-ejkudzquecpgreeuclxbrhbcykyt/Build/Intermediates.noindex/ticker.build/Debug-iphoneos/ticker.build/Objects-normal/arm64/ticker.LinkFileList -miphoneos-version-min=8.1 -Xlinker -object_path_lto -Xlinker /Users/nico/Library/Developer/Xcode/DerivedData/ticker-ejkudzquecpgreeuclxbrhbcykyt/Build/Intermediates.noindex/ticker.build/Debug-iphoneos/ticker.build/Objects-normal/arm64/ticker_lto.o -Xlinker -export_dynamic -Xlinker -no_deduplicate -fobjc-link-runtime -all_load -framework AudioToolbox -framework ImageIO -framework MessageUI -framework UIKit -framework OpenGLES -framework CoreMotion -framework MobileCoreServices -framework CoreGraphics -framework Accelerate -framework QuartzCore -lkivy -lfreetype -lios -lffi -lsdl2_mixer -lpython -lsdl2 -lsdl2_ttf -lpyobjus -lsdl2_image -Xlinker -dependency_info -Xlinker /Users/nico/Library/Developer/Xcode/DerivedData/ticker-ejkudzquecpgreeuclxbrhbcykyt/Build/Intermediates.noindex/ticker.build/Debug-iphoneos/ticker.build/Objects-normal/arm64/ticker_dependency_info.dat -o /Users/nico/Library/Developer/Xcode/DerivedData/ticker-ejkudzquecpgreeuclxbrhbcykyt/Build/Intermediates.noindex/ticker.build/Debug-iphoneos/ticker.build/Objects-normal/arm64/ticker

ld: warning: directory not found for option '-F/Users/nico/Codes/test/kivy-ios/dist/frameworks'
Undefined symbols for architecture arm64:
  "operator delete[](void*)", referenced from:
      CSoundFile::ReadAMF(unsigned char const*, unsigned int) in libsdl2_mixer.a(load_amf.o)
      AMSUnpack(char const*, unsigned int, char*, unsigned int, char) in libsdl2_mixer.a(load_ams.o)
      CSoundFile::ReadMDL(unsigned char const*, unsigned int) in libsdl2_mixer.a(load_mdl.o)
      CSoundFile::Destroy() in libsdl2_mixer.a(sndfile.o)
      CSoundFile::FreePattern(void*) in libsdl2_mixer.a(sndfile.o)
      CSoundFile::SetPatternName(unsigned int, char const*) in libsdl2_mixer.a(sndfile.o)
  "operator delete(void*)", referenced from:
      _ModPlug_Load in libsdl2_mixer.a(modplug.o)
      _ModPlug_Unload in libsdl2_mixer.a(modplug.o)
      CSoundFile::Destroy() in libsdl2_mixer.a(sndfile.o)
  "operator new[](unsigned long)", referenced from:
      CSoundFile::Read669(unsigned char const*, unsigned int) in libsdl2_mixer.a(load_669.o)
      CSoundFile::ReadAMF(unsigned char const*, unsigned int) in libsdl2_mixer.a(load_amf.o)
      CSoundFile::ReadAMS(unsigned char const*, unsigned int) in libsdl2_mixer.a(load_ams.o)
      CSoundFile::ReadAMS2(unsigned char const*, unsigned int) in libsdl2_mixer.a(load_ams.o)
      AMSUnpack(char const*, unsigned int, char*, unsigned int, char) in libsdl2_mixer.a(load_ams.o)
      CSoundFile::ReadDMF(unsigned char const*, unsigned int) in libsdl2_mixer.a(load_dmf.o)
      CSoundFile::ReadFAR(unsigned char const*, unsigned int) in libsdl2_mixer.a(load_far.o)
      ...
  "operator new(unsigned long)", referenced from:
      CSoundFile::ReadAMS2(unsigned char const*, unsigned int) in libsdl2_mixer.a(load_ams.o)
      CSoundFile::ReadDBM(unsigned char const*, unsigned int) in libsdl2_mixer.a(load_dbm.o)
      CSoundFile::ReadIT(unsigned char const*, unsigned int) in libsdl2_mixer.a(load_it.o)
      CSoundFile::ReadMDL(unsigned char const*, unsigned int) in libsdl2_mixer.a(load_mdl.o)
      CSoundFile::ReadMT2(unsigned char const*, unsigned int) in libsdl2_mixer.a(load_mt2.o)
      _PAT_Load_Instruments in libsdl2_mixer.a(load_pat.o)
      CSoundFile::ReadPAT(unsigned char const*, unsigned int) in libsdl2_mixer.a(load_pat.o)
      ...
  "___gxx_personality_v0", referenced from:
      _ModPlug_Load in libsdl2_mixer.a(modplug.o)
      _ModPlug_Unload in libsdl2_mixer.a(modplug.o)
  "_adler32", referenced from:
      _PyZlib_adler32 in libpython.a(zlibmodule.o)
     (maybe you meant: _tdefl_get_adler32, _mz_adler32 )
  "_crc32", referenced from:
      _PyZlib_crc32 in libpython.a(zlibmodule.o)
     (maybe you meant: _mz_crc32)
  "_deflate", referenced from:
      _PyZlib_objcompress in libpython.a(zlibmodule.o)
      _PyZlib_flush in libpython.a(zlibmodule.o)
      _PyZlib_compress in libpython.a(zlibmodule.o)
  "_deflateCopy", referenced from:
      _PyZlib_copy in libpython.a(zlibmodule.o)
  "_deflateEnd", referenced from:
      _Comp_dealloc in libpython.a(zlibmodule.o)
      _PyZlib_flush in libpython.a(zlibmodule.o)
      _PyZlib_compress in libpython.a(zlibmodule.o)
  "_deflateInit2_", referenced from:
      _PyZlib_compressobj in libpython.a(zlibmodule.o)
  "_deflateInit_", referenced from:
      _PyZlib_compress in libpython.a(zlibmodule.o)
  "_inflate", referenced from:
      _FT_Gzip_Uncompress in libfreetype.a(ftgzip.o)
      _ft_gzip_file_fill_output in libfreetype.a(ftgzip.o)
      _PyZlib_objdecompress in libpython.a(zlibmodule.o)
      _PyZlib_unflush in libpython.a(zlibmodule.o)
      _PyZlib_decompress in libpython.a(zlibmodule.o)
  "_inflateCopy", referenced from:
      _PyZlib_uncopy in libpython.a(zlibmodule.o)
  "_inflateEnd", referenced from:
      _FT_Stream_OpenGzip in libfreetype.a(ftgzip.o)
      _ft_gzip_stream_close in libfreetype.a(ftgzip.o)
      _FT_Gzip_Uncompress in libfreetype.a(ftgzip.o)
      _Decomp_dealloc in libpython.a(zlibmodule.o)
      _PyZlib_unflush in libpython.a(zlibmodule.o)
      _PyZlib_decompress in libpython.a(zlibmodule.o)
  "_inflateInit2_", referenced from:
      _FT_Stream_OpenGzip in libfreetype.a(ftgzip.o)
      _FT_Gzip_Uncompress in libfreetype.a(ftgzip.o)
      _PyZlib_decompress in libpython.a(zlibmodule.o)
      _PyZlib_decompressobj in libpython.a(zlibmodule.o)
  "_inflateReset", referenced from:
      _FT_Stream_OpenGzip in libfreetype.a(ftgzip.o)
      _ft_gzip_file_io in libfreetype.a(ftgzip.o)
  "_sqlite3_aggregate_context", referenced from:
      __pysqlite_final_callback in libpython.a(connection.o)
      __pysqlite_step_callback in libpython.a(connection.o)
  "_sqlite3_bind_blob", referenced from:
      _pysqlite_statement_bind_parameter in libpython.a(statement.o)
  "_sqlite3_bind_double", referenced from:
      _pysqlite_statement_bind_parameter in libpython.a(statement.o)
  "_sqlite3_bind_int64", referenced from:
      _pysqlite_statement_bind_parameter in libpython.a(statement.o)
  "_sqlite3_bind_null", referenced from:
      _pysqlite_statement_bind_parameter in libpython.a(statement.o)
  "_sqlite3_bind_parameter_count", referenced from:
      _pysqlite_statement_bind_parameters in libpython.a(statement.o)
      _pysqlite_statement_recompile in libpython.a(statement.o)
  "_sqlite3_bind_parameter_name", referenced from:
      _pysqlite_statement_bind_parameters in libpython.a(statement.o)
  "_sqlite3_bind_text", referenced from:
      _pysqlite_statement_bind_parameter in libpython.a(statement.o)
  "_sqlite3_busy_timeout", referenced from:
      _pysqlite_connection_init in libpython.a(connection.o)
  "_sqlite3_changes", referenced from:
      __pysqlite_query_execute in libpython.a(cursor.o)
  "_sqlite3_close", referenced from:
      _pysqlite_connection_dealloc in libpython.a(connection.o)
      _pysqlite_connection_close in libpython.a(connection.o)
  "_sqlite3_column_blob", referenced from:
      __pysqlite_fetch_one_row in libpython.a(cursor.o)
  "_sqlite3_column_bytes", referenced from:
      __pysqlite_fetch_one_row in libpython.a(cursor.o)
  "_sqlite3_column_count", referenced from:
      _pysqlite_build_row_cast_map in libpython.a(cursor.o)
      __pysqlite_query_execute in libpython.a(cursor.o)
  "_sqlite3_column_decltype", referenced from:
      _pysqlite_build_row_cast_map in libpython.a(cursor.o)
  "_sqlite3_column_double", referenced from:
      __pysqlite_fetch_one_row in libpython.a(cursor.o)
  "_sqlite3_column_int64", referenced from:
      __pysqlite_fetch_one_row in libpython.a(cursor.o)
  "_sqlite3_column_name", referenced from:
      _pysqlite_build_row_cast_map in libpython.a(cursor.o)
      __pysqlite_fetch_one_row in libpython.a(cursor.o)
      __pysqlite_query_execute in libpython.a(cursor.o)
  "_sqlite3_column_text", referenced from:
      __pysqlite_fetch_one_row in libpython.a(cursor.o)
  "_sqlite3_column_type", referenced from:
      __pysqlite_fetch_one_row in libpython.a(cursor.o)
  "_sqlite3_complete", referenced from:
      _module_complete in libpython.a(module.o)
  "_sqlite3_create_collation", referenced from:
      _pysqlite_connection_create_collation in libpython.a(connection.o)
  "_sqlite3_create_function", referenced from:
      _pysqlite_connection_create_function in libpython.a(connection.o)
      _pysqlite_connection_create_aggregate in libpython.a(connection.o)
  "_sqlite3_data_count", referenced from:
      __pysqlite_fetch_one_row in libpython.a(cursor.o)
  "_sqlite3_enable_shared_cache", referenced from:
      _module_enable_shared_cache in libpython.a(module.o)
  "_sqlite3_errcode", referenced from:
      __pysqlite_seterror in libpython.a(util.o)
  "_sqlite3_errmsg", referenced from:
      __pysqlite_seterror in libpython.a(util.o)
  "_sqlite3_finalize", referenced from:
      __pysqlite_connection_begin in libpython.a(connection.o)
      _pysqlite_connection_commit in libpython.a(connection.o)
      _pysqlite_connection_rollback in libpython.a(connection.o)
      _pysqlite_statement_create in libpython.a(statement.o)
      _pysqlite_statement_recompile in libpython.a(statement.o)
      _pysqlite_statement_finalize in libpython.a(statement.o)
      _pysqlite_statement_dealloc in libpython.a(statement.o)
      ...
  "_sqlite3_get_autocommit", referenced from:
      __pysqlite_query_execute in libpython.a(cursor.o)
  "_sqlite3_interrupt", referenced from:
      _pysqlite_connection_interrupt in libpython.a(connection.o)
  "_sqlite3_last_insert_rowid", referenced from:
      __pysqlite_query_execute in libpython.a(cursor.o)
  "_sqlite3_libversion", referenced from:
      _init_sqlite3 in libpython.a(module.o)
  "_sqlite3_open", referenced from:
      _pysqlite_connection_init in libpython.a(connection.o)
  "_sqlite3_prepare", referenced from:
      __pysqlite_connection_begin in libpython.a(connection.o)
      _pysqlite_connection_commit in libpython.a(connection.o)
      _pysqlite_connection_rollback in libpython.a(connection.o)
      _pysqlite_statement_create in libpython.a(statement.o)
      _pysqlite_statement_recompile in libpython.a(statement.o)
      _pysqlite_cursor_executescript in libpython.a(cursor.o)
  "_sqlite3_progress_handler", referenced from:
      _pysqlite_connection_set_progress_handler in libpython.a(connection.o)
  "_sqlite3_reset", referenced from:
      _pysqlite_statement_reset in libpython.a(statement.o)
      __pysqlite_seterror in libpython.a(util.o)
  "_sqlite3_result_blob", referenced from:
      __pysqlite_set_result in libpython.a(connection.o)
  "_sqlite3_result_double", referenced from:
      __pysqlite_set_result in libpython.a(connection.o)
  "_sqlite3_result_error", referenced from:
      __pysqlite_func_callback in libpython.a(connection.o)
      __pysqlite_final_callback in libpython.a(connection.o)
      __pysqlite_step_callback in libpython.a(connection.o)
  "_sqlite3_result_int64", referenced from:
      __pysqlite_set_result in libpython.a(connection.o)
  "_sqlite3_result_null", referenced from:
      __pysqlite_set_result in libpython.a(connection.o)
  "_sqlite3_result_text", referenced from:
      __pysqlite_set_result in libpython.a(connection.o)
  "_sqlite3_set_authorizer", referenced from:
      _pysqlite_connection_set_authorizer in libpython.a(connection.o)
  "_sqlite3_step", referenced from:
      _pysqlite_step in libpython.a(util.o)
  "_sqlite3_total_changes", referenced from:
      _pysqlite_connection_get_total_changes in libpython.a(connection.o)
  "_sqlite3_transfer_bindings", referenced from:
      _pysqlite_statement_recompile in libpython.a(statement.o)
  "_sqlite3_user_data", referenced from:
      __pysqlite_func_callback in libpython.a(connection.o)
      __pysqlite_step_callback in libpython.a(connection.o)
  "_sqlite3_value_blob", referenced from:
      __pysqlite_build_py_params in libpython.a(connection.o)
  "_sqlite3_value_bytes", referenced from:
      __pysqlite_build_py_params in libpython.a(connection.o)
  "_sqlite3_value_double", referenced from:
      __pysqlite_build_py_params in libpython.a(connection.o)
  "_sqlite3_value_int64", referenced from:
      __pysqlite_build_py_params in libpython.a(connection.o)
  "_sqlite3_value_text", referenced from:
      __pysqlite_build_py_params in libpython.a(connection.o)
  "_sqlite3_value_type", referenced from:
      __pysqlite_build_py_params in libpython.a(connection.o)
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

About this issue

  • Original URL
  • State: closed
  • Created 6 years ago
  • Reactions: 1
  • Comments: 17 (3 by maintainers)

Most upvoted comments

I’ve found it - you need to ensure that all of the relevant libraries are included in the XCode project. Most of them are added automatically, but you have to manually add a few more.

When the build process (./toolchain.py build kivy), at the end it will provide a long list of items that need to be in the final project. There are four in particular that you need to add: Ensure libc++ is in the project Ensure libz is in the project Ensure libsqlite3 is in the project Ensure libbz2 is in the project Go to XCode, Project Settings --> Build Phases --> Link Binary with Libraries and make sure each of these are added.

Once this was done, it compiled correctly.

ld: warning: directory not found for option '-F/Users/zjt/Project/kivy/kivy-ios/dist/frameworks' Undefined symbols for architecture arm64: "_SDL_CreateShapedWindow", referenced from: ___pyx_pw_4kivy_4core_6window_12_window_sdl2_18_WindowSDL2Storage_7setup_window in libkivy.a(_window_sdl2.so.o) "_SDL_GetShapedWindowMode", referenced from: ___pyx_pw_4kivy_4core_6window_12_window_sdl2_18_WindowSDL2Storage_51get_shaped_mode in libkivy.a(_window_sdl2.so.o) "_SDL_IsShapedWindow", referenced from: ___pyx_pw_4kivy_4core_6window_12_window_sdl2_18_WindowSDL2Storage_47is_window_shaped in libkivy.a(_window_sdl2.so.o) "_SDL_SetWindowShape", referenced from: ___pyx_pw_4kivy_4core_6window_12_window_sdl2_18_WindowSDL2Storage_49set_shape in libkivy.a(_window_sdl2.so.o) ld: symbol(s) not found for architecture arm64 clang: error: linker command failed with exit code 1 (use -v to see invocation)

what libraries need to add ?

Same issue here, besides, I also get another warning:

warning: could not create compact unwind for _ffi_call_unix64: does not use RBP or RSP based frame