beeware / Python-Apple-support

A meta-package for building a version of Python that can be embedded into a macOS, iOS, tvOS or watchOS project.
MIT License
1.1k stars 159 forks source link

Undefined symbols for architecture x86_64 although using Mac M1 #149

Closed yehudahs closed 2 years ago

yehudahs commented 2 years ago

Describe the bug trying to build the project for iOS (by running "make iOS") on mac M1, getting the next error (for some reason it says I am building for macOS-x86_64 but attempting to link with file built for macOS-arm64): ld: warning: directory not found for option '-L/opt/homebrew/opt/binutils/lib' ld: warning: directory not found for option '-L/opt/homebrew/opt/binutils/lib' ld: warning: dylib (/opt/local/lib/libsqlite3.dylib) was built for newer macOS version (12.0) than being linked (11.0) ld: warning: dylib (/opt/local/lib/libz.dylib) was built for newer macOS version (12.0) than being linked (11.0) ld: warning: dylib (/opt/local/lib/libffi.dylib) was built for newer macOS version (12.0) than being linked (11.0) ld: warning: dylib (/opt/local/lib/libcurses.dylib) was built for newer macOS version (12.0) than being linked (11.0) ld: warning: dylib (/opt/local/lib/libtermcap.dylib) was built for newer macOS version (12.0) than being linked (11.0) ld: warning: dylib (/opt/local/lib/libpanel.dylib) was built for newer macOS version (12.0) than being linked (11.0) ld: warning: dylib (/opt/local/lib/libncurses.dylib) was built for newer macOS version (12.0) than being linked (11.0) ld: warning: directory not found for option '-L/opt/homebrew/opt/binutils/lib' ld: warning: directory not found for option '-L/opt/homebrew/opt/binutils/lib' ld: warning: ignoring file /opt/local/lib/libsqlite3.dylib, building for macOS-x86_64 but attempting to link with file built for macOS-arm64 ld: warning: ignoring file /opt/local/lib/libz.dylib, building for macOS-x86_64 but attempting to link with file built for macOS-arm64 ld: warning: ignoring file /opt/local/lib/libffi.dylib, building for macOS-x86_64 but attempting to link with file built for macOS-arm64 ld: warning: ignoring file /opt/local/lib/libcurses.dylib, building for macOS-x86_64 but attempting to link with file built for macOS-arm64 ld: warning: ignoring file /opt/local/lib/libtermcap.dylib, building for macOS-x86_64 but attempting to link with file built for macOS-arm64 ld: warning: ignoring file /opt/local/lib/libpanel.dylib, building for macOS-x86_64 but attempting to link with file built for macOS-arm64 ld: warning: ignoring file /opt/local/lib/libncurses.dylib, building for macOS-x86_64 but attempting to link with file built for macOS-arm64 Undefined symbols for architecture x86_64: "_COLORS", referenced from: curses_color_content in _cursesmodule.o __curses_init_color in _cursesmodule.o curses_init_pair in _cursesmodule.o curses_start_color in _cursesmodule.o "_COLOR_PAIRS", referenced from: __curses_init_pair in _cursesmodule.o curses_pair_content in _cursesmodule.o curses_start_color in _cursesmodule.o "_COLS", referenced from: curses_initscr in _cursesmodule.o _update_lines_cols in _cursesmodule.o "_ESCDELAY", referenced from: curses_get_escdelay in _cursesmodule.o "_LINES", referenced from: curses_initscr in _cursesmodule.o _update_lines_cols in _cursesmodule.o "_TABSIZE", referenced from: curses_get_tabsize in _cursesmodule.o "_acs_map", referenced from: curses_initscr in _cursesmodule.o "_adler32", referenced from: _zlib_adler32 in zlibmodule.o "_baudrate", referenced from: curses_baudrate in _cursesmodule.o "_beep", referenced from: curses_beep in _cursesmodule.o "_bottom_panel", referenced from: curses_panel_panel_bottom in _curses_panel.o "_can_change_color", referenced from: curses_can_change_color in _cursesmodule.o "_cbreak", referenced from: curses_cbreak in _cursesmodule.o "_clearok", referenced from: _PyCursesWindow_clearok in _cursesmodule.o "_color_content", referenced from: curses_color_content in _cursesmodule.o "_copywin", referenced from: curses_window_overlay in _cursesmodule.o __curses_window_overwrite in _cursesmodule.o "_crc32", referenced from: _binascii_crc32 in binascii.o _zlib_crc32 in zlibmodule.o (maybe you meant: _lzma_crc32_table, _lzma_crc32 , _BZ2_crc32Table ) "_curs_set", referenced from: curses_curs_set in _cursesmodule.o "_def_prog_mode", referenced from: curses_def_prog_mode in _cursesmodule.o "_def_shell_mode", referenced from: __curses_def_shell_mode in _cursesmodule.o "_deflate", referenced from: _zlib_compress in zlibmodule.o _zlib_Compress_compress in zlibmodule.o _zlib_Compress_flush in zlibmodule.o "_deflateCopy", referenced from: _zlib_Compress_copy_impl in zlibmodule.o "_deflateEnd", referenced from: _zlib_compress in zlibmodule.o _Comp_dealloc in zlibmodule.o _zlib_Compress_flush in zlibmodule.o "deflateInit2", referenced from: _zlib_compress in zlibmodule.o _zlib_compressobj in zlibmodule.o "_deflateSetDictionary", referenced from: _zlib_compressobj in zlibmodule.o "_del_panel", referenced from: _PyCursesPanel_Dealloc in _curses_panel.o "_delay_output", referenced from: curses_delay_output in _cursesmodule.o "_delwin", referenced from: _PyCursesWindow_Dealloc in _cursesmodule.o "_derwin", referenced from: curses_window_derwin in _cursesmodule.o "_doupdate", referenced from: curses_doupdate in _cursesmodule.o "_echo", referenced from: curses_echo in _cursesmodule.o "_endwin", referenced from: __curses_endwin in _cursesmodule.o "_erasechar", referenced from: curses_erasechar in _cursesmodule.o "_ffi_call", referenced from: ctypes_callproc in callproc.o "_ffi_closure_alloc", referenced from: _Py_ffi_closure_alloc in malloc_closure.o (maybe you meant: _Py_ffi_closure_alloc) "_ffi_closure_free", referenced from: _Py_ffi_closure_free in malloc_closure.o (maybe you meant: _Py_ffi_closure_free) "_ffi_prep_cif", referenced from: ctypes_alloc_callback in callbacks.o ctypes_callproc in callproc.o "_ffi_prep_cif_var", referenced from: __ctypes_callproc in callproc.o "_ffi_prep_closure_loc", referenced from: ctypes_alloc_callback in callbacks.o "_ffi_type_double", referenced from: ctypes_init_fielddesc in cfield.o "_ffi_type_float", referenced from: __ctypes_init_fielddesc in cfield.o "_ffi_type_longdouble", referenced from: ctypes_init_fielddesc in cfield.o "_ffi_type_pointer", referenced from: _PyCPointerType_new in _ctypes.o _PyCArrayType_new in _ctypes.o _PyCFuncPtrType_new in _ctypes.o _PyCPointerType_from_param in _ctypes.o _PyCPointerType_paramfunc in _ctypes.o _PyCArrayType_paramfunc in _ctypes.o _c_char_p_from_param in _ctypes.o ... "_ffi_type_sint16", referenced from: ctypes_init_fielddesc in cfield.o "_ffi_type_sint32", referenced from: __ctypes_get_ffi_type in callproc.o ctypes_callproc in callproc.o _ConvParam in callproc.o ctypes_init_fielddesc in cfield.o "_ffi_type_sint64", referenced from: __ctypes_init_fielddesc in cfield.o "_ffi_type_sint8", referenced from: ctypes_init_fielddesc in cfield.o "_ffi_type_uint16", referenced from: ctypes_init_fielddesc in cfield.o "_ffi_type_uint32", referenced from: __ctypes_init_fielddesc in cfield.o "_ffi_type_uint64", referenced from: ctypes_init_fielddesc in cfield.o "_ffi_type_uint8", referenced from: ctypes_init_fielddesc in cfield.o "_ffi_type_void", referenced from: ctypes_alloc_callback in callbacks.o CallPythonObject in callbacks.o ctypes_callproc in callproc.o "_filter", referenced from: curses_filter in _cursesmodule.o (maybe you meant: _lzma_filters_update, _lzma_filter_decoder_is_supported , _lzma_next_filter_init , _lzma_filter_encoder_is_supported , _lzma_filter_flags_size , _lzma_filter_flags_decode , _lzma_filter_flags_encode , _lzma_next_filter_update , _lzma_filters_copy ) "_flash", referenced from: curses_flash in _cursesmodule.o "_flushinp", referenced from: curses_flushinp in _cursesmodule.o "_getmouse", referenced from: __curses_getmouse in _cursesmodule.o "_getwin", referenced from: curses_getwin in _cursesmodule.o "_halfdelay", referenced from: curses_halfdelay in _cursesmodule.o "_has_colors", referenced from: curses_has_colors in _cursesmodule.o "_has_ic", referenced from: curses_has_ic in _cursesmodule.o "_has_il", referenced from: __curses_has_il in _cursesmodule.o "_has_key", referenced from: curses_has_key in _cursesmodule.o "_hide_panel", referenced from: curses_panel_panel_hide in _curses_panel.o "_idcok", referenced from: _PyCursesWindow_idcok in _cursesmodule.o "_idlok", referenced from: _PyCursesWindow_idlok in _cursesmodule.o "_immedok", referenced from: _PyCursesWindow_immedok in _cursesmodule.o "_inflate", referenced from: _zlib_decompress in zlibmodule.o _zlib_Decompress_decompress in zlibmodule.o _zlib_Decompress_flush in zlibmodule.o "_inflateCopy", referenced from: _zlib_Decompress_copy_impl in zlibmodule.o "_inflateEnd", referenced from: _zlib_decompress in zlibmodule.o _Decomp_dealloc in zlibmodule.o _zlib_Decompress_flush in zlibmodule.o "inflateInit2", referenced from: _zlib_decompress in zlibmodule.o _zlib_decompressobj in zlibmodule.o "_inflateSetDictionary", referenced from: _set_inflate_zdict in zlibmodule.o "_init_color", referenced from: __curses_init_color in _cursesmodule.o "_init_pair", referenced from: curses_init_pair in _cursesmodule.o "_initscr", referenced from: curses_initscr in _cursesmodule.o "_intrflush", referenced from: curses_intrflush in _cursesmodule.o "_is_linetouched", referenced from: curses_window_is_linetouched in _cursesmodule.o "_is_term_resized", referenced from: curses_is_term_resized in _cursesmodule.o "_is_wintouched", referenced from: _PyCursesWindow_is_wintouched in _cursesmodule.o "_isendwin", referenced from: curses_isendwin in _cursesmodule.o "_keyname", referenced from: _PyInitcurses in _cursesmodule.o curses_window_getkey in _cursesmodule.o __curses_keyname in _cursesmodule.o "_keypad", referenced from: _PyCursesWindow_keypad in _cursesmodule.o "_killchar", referenced from: curses_killchar in _cursesmodule.o "_leaveok", referenced from: _PyCursesWindow_leaveok in _cursesmodule.o curses_setsyx in _cursesmodule.o "_longname", referenced from: __curses_longname in _cursesmodule.o "_meta", referenced from: curses_meta in _cursesmodule.o "_mouseinterval", referenced from: curses_mouseinterval in _cursesmodule.o "_mousemask", referenced from: curses_mousemask in _cursesmodule.o "_move_panel", referenced from: curses_panel_panel_move in _curses_panel.o "_mvderwin", referenced from: _PyCursesWindow_mvderwin in _cursesmodule.o "_mvwin", referenced from: _PyCursesWindow_mvwin in _cursesmodule.o "_napms", referenced from: curses_napms in _cursesmodule.o "_new_panel", referenced from: curses_panel_new_panel in _curses_panel.o "_newpad", referenced from: __curses_newpad in _cursesmodule.o "_newscr", referenced from: curses_getsyx in _cursesmodule.o curses_setsyx in _cursesmodule.o "_newwin", referenced from: __curses_newwin in _cursesmodule.o "_nl", referenced from: curses_nl in _cursesmodule.o "_nocbreak", referenced from: curses_cbreak in _cursesmodule.o curses_nocbreak in _cursesmodule.o "_nodelay", referenced from: _PyCursesWindow_nodelay in _cursesmodule.o "_noecho", referenced from: curses_echo in _cursesmodule.o curses_noecho in _cursesmodule.o "_nonl", referenced from: curses_nl in _cursesmodule.o curses_nonl in _cursesmodule.o "_noqiflush", referenced from: curses_noqiflush in _cursesmodule.o curses_qiflush in _cursesmodule.o "_noraw", referenced from: curses_noraw in _cursesmodule.o curses_raw in _cursesmodule.o "_notimeout", referenced from: _PyCursesWindow_notimeout in _cursesmodule.o "_overlay", referenced from: curses_window_overlay in _cursesmodule.o "_overwrite", referenced from: curses_window_overwrite in _cursesmodule.o "_pair_content", referenced from: curses_pair_content in _cursesmodule.o "_panel_above", referenced from: __curses_panel_bottom_panel in _curses_panel.o curses_panel_panel_above in _curses_panel.o "_panel_below", referenced from: curses_panel_top_panel in _curses_panel.o __curses_panel_panel_below in _curses_panel.o "_panel_hidden", referenced from: curses_panel_panel_hidden in _curses_panel.o "_panel_userptr", referenced from: _PyCursesPanel_Dealloc in _curses_panel.o curses_panel_panel_set_userptr in _curses_panel.o curses_panel_panel_userptr in _curses_panel.o "_pechochar", referenced from: curses_window_echochar in _cursesmodule.o "_pnoutrefresh", referenced from: curses_window_noutrefresh in _cursesmodule.o "_prefresh", referenced from: curses_window_refresh in _cursesmodule.o "_putp", referenced from: curses_putp in _cursesmodule.o "_putwin", referenced from: curses_window_putwin in _cursesmodule.o "_qiflush", referenced from: curses_qiflush in _cursesmodule.o "_raw", referenced from: curses_raw in _cursesmodule.o (maybe you meant: _BIO_ADDR_rawmake, _BIO_ADDR_rawaddress , _dtls_raw_hello_verify_request , _lzma_raw_coder_memusage , _lzma_raw_coder_init , _EVP_PKEY_get_raw_public_key , _lzma_raw_decoder_init , _tls1_set_raw_sigalgs , _lzma_raw_encoder_init , _EVP_PKEY_new_raw_private_key , _BIO_ADDR_rawport , _EVP_PKEY_get_raw_private_key , _lzma_raw_decoder , _lzma_raw_encoder , _EVP_PKEY_new_raw_public_key , _lzma_raw_decoder_memusage , _lzma_raw_encoder_memusage ) "_replace_panel", referenced from: curses_panel_panel_replace in _curses_panel.o "_reset_prog_mode", referenced from: curses_reset_prog_mode in _cursesmodule.o "_reset_shell_mode", referenced from: __curses_reset_shell_mode in _cursesmodule.o "_resetty", referenced from: curses_resetty in _cursesmodule.o "_resize_term", referenced from: curses_resize_term in _cursesmodule.o "_resizeterm", referenced from: curses_resizeterm in _cursesmodule.o "_savetty", referenced from: curses_savetty in _cursesmodule.o "_scrollok", referenced from: _PyCursesWindow_scrollok in _cursesmodule.o "_set_escdelay", referenced from: curses_set_escdelay in _cursesmodule.o "_set_panel_userptr", referenced from: _PyCursesPanel_Dealloc in _curses_panel.o curses_panel_panel_set_userptr in _curses_panel.o "_set_tabsize", referenced from: curses_set_tabsize in _cursesmodule.o "_setupterm", referenced from: curses_setupterm in _cursesmodule.o "_show_panel", referenced from: curses_panel_panel_show in _curses_panel.o "_sqlite3_aggregate_context", referenced from: _step_callback in connection.o _final_callback in connection.o _value_callback in connection.o _inverse_callback in connection.o "_sqlite3_backup_finish", referenced from: _pysqlite_connection_backup in connection.o "_sqlite3_backup_init", referenced from: _pysqlite_connection_backup in connection.o "_sqlite3_backup_pagecount", referenced from: _pysqlite_connection_backup in connection.o "_sqlite3_backup_remaining", referenced from: _pysqlite_connection_backup in connection.o "_sqlite3_backup_step", referenced from: _pysqlite_connection_backup in connection.o "_sqlite3_bind_blob", referenced from: _bind_param in cursor.o "_sqlite3_bind_double", referenced from: _bind_param in cursor.o "_sqlite3_bind_int64", referenced from: _bind_param in cursor.o "_sqlite3_bind_null", referenced from: _bind_param in cursor.o "_sqlite3_bind_parameter_count", referenced from: pysqlite_query_execute in cursor.o "_sqlite3_bind_parameter_name", referenced from: pysqlite_query_execute in cursor.o "_sqlite3_bind_text", referenced from: _bind_param in cursor.o "_sqlite3_blob_bytes", referenced from: _blob_length in blob.o _blob_subscript in blob.o _blob_ass_subscript in blob.o _blob_read in blob.o _blob_seek in blob.o _blob_write in blob.o "_sqlite3_blob_close", referenced from: _pysqlite_close_all_blobs in blob.o _blob_dealloc in blob.o _blob_close in blob.o _blob_exit in blob.o "_sqlite3_blob_open", referenced from: _blobopen in connection.o "_sqlite3_blob_read", referenced from: _blob_subscript in blob.o _read_multiple in blob.o "_sqlite3_blob_write", referenced from: _blob_ass_subscript in blob.o _blob_write in blob.o "_sqlite3_busy_timeout", referenced from: _pysqlite_connection_init in connection.o "_sqlite3_changes", referenced from: pysqlite_query_execute in cursor.o "_sqlite3_close", referenced from: _pysqlite_connection_init in connection.o "_sqlite3_close_v2", referenced from: _connection_close in connection.o "_sqlite3_column_blob", referenced from: _pysqlite_cursor_iternext in cursor.o "_sqlite3_column_bytes", referenced from: _pysqlite_cursor_iternext in cursor.o "_sqlite3_column_count", referenced from: __pysqlite_query_execute in cursor.o "_sqlite3_column_decltype", referenced from: pysqlite_query_execute in cursor.o "_sqlite3_column_double", referenced from: _pysqlite_cursor_iternext in cursor.o "_sqlite3_column_int64", referenced from: _pysqlite_cursor_iternext in cursor.o "_sqlite3_column_name", referenced from: pysqlite_query_execute in cursor.o _pysqlite_cursor_iternext in cursor.o "_sqlite3_column_text", referenced from: _pysqlite_cursor_iternext in cursor.o "_sqlite3_column_type", referenced from: _pysqlite_cursor_iternext in cursor.o "_sqlite3_complete", referenced from: _pysqlite_complete_statement in module.o "_sqlite3_context_db_handle", referenced from: pysqlite_build_py_params in connection.o "_sqlite3_create_collation_v2", referenced from: _pysqlite_connection_create_collation in connection.o "_sqlite3_create_function_v2", referenced from: _pysqlite_connection_create_function in connection.o _pysqlite_connection_create_aggregate_impl in connection.o "_sqlite3_create_window_function", referenced from: _create_window_function_impl in connection.o "_sqlite3_data_count", referenced from: _pysqlite_cursor_iternext in cursor.o "_sqlite3_db_handle", referenced from: _trace_callback in connection.o pysqlite_query_execute in cursor.o "_sqlite3_enable_shared_cache", referenced from: _pysqlite_enable_shared_cache in module.o "_sqlite3_errcode", referenced from: pysqlite_build_py_params in connection.o _trace_callback in connection.o _pysqlite_cursor_iternext in cursor.o pysqlite_seterror in util.o "_sqlite3_errmsg", referenced from: __pysqlite_seterror in util.o "_sqlite3_errstr", referenced from: _blobopen in connection.o _create_window_function_impl in connection.o _module_exec in module.o "_sqlite3_exec", referenced from: _pysqlite_cursor_executescript in cursor.o "_sqlite3_expanded_sql", referenced from: _trace_callback in connection.o "_sqlite3_extended_errcode", referenced from: pysqlite_seterror in util.o "_sqlite3_finalize", referenced from: _pysqlite_connection_commit_impl in connection.o _pysqlite_connection_rollback_impl in connection.o pysqlite_query_execute in cursor.o _pysqlite_cursor_executescript in cursor.o _pysqlite_statement_create in statement.o _stmt_dealloc in statement.o "_sqlite3_free", referenced from: _trace_callback in connection.o "_sqlite3_get_autocommit", referenced from: _pysqlite_connection_commit_impl in connection.o _pysqlite_connection_rollback_impl in connection.o _pysqlite_connection_get_in_transaction in connection.o pysqlite_query_execute in cursor.o _pysqlite_cursor_executescript in cursor.o "_sqlite3_initialize", referenced from: _module_exec in module.o "_sqlite3_interrupt", referenced from: _pysqlite_connection_interrupt in connection.o "_sqlite3_last_insert_rowid", referenced from: pysqlite_query_execute in cursor.o "_sqlite3_libversion", referenced from: _module_exec in module.o "_sqlite3_libversion_number", referenced from: _pysqlite_connection_create_function in connection.o _create_window_function_impl in connection.o _module_exec in module.o "_sqlite3_limit", referenced from: _setlimit in connection.o _getlimit in connection.o _pysqlite_cursor_executescript in cursor.o _pysqlite_statement_create in statement.o "_sqlite3_open_v2", referenced from: _pysqlite_connection_init in connection.o "_sqlite3_prepare_v2", referenced from: _pysqlite_connection_commit_impl in connection.o _pysqlite_connection_rollback_impl in connection.o pysqlite_query_execute in cursor.o _pysqlite_cursor_executescript in cursor.o _pysqlite_statement_create in statement.o "_sqlite3_progress_handler", referenced from: _pysqlite_connection_set_progress_handler_impl in connection.o "_sqlite3_reset", referenced from: pysqlite_query_execute in cursor.o _pysqlite_cursor_iternext in cursor.o _cursor_clear in cursor.o _pysqlite_cursor_close in cursor.o "_sqlite3_result_blob", referenced from: __pysqlite_set_result in connection.o "_sqlite3_result_double", referenced from: pysqlite_set_result in connection.o "_sqlite3_result_error", referenced from: _step_callback in connection.o _final_callback in connection.o _func_callback in connection.o _value_callback in connection.o _inverse_callback in connection.o "_sqlite3_result_error_nomem", referenced from: _step_callback in connection.o _final_callback in connection.o _func_callback in connection.o _value_callback in connection.o _inverse_callback in connection.o "_sqlite3_result_error_toobig", referenced from: _step_callback in connection.o _final_callback in connection.o _func_callback in connection.o _value_callback in connection.o _inverse_callback in connection.o "_sqlite3_result_int64", referenced from: pysqlite_set_result in connection.o "_sqlite3_result_null", referenced from: __pysqlite_set_result in connection.o "_sqlite3_result_text", referenced from: pysqlite_set_result in connection.o "_sqlite3_set_authorizer", referenced from: _pysqlite_connection_set_authorizer in connection.o "_sqlite3_shutdown", referenced from: _module_exec in module.o "_sqlite3_sleep", referenced from: _pysqlite_connection_backup in connection.o "_sqlite3_step", referenced from: _pysqlite_connection_commit_impl in connection.o _pysqlite_connection_rollback_impl in connection.o pysqlite_query_execute in cursor.o _pysqlite_cursor_iternext in cursor.o _pysqlite_cursor_executescript in cursor.o "_sqlite3_stmt_readonly", referenced from: pysqlite_query_execute in cursor.o "_sqlite3_stricmp", referenced from: _isolation_level_converter in connection.o "_sqlite3_threadsafe", referenced from: _module_exec in module.o "_sqlite3_total_changes", referenced from: _pysqlite_connection_get_total_changes in connection.o "_sqlite3_trace_v2", referenced from: _pysqlite_connection_set_trace_callback in connection.o "_sqlite3_user_data", referenced from: _step_callback in connection.o _final_callback in connection.o pysqlite_set_result in connection.o _func_callback in connection.o _value_callback in connection.o _inverse_callback in connection.o "_sqlite3_value_blob", referenced from: pysqlite_build_py_params in connection.o "_sqlite3_value_bytes", referenced from: pysqlite_build_py_params in connection.o "_sqlite3_value_double", referenced from: pysqlite_build_py_params in connection.o "_sqlite3_value_int64", referenced from: pysqlite_build_py_params in connection.o "_sqlite3_value_text", referenced from: pysqlite_build_py_params in connection.o "_sqlite3_value_type", referenced from: pysqlite_build_py_params in connection.o "_start_color", referenced from: __curses_start_color in _cursesmodule.o "_stdscr", referenced from: _PyCursesWindow_Dealloc in _cursesmodule.o curses_initscr in _cursesmodule.o curses_meta in _cursesmodule.o "_subpad", referenced from: curses_window_subwin in _cursesmodule.o "_subwin", referenced from: curses_window_subwin in _cursesmodule.o "_syncok", referenced from: _PyCursesWindow_syncok in _cursesmodule.o "_termattrs", referenced from: __curses_termattrs in _cursesmodule.o "_termname", referenced from: curses_termname in _cursesmodule.o "_tigetflag", referenced from: curses_tigetflag in _cursesmodule.o "_tigetnum", referenced from: __curses_tigetnum in _cursesmodule.o "_tigetstr", referenced from: curses_tigetstr in _cursesmodule.o "_top_panel", referenced from: curses_panel_panel_top in _curses_panel.o "_tparm", referenced from: curses_tparm in _cursesmodule.o "_typeahead", referenced from: curses_typeahead in _cursesmodule.o "_unctrl", referenced from: __curses_unctrl in _cursesmodule.o "_ungetch", referenced from: curses_ungetch in _cursesmodule.o "_ungetmouse", referenced from: curses_ungetmouse in _cursesmodule.o "_update_panels", referenced from: curses_panel_update_panels in _curses_panel.o "_use_default_colors", referenced from: curses_use_default_colors in _cursesmodule.o "_use_env", referenced from: curses_use_env in _cursesmodule.o "_waddch", referenced from: curses_window_addch in _cursesmodule.o "_waddnstr", referenced from: curses_window_addnstr in _cursesmodule.o curses_window_addstr in _cursesmodule.o "_wattr_off", referenced from: __curses_window_attroff in _cursesmodule.o "_wattr_on", referenced from: curses_window_attron in _cursesmodule.o "_wbkgd", referenced from: curses_window_bkgd in _cursesmodule.o "_wbkgdset", referenced from: curses_window_bkgdset in _cursesmodule.o "_wborder", referenced from: curses_window_border in _cursesmodule.o curses_window_box in _cursesmodule.o "_wchgat", referenced from: _PyCursesWindow_ChgAt in _cursesmodule.o "_wclear", referenced from: _PyCursesWindow_wclear in _cursesmodule.o "_wclrtobot", referenced from: _PyCursesWindow_wclrtobot in _cursesmodule.o "_wclrtoeol", referenced from: _PyCursesWindow_wclrtoeol in _cursesmodule.o "_wcursyncup", referenced from: _PyCursesWindow_wcursyncup in _cursesmodule.o "_wdelch", referenced from: curses_window_delch in _cursesmodule.o "_wechochar", referenced from: curses_window_echochar in _cursesmodule.o "_wenclose", referenced from: curses_window_enclose in _cursesmodule.o "_werase", referenced from: _PyCursesWindow_werase in _cursesmodule.o "_wgetch", referenced from: __curses_window_getch in _cursesmodule.o curses_window_getkey in _cursesmodule.o "_wgetnstr", referenced from: _PyCursesWindow_GetStr in _cursesmodule.o "_whline", referenced from: curses_window_hline in _cursesmodule.o "_winch", referenced from: curses_window_inch in _cursesmodule.o "_winnstr", referenced from: _PyCursesWindow_InStr in _cursesmodule.o "_winsch", referenced from: curses_window_insch in _cursesmodule.o "_winsdelln", referenced from: _PyCursesWindow_wdeleteln in _cursesmodule.o _PyCursesWindow_winsdelln in _cursesmodule.o _PyCursesWindow_winsertln in _cursesmodule.o "_winsnstr", referenced from: curses_window_insnstr in _cursesmodule.o curses_window_insstr in _cursesmodule.o "_wmove", referenced from: curses_window_addch in _cursesmodule.o curses_window_addnstr in _cursesmodule.o curses_window_addstr in _cursesmodule.o _PyCursesWindow_ChgAt in _cursesmodule.o curses_window_delch in _cursesmodule.o curses_window_getch in _cursesmodule.o curses_window_getkey in _cursesmodule.o ... "_wnoutrefresh", referenced from: curses_window_noutrefresh in _cursesmodule.o "_wredrawln", referenced from: curses_window_redrawln in _cursesmodule.o _PyCursesWindow_redrawwin in _cursesmodule.o "_wrefresh", referenced from: __curses_window_refresh in _cursesmodule.o curses_initscr in _cursesmodule.o "_wresize", referenced from: _PyCursesWindow_wresize in _cursesmodule.o "_wscrl", referenced from: curses_window_scroll in _cursesmodule.o "_wsetscrreg", referenced from: curses_window_setscrreg in _cursesmodule.o "_wsyncdown", referenced from: _PyCursesWindow_wsyncdown in _cursesmodule.o "_wsyncup", referenced from: _PyCursesWindow_wsyncup in _cursesmodule.o "_wtimeout", referenced from: _PyCursesWindow_wtimeout in _cursesmodule.o "_wtouchln", referenced from: _PyCursesWindow_ChgAt in _cursesmodule.o curses_window_touchline in _cursesmodule.o _PyCursesWindow_touchwin in _cursesmodule.o _PyCursesWindow_untouchwin in _cursesmodule.o "_wvline", referenced from: curses_window_vline in _cursesmodule.o "_zlibVersion", referenced from: _zlib_exec in zlibmodule.o ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation) make[1]: *** [Programs/_freeze_module] Error 1

