Re: Compile Erlang 24.2 for iOS on mac system
Michael S <[email protected]> Fri, 14 Jan 2022 16:01:24 +0100
| Newsgroups | gmane.comp.lang.erlang.general |
|---|---|
| Message-ID | <AM7PR10MB36370831CD031ADCC7B80AE5A2549@AM7PR10MB3637.EURPRD10.PROD.OUTLOOK.COM> |
Hey! I applied the patch in socket_util.c, but now I am getting the following error " Undefined symbols for architecture arm64:"_BN_CTX_free", referenced from:" I configure the otp_build script the following ... in /ios/openssl/ is the compiled openssl version 1.1.1k for ios build. ./otp_build configure --xcomp-conf=./xcomp/erl-xcomp-arm64-ios.conf --with-ssl=/Users/michael/Entwicklung/compile/ios/openssl/ Also i compiled OpenSSL 1.1.1k for the cross build, also applied with a patch to get it compiled. See below the whole output, any hints? *sys/common/erl_check_io.c:1754:34:**warning:**cast to smaller integer type 'ErtsPollEvents' (aka 'unsigned int') from 'void *' [-Wvoid-pointer-to-int-cast]* ErtsPollEvents revents = ERTS_POLL_RES_GET_EVTS(&psi->pollres[i]); *^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~* *sys/common/erl_poll.h:229:54: note:*expanded from macro 'ERTS_POLL_RES_GET_EVTS' #define ERTS_POLL_RES_GET_EVTS(evt) ERTS_POLL_EV_N2E((ErtsPollEvents)(evt)->udata) *~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~* *sys/common/erl_poll.h:271:54: note:*expanded from macro 'ERTS_POLL_EV_N2E' #define ERTS_POLL_EV_N2E(EV) ERTS_POLL_EV_NKP_N2E((EV)) *~~~~~~~~~~~~~~~~~~~~~~^~~~* *sys/common/erl_poll.h:241:40: note:*expanded from macro 'ERTS_POLL_EV_NKP_N2E' ((ErtsPollEvents) ((unsigned short) (EV))) *^~* 1 warning generated. CCobj/aarch64-apple-ios/opt/emu/erl_mseg.o CCobj/aarch64-apple-ios/opt/emu/erl_mmap.o CCobj/aarch64-apple-ios/opt/emu/erl_osenv.o CCobj/aarch64-apple-ios/opt/emu/erl_unix_sys_ddll.o CCobj/aarch64-apple-ios/opt/emu/erl_mtrace_sys_wrap.o CCobj/aarch64-apple-ios/opt/emu/erl_sys_common_misc.o CCobj/aarch64-apple-ios/opt/emu/erl_os_monotonic_time_extender.o CCobj/aarch64-apple-ios/opt/emu/erlang_lttng.o CCobj/aarch64-apple-ios/opt/emu/inet_drv.o CCobj/aarch64-apple-ios/opt/emu/ram_file_drv.o CCobj/aarch64-apple-ios/opt/emu/ttsl_drv.o CCobj/aarch64-apple-ios/opt/emu/erl_tracer_nif.o CCobj/aarch64-apple-ios/opt/emu/prim_buffer_nif.o CCobj/aarch64-apple-ios/opt/emu/prim_file_nif.o CCobj/aarch64-apple-ios/opt/emu/zlib_nif.o CCobj/aarch64-apple-ios/opt/emu/prim_socket_nif.o CCobj/aarch64-apple-ios/opt/emu/prim_net_nif.o LD/Users/michael/Entwicklung/compile/ios/otp/bin/aarch64-apple-ios/beam.emu Apple clang version 13.0.0 (clang-1300.0.29.3) Target: arm64-apple-darwin21.1.0 Thread model: posix InstalledDir: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin "/Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/ld" -demangle -lto_library /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/libLTO.dylib -dynamic -arch arm64 -platform_version ios 15.0.0 15.0 -syslibroot /Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS15.0.sdk -o /Users/michael/Entwicklung/compile/ios/otp/bin/aarch64-apple-ios/beam.emu -L/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneOS.platform/Developer/SDKs/iPhoneOS15.0.sdk/usr/lib/ -L../lib/internal/aarch64-apple-ios -lc++ obj/aarch64-apple-ios/opt/emu/erl_main.o obj/aarch64-apple-ios/opt/emu/preload.o obj/aarch64-apple-ios/opt/emu/erl_process.o obj/aarch64-apple-ios/opt/emu/beam_emu.o obj/aarch64-apple-ios/opt/emu/emu_load.o obj/aarch64-apple-ios/opt/emu/beam_common.o obj/aarch64-apple-ios/opt/emu/beam_bif_load.o obj/aarch64-apple-ios/opt/emu/beam_bp.o obj/aarch64-apple-ios/opt/emu/beam_catches.o obj/aarch64-apple-ios/opt/emu/beam_debug.o obj/aarch64-apple-ios/opt/emu/beam_load.o obj/aarch64-apple-ios/opt/emu/beam_opcodes.o obj/aarch64-apple-ios/opt/emu/beam_ranges.o obj/aarch64-apple-ios/opt/emu/beam_transform.o obj/aarch64-apple-ios/opt/emu/beam_transform_engine.o obj/aarch64-apple-ios/opt/emu/beam_transform_helpers.o obj/aarch64-apple-ios/opt/emu/code_ix.o obj/aarch64-apple-ios/opt/emu/erl_alloc.o obj/aarch64-apple-ios/opt/emu/erl_mtrace.o obj/aarch64-apple-ios/opt/emu/erl_alloc_util.o obj/aarch64-apple-ios/opt/emu/erl_goodfit_alloc.o obj/aarch64-apple-ios/opt/emu/erl_bestfit_alloc.o obj/aarch64-apple-ios/opt/emu/erl_afit_alloc.o obj/aarch64-apple-ios/opt/emu/erl_init.o obj/aarch64-apple-ios/opt/emu/erl_atom_table.o obj/aarch64-apple-ios/opt/emu/erl_bif_table.o obj/aarch64-apple-ios/opt/emu/erl_bif_ddll.o obj/aarch64-apple-ios/opt/emu/erl_bif_guard.o obj/aarch64-apple-ios/opt/emu/erl_bif_info.o obj/aarch64-apple-ios/opt/emu/erl_bif_op.o obj/aarch64-apple-ios/opt/emu/erl_bif_os.o obj/aarch64-apple-ios/opt/emu/erl_bif_lists.o obj/aarch64-apple-ios/opt/emu/erl_bif_persistent.o obj/aarch64-apple-ios/opt/emu/erl_bif_atomics.o obj/aarch64-apple-ios/opt/emu/erl_bif_counters.o obj/aarch64-apple-ios/opt/emu/erl_bif_trace.o obj/aarch64-apple-ios/opt/emu/erl_bif_unique.o obj/aarch64-apple-ios/opt/emu/erl_guard_bifs.o obj/aarch64-apple-ios/opt/emu/erl_dirty_bif_wrap.o obj/aarch64-apple-ios/opt/emu/erl_trace.o obj/aarch64-apple-ios/opt/emu/copy.o obj/aarch64-apple-ios/opt/emu/utils.o obj/aarch64-apple-ios/opt/emu/bif.o obj/aarch64-apple-ios/opt/emu/io.o obj/aarch64-apple-ios/opt/emu/erl_printf_term.o obj/aarch64-apple-ios/opt/emu/erl_debug.o obj/aarch64-apple-ios/opt/emu/erl_md5.o obj/aarch64-apple-ios/opt/emu/erl_message.o obj/aarch64-apple-ios/opt/emu/erl_proc_sig_queue.o obj/aarch64-apple-ios/opt/emu/erl_process_dict.o obj/aarch64-apple-ios/opt/emu/erl_process_lock.o obj/aarch64-apple-ios/opt/emu/erl_port_task.o obj/aarch64-apple-ios/opt/emu/erl_arith.o obj/aarch64-apple-ios/opt/emu/time.o obj/aarch64-apple-ios/opt/emu/erl_time_sup.o obj/aarch64-apple-ios/opt/emu/external.o obj/aarch64-apple-ios/opt/emu/dist.o obj/aarch64-apple-ios/opt/emu/binary.o obj/aarch64-apple-ios/opt/emu/erl_db.o obj/aarch64-apple-ios/opt/emu/erl_db_util.o obj/aarch64-apple-ios/opt/emu/erl_db_hash.o obj/aarch64-apple-ios/opt/emu/erl_db_tree.o obj/aarch64-apple-ios/opt/emu/erl_thr_progress.o obj/aarch64-apple-ios/opt/emu/big.o obj/aarch64-apple-ios/opt/emu/hash.o obj/aarch64-apple-ios/opt/emu/index.o obj/aarch64-apple-ios/opt/emu/atom.o obj/aarch64-apple-ios/opt/emu/module.o obj/aarch64-apple-ios/opt/emu/export.o obj/aarch64-apple-ios/opt/emu/register.o obj/aarch64-apple-ios/opt/emu/break.o obj/aarch64-apple-ios/opt/emu/erl_async.o obj/aarch64-apple-ios/opt/emu/erl_lock_check.o obj/aarch64-apple-ios/opt/emu/erl_dyn_lock_check.o obj/aarch64-apple-ios/opt/emu/erl_gc.o obj/aarch64-apple-ios/opt/emu/erl_lock_count.o obj/aarch64-apple-ios/opt/emu/erl_posix_str.o obj/aarch64-apple-ios/opt/emu/erl_bits.o obj/aarch64-apple-ios/opt/emu/erl_math.o obj/aarch64-apple-ios/opt/emu/erl_fun.o obj/aarch64-apple-ios/opt/emu/erl_bif_port.o obj/aarch64-apple-ios/opt/emu/erl_term.o obj/aarch64-apple-ios/opt/emu/erl_node_tables.o obj/aarch64-apple-ios/opt/emu/erl_monitor_link.o obj/aarch64-apple-ios/opt/emu/erl_process_dump.o obj/aarch64-apple-ios/opt/emu/erl_hl_timer.o obj/aarch64-apple-ios/opt/emu/erl_cpu_topology.o obj/aarch64-apple-ios/opt/emu/erl_drv_thread.o obj/aarch64-apple-ios/opt/emu/erl_bif_chksum.o obj/aarch64-apple-ios/opt/emu/erl_bif_re.o obj/aarch64-apple-ios/opt/emu/erl_unicode.o obj/aarch64-apple-ios/opt/emu/packet_parser.o obj/aarch64-apple-ios/opt/emu/safe_hash.o obj/aarch64-apple-ios/opt/emu/erl_zlib.o obj/aarch64-apple-ios/opt/emu/erl_nif.o obj/aarch64-apple-ios/opt/emu/erl_bif_binary.o obj/aarch64-apple-ios/opt/emu/erl_ao_firstfit_alloc.o obj/aarch64-apple-ios/opt/emu/erl_thr_queue.o obj/aarch64-apple-ios/opt/emu/erl_sched_spec_pre_alloc.o obj/aarch64-apple-ios/opt/emu/erl_ptab.o obj/aarch64-apple-ios/opt/emu/erl_map.o obj/aarch64-apple-ios/opt/emu/erl_msacc.o obj/aarch64-apple-ios/opt/emu/erl_lock_flags.o obj/aarch64-apple-ios/opt/emu/erl_io_queue.o obj/aarch64-apple-ios/opt/emu/erl_db_catree.o obj/aarch64-apple-ios/opt/emu/socket_dbg.o obj/aarch64-apple-ios/opt/emu/socket_tarray.o obj/aarch64-apple-ios/opt/emu/socket_util.o obj/aarch64-apple-ios/opt/emu/erl_flxctr.o obj/aarch64-apple-ios/opt/emu/erl_nfunc_sched.o obj/aarch64-apple-ios/opt/emu/erl_global_literals.o obj/aarch64-apple-ios/opt/emu/beam_file.o obj/aarch64-apple-ios/opt/emu/sys.o obj/aarch64-apple-ios/opt/emu/sys_drivers.o obj/aarch64-apple-ios/opt/emu/sys_env.o obj/aarch64-apple-ios/opt/emu/sys_uds.o obj/aarch64-apple-ios/opt/emu/driver_tab.o obj/aarch64-apple-ios/opt/emu/unix_prim_file.o obj/aarch64-apple-ios/opt/emu/sys_float.o obj/aarch64-apple-ios/opt/emu/sys_time.o obj/aarch64-apple-ios/opt/emu/sys_signal_stack.o obj/aarch64-apple-ios/opt/emu/erl_poll.o obj/aarch64-apple-ios/opt/emu/erl_check_io.o obj/aarch64-apple-ios/opt/emu/erl_mseg.o obj/aarch64-apple-ios/opt/emu/erl_mmap.o obj/aarch64-apple-ios/opt/emu/erl_osenv.o obj/aarch64-apple-ios/opt/emu/erl_unix_sys_ddll.o obj/aarch64-apple-ios/opt/emu/erl_mtrace_sys_wrap.o obj/aarch64-apple-ios/opt/emu/erl_sys_common_misc.o obj/aarch64-apple-ios/opt/emu/erl_os_monotonic_time_extender.o obj/aarch64-apple-ios/opt/emu/erl_poll.flbk.o obj/aarch64-apple-ios/opt/emu/erlang_lttng.o obj/aarch64-apple-ios/opt/emu/inet_drv.o obj/aarch64-apple-ios/opt/emu/ram_file_drv.o obj/aarch64-apple-ios/opt/emu/ttsl_drv.o obj/aarch64-apple-ios/opt/emu/erl_tracer_nif.o obj/aarch64-apple-ios/opt/emu/prim_buffer_nif.o obj/aarch64-apple-ios/opt/emu/prim_file_nif.o obj/aarch64-apple-ios/opt/emu/zlib_nif.o obj/aarch64-apple-ios/opt/emu/prim_socket_nif.o obj/aarch64-apple-ios/opt/emu/prim_net_nif.o /Users/michael/Entwicklung/compile/ios/otp/lib/asn1/priv/lib/aarch64-apple-ios/asn1rt_nif.a /Users/michael/Entwicklung/compile/ios/otp/lib/crypto/priv/lib/aarch64-apple-ios/crypto.a -lutil -ldl -lm /Users/michael/Entwicklung/compile/ios/otp/erts/emulator/zlib/obj/aarch64-apple-ios/opt/libz.a /Users/michael/Entwicklung/compile/ios/otp/erts/emulator/pcre/obj/aarch64-apple-ios/opt/libepcre.a -lethread -lerts_internal_r -lpthread -lSystem /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/13.0.0/lib/darwin/libclang_rt.ios.a Undefined symbols for architecture arm64: "_BN_CTX_free", referenced from: _mod_exp_nif in crypto.a(bn_static.o) _srp_value_B_nif in crypto.a(srp_static.o) _srp_user_secret_nif in crypto.a(srp_static.o) _srp_host_secret_nif in crypto.a(srp_static.o) ...... "_RSA_size", referenced from: _size_of_RSA in crypto.a(pkey_static.o) ld: symbol(s) not found for architecture arm64 clang:*error:**linker command failed with exit code 1 (use -v to see invocation)* make[4]: *** [/Users/michael/Entwicklung/compile/ios/otp/bin/aarch64-apple-ios/beam.emu] Error 1 make[3]: *** [opt] Error 2 make[2]: *** [opt] Error 2 make[1]: *** [emu] Error 2 make: *** [emulator] Error 2 Am 23.12.21 um 16:14 schrieb Dominic Letz: > That has been fixed on master https://github.com/diodechain/otp/commit/b5551600082fda193fe85f7feb5bd69bcc1f858c > > But that change did not make it into the OTP-24 maintenance branch it seems. So I guess you have to apply it yourself manually until there is a point release with the fix. > > Best