To Reproduce git clone https://github.com/beeware/Python-Apple-support.git cd Python-Apple-support make iOS

Expected behavior build python for iOS

Environment: Mac M1 with MacOS Monterey 12.4 Python 3.9.13 and Python 2.7.16

freakboy3742 commented 2 years ago

This looks like you've got a homebrew install getting in the way - you've got a version of curses, sqlite and zlib installed via homebrew, which aren't compatible with building the support package. If you look at the CI configuration for this project, you'll see there's a couple of homebrew packages that are explicitly uninstalled; this is because of exactly this problem.

You'll need to either uninstall those packages from your homebrew install, or remove homebrew from your shell environment.

I'm going to close this on the basis that it's a local site configuration issue. I'm open to merging patches that make the build system resilient to this sort of local configuration, but I don't consider it a bug that needs to be actively addressed.

freakboy3742 commented 2 years ago

Thinking about this some more - there is a way to work around this, by setting the PATH in the Makefile to the bare minimum entries. This still won't protect against user-installed tools in /usr/bin etc, but that's a lot less common than the Homebrew case.

yehudahs commented 2 years ago

Hey, I pulled again and I think now I get a different issue. see https://github.com/beeware/Python-Apple-support/issues/150

rehatkathuria commented 2 years ago

I'm seeing the above issue when compiling using make macOS on the following commit: eb454970045747c19b7c608626e9fcac07332921