zeromq / libzmq

ZeroMQ core engine in C++, implements ZMTP/3.1
https://www.zeromq.org
Mozilla Public License 2.0
9.49k stars 2.34k forks source link

[Bug] - Unable to build libzmq for aarch64-apple-ios-sim #4508

Open dinbtechit opened 1 year ago

dinbtechit commented 1 year ago

Issue description

How to build libzmq for aarch64-apple-ios-sim (IOS Simulator on M1)?

Environment

Minimal test code / Steps to reproduce the issue

  1. Run ios build

    ./builds/ios/build_ios.sh

    output: which generates libs and include packages for all platforms except aarch64-apple-ios-sim image

  2. Using aarm64/libzmq.a package to build my rust project. I get the following error

    
    export LIBZMQ_LIB_DIR=/<path_to>/libzmq/builds/ios/libzmq_build/arm64/lib
    export LIBZMQ_INCLUDE_DIR=/<path_to>/libzmq/builds/ios/libzmq_build/arm64/include

Build project

cargo build -r --target=aarch64-apple-ios-sim

**Error output:**

. . .building for iOS Simulator, but linking in object file built for iOS . . .

see full Error here...

"-Wl,-syslibroot" "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator16.2.sdk" "-L" "/Users/srinivad/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-ios-sim/lib" "-o" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libindy_vdr-5aa23635579223af.dylib" "-Wl,-dead_strip" "-dynamiclib" "-Wl,-dylib" "-nodefaultlibs" = note: ld: in /Users/srinivad/code/personal/libzmq/builds/ios/libzmq_build/arm64/lib/libzmq.a(libzmq_la-address.o), building for iOS Simulator, but linking in object file built for iOS, file '/Users/srinivad/code/personal/libzmq/builds/ios/libzmq_build/arm64/lib/libzmq.a' clang: error: linker command failed with exit code 1 (use -v to see invocation)



Any idea how to generate these packages for `aarch64-apple-ios-sim` architecture?

Thank you!
dinbtechit commented 1 year ago

updated the build_ios.sh to include arm64 simulator.

. . .

ARCHS=${ARCHS:-"armv7 armv7s arm64 x86_64 arm64-sim"}

. . .
        arm64-sim)
        PLATFORM="iPhoneSimulator"
        HOST="arm64-apple-darwin"
        export BASEDIR="${DEVELOPER}/Platforms/${PLATFORM}.platform/Developer"
        export ISDKROOT="${BASEDIR}/SDKs/${PLATFORM}.sdk"
        export CXXFLAGS="${OTHER_CXXFLAGS}"
        export CPPFLAGS="-arch arm64 -isysroot ${ISDKROOT} ${OTHER_CPPFLAGS}"
        export LDFLAGS="-arch arm64 ${OTHER_LDFLAGS}"
            ;;      

and managed to build static libs for the simulator.

image

export LIBZMQ_LIB_DIR=/<path_to>/libzmq/builds/ios/libzmq_build/arm64-ios/lib
export LIBZMQ_INCLUDE_DIR=/<path_to>/libzmq/builds/ios/libzmq_build/arm64-ios/include

# Build project

cargo build -r --target=aarch64-apple-ios-sim

But getting a symbol linking error:

      zmq::socket_base_t::create(int, zmq::ctx_t*, unsigned int, int) in libzmq.a(libzmq_la-socket_base.o)
      zmq::socket_base_t::socket_base_t(zmq::ctx_t*, unsigned int, int, bool) in libzmq.a(libzmq_la-socket_base.o)
      zmq::socket_base_t::~socket_base_t() in libzmq.a(libzmq_la-socket_base.o)
      zmq::scoped_lock_t::~scoped_lock_t() in libzmq.a(libzmq_la-socket_base.o)
      ...
ld: symbol(s) not found for architecture arm64
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Full log:

Logs ``` error: linking with `cc` failed: exit status: 1 | = note: "cc" "-Wl,-exported_symbols_list,/var/folders/8n/z0ncgbf563j_rrgrt15rsw_40000gn/T/rustcGqQjex/list" "-arch" "arm64" "/var/folders/8n/z0ncgbf563j_rrgrt15rsw_40000gn/T/rustcGqQjex/symbols.o" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/indy_vdr-5aa23635579223af.indy_vdr.bda4b24a-cgu.0.rcgu.o" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/indy_vdr-5aa23635579223af.indy_vdr.bda4b24a-cgu.1.rcgu.o" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/indy_vdr-5aa23635579223af.indy_vdr.bda4b24a-cgu.10.rcgu.o" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/indy_vdr-5aa23635579223af.indy_vdr.bda4b24a-cgu.11.rcgu.o" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/indy_vdr-5aa23635579223af.indy_vdr.bda4b24a-cgu.12.rcgu.o" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/indy_vdr-5aa23635579223af.indy_vdr.bda4b24a-cgu.13.rcgu.o" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/indy_vdr-5aa23635579223af.indy_vdr.bda4b24a-cgu.14.rcgu.o" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/indy_vdr-5aa23635579223af.indy_vdr.bda4b24a-cgu.15.rcgu.o" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/indy_vdr-5aa23635579223af.indy_vdr.bda4b24a-cgu.2.rcgu.o" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/indy_vdr-5aa23635579223af.indy_vdr.bda4b24a-cgu.3.rcgu.o" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/indy_vdr-5aa23635579223af.indy_vdr.bda4b24a-cgu.4.rcgu.o" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/indy_vdr-5aa23635579223af.indy_vdr.bda4b24a-cgu.5.rcgu.o" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/indy_vdr-5aa23635579223af.indy_vdr.bda4b24a-cgu.6.rcgu.o" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/indy_vdr-5aa23635579223af.indy_vdr.bda4b24a-cgu.7.rcgu.o" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/indy_vdr-5aa23635579223af.indy_vdr.bda4b24a-cgu.8.rcgu.o" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/indy_vdr-5aa23635579223af.indy_vdr.bda4b24a-cgu.9.rcgu.o" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/indy_vdr-5aa23635579223af.ji5dil3dwhbtcg1.rcgu.o" "-L" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps" "-L" "/Users/srinivad/code/personal/aries_vcx/target/release/deps" "-L" "/Users/srinivad/code/personal/aries_vcx/platform-build/output/libs/openssl-sim/arm64" "-L" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/build/secp256k1-sys-a1ab7fe8226b28d8/out" "-L" "/Users/srinivad/code/personal/libzmq/builds/ios/libzmq_build/arm64-sim/lib" "-L" "/Users/srinivad/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-ios-sim/lib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libenv_logger-eec63430c1b6f16b.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libtermcolor-e9bc3233e9ad4758.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libatty-0b2d579cfa688b01.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libhumantime-ee4da9ba206d8061.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libquick_error-896c2792318ba931.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libsha3-e4c90e45077c4fac.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libdigest-54183ed166dc6575.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libblock_buffer-c8384710c2eab538.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libcrypto_common-563b1f58a9b5c7c4.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libfutures_executor-b0c3ce9702d40a3b.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libzmq-9a3b1ccdd478ec13.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libzmq_sys-9973d8d64ecb6040.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libursa-14ce4b26eae6180d.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libhkdf-9b09afe69fc08da6.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libk256-a99f1cefc19d9d8f.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libecdsa-e206fb6d75ab6acd.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libelliptic_curve-dc70fd20e4ddca33.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libcrypto_bigint-e460dc8439675e66.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libpkcs8-1b261a1b6d79bfd4.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libspki-91dc704bcf209c5e.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libder-ba9f003fdc743d81.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libconst_oid-ce06be03a81867f9.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libgroup-446064198b93c674.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libff-df3d285c57ec5ae2.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libsecp256k1-37b6f43d732bbf2e.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/librand-fa65854f0dfd8a51.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/librand_xorshift-07d15dd02af1a38d.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/librand_pcg-115f481743aa5121.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/librand_hc-900b92571aeb113e.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/librand_chacha-21298d392fed646a.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/librand_isaac-2eb8111656332657.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/librand_core-200b42c2bb23e258.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/librand_os-257e47d4ea534d55.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/librand_jitter-85ad9ee95a770aae.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/librand_core-0624181b1a72bfb5.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libsecp256k1_sys-5397355c83d4aa80.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libint_traits-d1aaa1b6228eb64b.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libfailure-b6090222f5d06b67.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libbacktrace-fe6fe02fd74eee01.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libobject-1b2e27146ec4249c.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libaddr2line-d1d5373c4fb31753.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libgimli-8b4a7fdc1011572b.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/librustc_demangle-6a7b34d5776ee48e.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libamcl_wrapper-73ea991e45b1a92c.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libsha3-460b29a0ff64141a.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libdigest-896ce6aeb7feb421.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libopaque_debug-b89d628094952fae.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libblock_buffer-ec41483a2e172ba8.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libgeneric_array-c31a5a744411e030.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libblock_padding-30e1e1ef63a297c5.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libbyte_tools-b89ef66171506cc4.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libsubtle_encoding-7ce3c7a88f9b6f68.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/librayon-d6ab104d64d579df.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/librayon_core-f16aabc4c801fd9b.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libnum_cpus-27979f8612d062d8.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libcrossbeam_deque-e5b2315728c61922.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libcrossbeam_epoch-25a558fec4077bbe.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libmemoffset-6db061b5b99258b9.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libscopeguard-9a0891683bb7ec98.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libcrossbeam_channel-a74a3b92ba1f9465.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libcrossbeam_utils-c0d4200cd203d514.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libeither-3da63ffd333ffdd7.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libmiracl_core-c4bb1988ad12aafe.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libarrayref-f51230a44215abe9.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libsha3-6100c129376c465c.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libkeccak-fcc57d303c283fa0.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libblake2-7adbfca8142d9834.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libcrypto_mac-23810e438d1b1848.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libchacha20poly1305-922b4c11b7f893d2.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libchacha20-bfcddcbba570984a.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libpoly1305-94286ad3190e565a.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libopenssl-8459ed5a13d34167.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libbitflags-e1fb2288ea74d875.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libforeign_types-00d5febe2639ab4a.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libforeign_types_shared-99cc327372056123.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libopenssl_sys-733bf21922ad1d0f.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libhmac-7fd4729c41dd3614.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libcrypto_mac-4d79c38c9af8c17f.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libblock_modes-ac667d3ebcc35546.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libamcl-6d854b1702fc5eb2.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libaes_gcm-2d7f0dfe9b0e940c.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libghash-e529088b93a14a7b.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libpolyval-460443f733670689.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libuniversal_hash-6cb6e4f164749328.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libctr-d498a7717e6fa758.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libaes-c639ac234c066809.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libaes_soft-9bf87982fc488765.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libcipher-85f5f7d08b3ac6ae.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libaead-33eb231777e8e39a.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libfutures_util-b9ee3b0b8773a77b.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libfutures_io-9053398e0e300d9f.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libslab-2f1d8c68054607b5.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libfutures_channel-f995b4e263097303.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libpin_project_lite-1f4eaaebfd6feb6e.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libfutures_sink-b8a760b940760fd0.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libfutures_task-3cac82dc5a396f83.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libpin_utils-cc7c8492c316b76d.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libfutures_core-1df8d2d0a1bb788e.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libffi_support-0b6f5f1612625fc2.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libindy_data_types-250b3d9210edc5e2.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/librlp-92799c63afd9847c.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/liblazy_static-9bd1d2e84f070576.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libspin-0f8e5b08b66e1dfb.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libhexutil-d4508df4e8ac9a49.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libelastic_array-b7bc2f3e7ccf1c35.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/librmp_serde-7c0a7de6f3307d33.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/librmp-f0b7fedd1acf47ae.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libnum_traits-bbf0bb38e605574d.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libindy_utils-471b53e7e1ae748d.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libhex-9759a7eb0e4e53ab.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libx25519_dalek-dd26c451e210d2be.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libindy_wql-245eec5d4f98c1aa.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libbase64-4217132711849d49.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/librand-9d7fbeec1e547513.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/librand_chacha-dbfaa0cfe3106dce.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libed25519_dalek-42ab80f75d7240fb.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libsha2-195834b49b7ac7b7.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libopaque_debug-878a95d8b989181f.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libblock_buffer-1668dd392bb55e88.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libblock_padding-3d7b3b94394fb403.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/librand-a706f09ebf79456b.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/librand_chacha-4eb3ebff34645385.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libc2_chacha-7fbd076de3bc2816.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libppv_lite86-5b069f4de762e5fd.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libed25519-d2bc4809dcaf94e8.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libsignature-7c59b8b933ad431e.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/librand_core-5f3a8c89495e61f6.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libgetrandom-b72e4f7f5ac5ace2.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libcurve25519_dalek-9089495e05f8d162.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libsubtle-549ed1612efa9846.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libzeroize-c6c7c6bb9f5a8a3a.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/librand_core-7e25c44521703443.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libgetrandom-4ca18285bc2fe471.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/liblibc-51c4d4668f2ac772.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libdigest-170ba68506e5efeb.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libgeneric_array-42725dcee3f537b3.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libtypenum-dd5737bc4e4e723e.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libbyteorder-8ba538e6ede53b43.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libbs58-32145e8ac5ae6a37.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libregex-6eb4f0c838beab9d.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libaho_corasick-50fd1386e23d381e.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libmemchr-ed369ff63ab1b2e7.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libregex_syntax-06e9c43b2092b182.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libonce_cell-0f4dffedf93cd0ed.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libthiserror-8b3f4d3f0fbfe590.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libserde_json-c5e164df82fe663f.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libryu-332ea3288f07f3d1.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libitoa-aee728e640b47466.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libserde-3f8a61c95edd64c7.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/liblog-f5d42c878c6929d9.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libvalue_bag-93bd63ca48694679.rlib" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libcfg_if-74c9cf75a390f84d.rlib" "/Users/srinivad/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-ios-sim/lib/libstd-79c82c56931b9f6f.rlib" "/Users/srinivad/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-ios-sim/lib/libpanic_unwind-6fe700f914431b5d.rlib" "/Users/srinivad/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-ios-sim/lib/libobject-8db62f175e7bb03e.rlib" "/Users/srinivad/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-ios-sim/lib/libmemchr-c103ef18b45ba307.rlib" "/Users/srinivad/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-ios-sim/lib/libaddr2line-77537ffc28373fbc.rlib" "/Users/srinivad/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-ios-sim/lib/libgimli-cd0fe3de1fc436ee.rlib" "/Users/srinivad/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-ios-sim/lib/librustc_demangle-24f132cff809e6c4.rlib" "/Users/srinivad/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-ios-sim/lib/libstd_detect-f0f90d51242045cb.rlib" "/Users/srinivad/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-ios-sim/lib/libhashbrown-faf40bb6e005707c.rlib" "/Users/srinivad/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-ios-sim/lib/libminiz_oxide-688baaed685d6014.rlib" "/Users/srinivad/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-ios-sim/lib/libadler-acf4850e49eb0122.rlib" "/Users/srinivad/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-ios-sim/lib/librustc_std_workspace_alloc-9b53bd1efd821587.rlib" "/Users/srinivad/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-ios-sim/lib/libunwind-c856d8de0b616702.rlib" "/Users/srinivad/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-ios-sim/lib/libcfg_if-ee4ba20f8a2c0b5e.rlib" "/Users/srinivad/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-ios-sim/lib/liblibc-12356e816b2ffd40.rlib" "/Users/srinivad/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-ios-sim/lib/liballoc-f708b35613fa27e0.rlib" "/Users/srinivad/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-ios-sim/lib/librustc_std_workspace_core-0cccf647fb28dd76.rlib" "/Users/srinivad/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-ios-sim/lib/libcore-f8f67d13897da474.rlib" "/Users/srinivad/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-ios-sim/lib/libcompiler_builtins-a9d92dfc2121161c.rlib" "-lzmq" "-framework" "Security" "-framework" "Security" "-liconv" "-lSystem" "-lobjc" "-framework" "Security" "-framework" "Foundation" "-lresolv" "-lc" "-lm" "-liconv" "-isysroot" "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator16.2.sdk" "-Wl,-syslibroot" "/Applications/Xcode.app/Contents/Developer/Platforms/iPhoneSimulator.platform/Developer/SDKs/iPhoneSimulator16.2.sdk" "-L" "/Users/srinivad/.rustup/toolchains/stable-aarch64-apple-darwin/lib/rustlib/aarch64-apple-ios-sim/lib" "-o" "/Users/srinivad/code/personal/aries_vcx/target/aarch64-apple-ios-sim/release/deps/libindy_vdr-5aa23635579223af.dylib" "-Wl,-dead_strip" "-dynamiclib" "-Wl,-dylib" "-nodefaultlibs" = note: Undefined symbols for architecture arm64: "std::__1::basic_string, std::__1::allocator >::find(char, unsigned long) const", referenced from: zmq::options_t::setsockopt(int, void const*, unsigned long) in libzmq.a(libzmq_la-options.o) zmq::ip_resolver_t::resolve(zmq::ip_addr_t*, char const*) in libzmq.a(libzmq_la-ip_resolver.o) "std::__1::basic_string, std::__1::allocator >::rfind(char, unsigned long) const", referenced from: zmq::ip_resolver_t::resolve(zmq::ip_addr_t*, char const*) in libzmq.a(libzmq_la-ip_resolver.o) zmq::socks_connecter_t::parse_address(std::__1::basic_string, std::__1::allocator > const&, std::__1::basic_string, std::__1::allocator >&, unsigned short&) in libzmq.a(libzmq_la-socks_connecter.o) "std::__1::basic_string, std::__1::allocator >::compare(unsigned long, unsigned long, char const*) const", referenced from: zmq::options_t::setsockopt(int, void const*, unsigned long) in libzmq.a(libzmq_la-options.o) "std::__1::basic_string, std::__1::allocator >::compare(unsigned long, unsigned long, char const*, unsigned long) const", referenced from: zmq::socket_base_t::check_protocol(std::__1::basic_string, std::__1::allocator > const&) const in libzmq.a(libzmq_la-socket_base.o) zmq::socket_base_t::bind(char const*) in libzmq.a(libzmq_la-socket_base.o) zmq::socket_base_t::connect_internal(char const*) in libzmq.a(libzmq_la-socket_base.o) zmq::socket_base_t::term_endpoint(char const*) in libzmq.a(libzmq_la-socket_base.o) zmq::tcp_address_mask_t::resolve(char const*, bool) in libzmq.a(libzmq_la-tcp_address.o) zmq::udp_address_t::resolve(char const*, bool, bool) in libzmq.a(libzmq_la-udp_address.o) zmq::session_base_t::start_connecting(bool) in libzmq.a(libzmq_la-session_base.o) ... "std::__1::basic_stringbuf, std::__1::allocator >::str() const", referenced from: zmq::ws_address_t::ws_address_t(sockaddr const*, unsigned int) in libzmq.a(libzmq_la-ws_address.o) zmq::ws_address_t::to_string(std::__1::basic_string, std::__1::allocator >&) const in libzmq.a(libzmq_la-ws_address.o) zmq::address_t::to_string(std::__1::basic_string, std::__1::allocator >&) const in libzmq.a(libzmq_la-address.o) zmq::stream_engine_base_t::init_properties(std::__1::map, std::__1::allocator >, std::__1::basic_string, std::__1::allocator >, std::__1::less, std::__1::allocator > >, std::__1::allocator, std::__1::allocator > const, std::__1::basic_string, std::__1::allocator > > > >&) in libzmq.a(libzmq_la-stream_engine_base.o) "std::__1::__shared_weak_count::__get_deleter(std::type_info const&) const", referenced from: vtable for std::__1::__shared_ptr_emplace > in libzmq.a(libzmq_la-mailbox_safe.o) "std::__1::__vector_base_common::__throw_length_error() const", referenced from: std::__1::__vector_base >::__throw_length_error() const in libzmq.a(libzmq_la-socket_base.o) std::__1::__vector_base >::__throw_length_error() const in libzmq.a(libzmq_la-socket_base.o) std::__1::__vector_base >::__throw_length_error() const in libzmq.a(libzmq_la-socket_base.o) std::__1::__vector_base >::__throw_length_error() const in libzmq.a(libzmq_la-socket_poller.o) std::__1::__vector_base >::__throw_length_error() const in libzmq.a(libzmq_la-ip.o) std::__1::__vector_base >::__throw_length_error() const in libzmq.a(libzmq_la-ctx.o) std::__1::__vector_base >::__throw_length_error() const in libzmq.a(libzmq_la-ctx.o) ... "std::__1::__basic_string_common::__throw_length_error() const", referenced from: std::__1::basic_string, std::__1::allocator >::__throw_length_error() const in libzmq.a(libzmq_la-socket_base.o) std::__1::basic_string, std::__1::allocator >::__throw_length_error() const in libzmq.a(libzmq_la-ip.o) std::__1::basic_string, std::__1::allocator >::__throw_length_error() const in libzmq.a(libzmq_la-ctx.o) std::__1::basic_string, std::__1::allocator >::__throw_length_error() const in libzmq.a(libzmq_la-ws_address.o) std::__1::basic_string, std::__1::allocator >::__throw_length_error() const in libzmq.a(libzmq_la-options.o) std::__1::basic_string, std::__1::allocator >::__throw_length_error() const in libzmq.a(libzmq_la-tcp_address.o) std::__1::basic_string, std::__1::allocator >::__throw_length_error() const in libzmq.a(libzmq_la-udp_address.o) ... "std::__1::locale::use_facet(std::__1::locale::id&) const", referenced from: std::__1::basic_ostream >& std::__1::__put_character_sequence >(std::__1::basic_ostream >&, char const*, unsigned long) in libzmq.a(libzmq_la-ws_address.o) "std::__1::ios_base::getloc() const", referenced from: std::__1::basic_ostream >& std::__1::__put_character_sequence >(std::__1::basic_ostream >&, char const*, unsigned long) in libzmq.a(libzmq_la-ws_address.o) "std::logic_error::logic_error(char const*)", referenced from: std::length_error::length_error(char const*) in libzmq.a(libzmq_la-socket_base.o) std::length_error::length_error(char const*) in libzmq.a(libzmq_la-socket_poller.o) std::length_error::length_error(char const*) in libzmq.a(libzmq_la-ctx.o) std::length_error::length_error(char const*) in libzmq.a(libzmq_la-options.o) std::length_error::length_error(char const*) in libzmq.a(libzmq_la-mailbox_safe.o) std::length_error::length_error(char const*) in libzmq.a(libzmq_la-xpub.o) std::length_error::length_error(char const*) in libzmq.a(libzmq_la-radio.o) ... "std::length_error::~length_error()", referenced from: std::__1::__throw_length_error(char const*) in libzmq.a(libzmq_la-socket_base.o) std::__1::__throw_length_error(char const*) in libzmq.a(libzmq_la-socket_poller.o) std::__1::__throw_length_error(char const*) in libzmq.a(libzmq_la-ctx.o) std::__1::__throw_length_error(char const*) in libzmq.a(libzmq_la-options.o) std::__1::__throw_length_error(char const*) in libzmq.a(libzmq_la-mailbox_safe.o) std::__1::__throw_length_error(char const*) in libzmq.a(libzmq_la-xpub.o) std::__1::__throw_length_error(char const*) in libzmq.a(libzmq_la-radio.o) ... "std::__1::basic_string, std::__1::allocator >::at(unsigned long)", referenced from: zmq::ip_resolver_t::resolve(zmq::ip_addr_t*, char const*) in libzmq.a(libzmq_la-ip_resolver.o) "std::__1::basic_string, std::__1::allocator >::append(char const*)", referenced from: zmq::create_ipc_wildcard_address(std::__1::basic_string, std::__1::allocator >&, std::__1::basic_string, std::__1::allocator >&) in libzmq.a(libzmq_la-ip.o) "std::__1::basic_string, std::__1::allocator >::append(char const*, unsigned long)", referenced from: zmq::create_ipc_wildcard_address(std::__1::basic_string, std::__1::allocator >&, std::__1::basic_string, std::__1::allocator >&) in libzmq.a(libzmq_la-ip.o) zmq::ws_listener_t::get_socket_name(int, zmq::socket_end_t) const in libzmq.a(libzmq_la-ws_listener.o) "std::__1::basic_string, std::__1::allocator >::assign(char const*)", referenced from: zmq::socket_base_t::bind(char const*) in libzmq.a(libzmq_la-socket_base.o) zmq::socket_base_t::connect_internal(char const*) in libzmq.a(libzmq_la-socket_base.o) zmq::get_peer_ip_address(int, std::__1::basic_string, std::__1::allocator >&) in libzmq.a(libzmq_la-ip.o) zmq::create_ipc_wildcard_address(std::__1::basic_string, std::__1::allocator >&, std::__1::basic_string, std::__1::allocator >&) in libzmq.a(libzmq_la-ip.o) zmq::ws_address_t::resolve(char const*, bool, bool) in libzmq.a(libzmq_la-ws_address.o) zmq::tcp_address_mask_t::resolve(char const*, bool) in libzmq.a(libzmq_la-tcp_address.o) zmq::udp_address_t::resolve(char const*, bool, bool) in libzmq.a(libzmq_la-udp_address.o) ... "std::__1::basic_string, std::__1::allocator >::assign(char const*, unsigned long)", referenced from: zmq::routing_socket_base_t::xsetsockopt(int, void const*, unsigned long) in libzmq.a(libzmq_la-socket_base.o) zmq::options_t::setsockopt(int, void const*, unsigned long) in libzmq.a(libzmq_la-options.o) do_setsockopt_string_allow_empty_strict(void const*, unsigned long, std::__1::basic_string, std::__1::allocator >*, unsigned long) in libzmq.a(libzmq_la-options.o) zmq::ipc_address_t::to_string(std::__1::basic_string, std::__1::allocator >&) const in libzmq.a(libzmq_la-ipc_address.o) zmq::tcp_address_mask_t::resolve(char const*, bool) in libzmq.a(libzmq_la-tcp_address.o) zmq::zap_client_t::receive_and_process_zap_reply() in libzmq.a(libzmq_la-zap_client.o) "std::__1::basic_string, std::__1::allocator >::push_back(char)", referenced from: zmq::create_ipc_wildcard_address(std::__1::basic_string, std::__1::allocator >&, std::__1::basic_string, std::__1::allocator >&) in libzmq.a(libzmq_la-ip.o) "std::__1::basic_string, std::__1::allocator >::basic_string(std::__1::basic_string, std::__1::allocator > const&)", referenced from: zmq::socket_base_t::add_endpoint(zmq::endpoint_uri_pair_t const&, zmq::own_t*, zmq::pipe_t*) in libzmq.a(libzmq_la-socket_base.o) zmq::socket_base_t::term_endpoint(char const*) in libzmq.a(libzmq_la-socket_base.o) zmq::options_t::options_t(zmq::options_t const&) in libzmq.a(libzmq_la-socket_base.o) std::__1::pair, std::__1::allocator > const, std::__1::basic_string, std::__1::allocator > >::pair(std::__1::pair, std::__1::allocator > const, std::__1::basic_string, std::__1::allocator > > const&) in libzmq.a(libzmq_la-socket_base.o) zmq::endpoint_uri_pair_t::endpoint_uri_pair_t(std::__1::basic_string, std::__1::allocator > const&, std::__1::basic_string, std::__1::allocator > const&, zmq::endpoint_type_t) in libzmq.a(libzmq_la-socket_base.o) std::__1::unique_ptr, std::__1::allocator >, std::__1::pair >, void*>, std::__1::__tree_node_destructor, std::__1::allocator >, std::__1::pair >, void*> > > > std::__1::__tree, std::__1::allocator >, std::__1::pair >, std::__1::__map_value_compare, std::__1::allocator >, std::__1::__value_type, std::__1::allocator >, std::__1::pair >, std::__1::less, std::__1::allocator > >, true>, std::__1::allocator, std::__1::allocator >, std::__1::pair > > >::__construct_node, std::__1::allocator > const&, std::__1::pair >(std::__1::basic_string, std::__1::allocator > const&, std::__1::pair&&) in libzmq.a(libzmq_la-socket_base.o) std::__1::pair, std::__1::allocator > const, zmq::ctx_t::pending_connection_t>::pair(std::__1::pair, std::__1::allocator > const, zmq::ctx_t::pending_connection_t> const&) in libzmq.a(libzmq_la-ctx.o) ... "std::__1::basic_string, std::__1::allocator >::basic_string(std::__1::basic_string, std::__1::allocator > const&, unsigned long, unsigned long, std::__1::allocator const&)", referenced from: zmq::socket_base_t::parse_uri(char const*, std::__1::basic_string, std::__1::allocator >&, std::__1::basic_string, std::__1::allocator >&) in libzmq.a(libzmq_la-socket_base.o) zmq::options_t::setsockopt(int, void const*, unsigned long) in libzmq.a(libzmq_la-options.o) zmq::ip_resolver_t::resolve(zmq::ip_addr_t*, char const*) in libzmq.a(libzmq_la-ip_resolver.o) zmq::socks_connecter_t::parse_address(std::__1::basic_string, std::__1::allocator > const&, std::__1::basic_string, std::__1::allocator >&, unsigned short&) in libzmq.a(libzmq_la-socks_connecter.o) "std::__1::basic_string, std::__1::allocator >::~basic_string()", referenced from: zmq::socket_base_t::~socket_base_t() in libzmq.a(libzmq_la-socket_base.o) zmq::routing_socket_base_t::~routing_socket_base_t() in libzmq.a(libzmq_la-socket_base.o) zmq::stream_listener_base_t::~stream_listener_base_t() in libzmq.a(libzmq_la-stream_listener_base.o) zmq::stream_engine_base_t::~stream_engine_base_t() in libzmq.a(libzmq_la-stream_engine_base.o) zmq::stream_connecter_base_t::~stream_connecter_base_t() in libzmq.a(libzmq_la-stream_connecter_base.o) "std::__1::basic_string, std::__1::allocator >::operator=(std::__1::basic_string, std::__1::allocator > const&)", referenced from: zmq::udp_address_t::to_string(std::__1::basic_string, std::__1::allocator >&) in libzmq.a(libzmq_la-udp_address.o) zmq::socks_connecter_t::set_auth_method_basic(std::__1::basic_string, std::__1::allocator > const&, std::__1::basic_string, std::__1::allocator > const&) in libzmq.a(libzmq_la-socks_connecter.o) "std::__1::basic_ostream >::sentry::sentry(std::__1::basic_ostream >&)", referenced from: std::__1::basic_ostream >& std::__1::__put_character_sequence >(std::__1::basic_ostream >&, char const*, unsigned long) in libzmq.a(libzmq_la-ws_address.o) "std::__1::basic_ostream >::sentry::~sentry()", referenced from: std::__1::basic_ostream >& std::__1::__put_character_sequence >(std::__1::basic_ostream >&, char const*, unsigned long) in libzmq.a(libzmq_la-ws_address.o) "std::__1::basic_ostream >::~basic_ostream()", referenced from: zmq::ws_address_t::ws_address_t(sockaddr const*, unsigned int) in libzmq.a(libzmq_la-ws_address.o) std::__1::basic_ostringstream, std::__1::allocator >::basic_ostringstream() in libzmq.a(libzmq_la-ws_address.o) zmq::ws_address_t::to_string(std::__1::basic_string, std::__1::allocator >&) const in libzmq.a(libzmq_la-ws_address.o) zmq::stream_engine_base_t::init_properties(std::__1::map, std::__1::allocator >, std::__1::basic_string, std::__1::allocator >, std::__1::less, std::__1::allocator > >, std::__1::allocator, std::__1::allocator > const, std::__1::basic_string, std::__1::allocator > > > >&) in libzmq.a(libzmq_la-stream_engine_base.o) "std::__1::basic_ostream >::operator<<(int)", referenced from: zmq::stream_engine_base_t::init_properties(std::__1::map, std::__1::allocator >, std::__1::basic_string, std::__1::allocator >, std::__1::less, std::__1::allocator > >, std::__1::allocator, std::__1::allocator > const, std::__1::basic_string, std::__1::allocator > > > >&) in libzmq.a(libzmq_la-stream_engine_base.o) "std::__1::basic_ostream >::operator<<(unsigned short)", referenced from: zmq::ws_address_t::to_string(std::__1::basic_string, std::__1::allocator >&) const in libzmq.a(libzmq_la-ws_address.o) "std::__1::basic_iostream >::~basic_iostream()", referenced from: zmq::address_t::to_string(std::__1::basic_string, std::__1::allocator >&) const in libzmq.a(libzmq_la-address.o) "std::__1::basic_streambuf >::basic_streambuf()", referenced from: std::__1::basic_ostringstream, std::__1::allocator >::basic_ostringstream() in libzmq.a(libzmq_la-ws_address.o) zmq::address_t::to_string(std::__1::basic_string, std::__1::allocator >&) const in libzmq.a(libzmq_la-address.o) zmq::stream_engine_base_t::init_properties(std::__1::map, std::__1::allocator >, std::__1::basic_string, std::__1::allocator >, std::__1::less, std::__1::allocator > >, std::__1::allocator, std::__1::allocator > const, std::__1::basic_string, std::__1::allocator > > > >&) in libzmq.a(libzmq_la-stream_engine_base.o) "std::__1::basic_streambuf >::~basic_streambuf()", referenced from: zmq::ws_address_t::ws_address_t(sockaddr const*, unsigned int) in libzmq.a(libzmq_la-ws_address.o) zmq::ws_address_t::to_string(std::__1::basic_string, std::__1::allocator >&) const in libzmq.a(libzmq_la-ws_address.o) zmq::address_t::to_string(std::__1::basic_string, std::__1::allocator >&) const in libzmq.a(libzmq_la-address.o) zmq::stream_engine_base_t::init_properties(std::__1::map, std::__1::allocator >, std::__1::basic_string, std::__1::allocator >, std::__1::less, std::__1::allocator > >, std::__1::allocator, std::__1::allocator > const, std::__1::basic_string, std::__1::allocator > > > >&) in libzmq.a(libzmq_la-stream_engine_base.o) "std::__1::condition_variable::notify_all()", referenced from: zmq::condition_variable_t::broadcast() in libzmq.a(libzmq_la-mailbox_safe.o) "std::__1::condition_variable::__do_timed_wait(std::__1::unique_lock&, std::__1::chrono::time_point > >)", referenced from: std::__1::cv_status std::__1::condition_variable_any::wait_until > >(zmq::mutex_t&, std::__1::chrono::time_point > > const&) in libzmq.a(libzmq_la-mailbox_safe.o) "std::__1::condition_variable::wait(std::__1::unique_lock&)", referenced from: void std::__1::condition_variable_any::wait(zmq::mutex_t&) in libzmq.a(libzmq_la-mailbox_safe.o) "std::__1::condition_variable::~condition_variable()", referenced from: zmq::mailbox_safe_t::mailbox_safe_t(zmq::mutex_t*) in libzmq.a(libzmq_la-mailbox_safe.o) zmq::condition_variable_t::~condition_variable_t() in libzmq.a(libzmq_la-mailbox_safe.o) zmq::mailbox_safe_t::~mailbox_safe_t() in libzmq.a(libzmq_la-mailbox_safe.o) zmq::condition_variable_t::condition_variable_t() in libzmq.a(libzmq_la-mailbox_safe.o) "std::__1::__shared_weak_count::__release_weak()", referenced from: std::__1::shared_ptr::~shared_ptr() in libzmq.a(libzmq_la-mailbox_safe.o) void std::__1::condition_variable_any::wait(zmq::mutex_t&) in libzmq.a(libzmq_la-mailbox_safe.o) std::__1::cv_status std::__1::condition_variable_any::wait_until > >(zmq::mutex_t&, std::__1::chrono::time_point > > const&) in libzmq.a(libzmq_la-mailbox_safe.o) "std::__1::__shared_weak_count::~__shared_weak_count()", referenced from: std::__1::__shared_ptr_emplace >::~__shared_ptr_emplace() in libzmq.a(libzmq_la-mailbox_safe.o) std::__1::__shared_ptr_emplace >::~__shared_ptr_emplace() in libzmq.a(libzmq_la-mailbox_safe.o) "std::__1::__throw_system_error(int, char const*)", referenced from: std::__1::unique_lock::unlock() in libzmq.a(libzmq_la-mailbox_safe.o) "std::__1::ctype::id", referenced from: std::__1::basic_ostream >& std::__1::__put_character_sequence >(std::__1::basic_ostream >&, char const*, unsigned long) in libzmq.a(libzmq_la-ws_address.o) "std::__1::mutex::lock()", referenced from: zmq::condition_variable_t::broadcast() in libzmq.a(libzmq_la-mailbox_safe.o) void std::__1::condition_variable_any::wait(zmq::mutex_t&) in libzmq.a(libzmq_la-mailbox_safe.o) std::__1::cv_status std::__1::condition_variable_any::wait_until > >(zmq::mutex_t&, std::__1::chrono::time_point > > const&) in libzmq.a(libzmq_la-mailbox_safe.o) "std::__1::mutex::unlock()", referenced from: zmq::condition_variable_t::broadcast() in libzmq.a(libzmq_la-mailbox_safe.o) void std::__1::condition_variable_any::wait(zmq::mutex_t&) in libzmq.a(libzmq_la-mailbox_safe.o) std::__1::unique_lock::unlock() in libzmq.a(libzmq_la-mailbox_safe.o) std::__1::cv_status std::__1::condition_variable_any::wait_until > >(zmq::mutex_t&, std::__1::chrono::time_point > > const&) in libzmq.a(libzmq_la-mailbox_safe.o) "std::__1::mutex::~mutex()", referenced from: std::__1::__shared_ptr_emplace >::__on_zero_shared() in libzmq.a(libzmq_la-mailbox_safe.o) "std::__1::chrono::steady_clock::now()", referenced from: zmq::condition_variable_t::wait(zmq::mutex_t*, int) in libzmq.a(libzmq_la-mailbox_safe.o) std::__1::cv_status std::__1::condition_variable_any::wait_until > >(zmq::mutex_t&, std::__1::chrono::time_point > > const&) in libzmq.a(libzmq_la-mailbox_safe.o) "std::__1::chrono::system_clock::now()", referenced from: std::__1::cv_status std::__1::condition_variable_any::wait_until > >(zmq::mutex_t&, std::__1::chrono::time_point > > const&) in libzmq.a(libzmq_la-mailbox_safe.o) "std::__1::locale::~locale()", referenced from: std::__1::basic_ostream >& std::__1::__put_character_sequence >(std::__1::basic_ostream >&, char const*, unsigned long) in libzmq.a(libzmq_la-ws_address.o) "std::__1::ios_base::__set_badbit_and_consider_rethrow()", referenced from: std::__1::basic_ostream >& std::__1::__put_character_sequence >(std::__1::basic_ostream >&, char const*, unsigned long) in libzmq.a(libzmq_la-ws_address.o) "std::__1::ios_base::init(void*)", referenced from: std::__1::basic_ostringstream, std::__1::allocator >::basic_ostringstream() in libzmq.a(libzmq_la-ws_address.o) zmq::address_t::to_string(std::__1::basic_string, std::__1::allocator >&) const in libzmq.a(libzmq_la-address.o) zmq::stream_engine_base_t::init_properties(std::__1::map, std::__1::allocator >, std::__1::basic_string, std::__1::allocator >, std::__1::less, std::__1::allocator > >, std::__1::allocator, std::__1::allocator > const, std::__1::basic_string, std::__1::allocator > > > >&) in libzmq.a(libzmq_la-stream_engine_base.o) "std::__1::ios_base::clear(unsigned int)", referenced from: std::__1::basic_ostream >& std::__1::__put_character_sequence >(std::__1::basic_ostream >&, char const*, unsigned long) in libzmq.a(libzmq_la-ws_address.o) "std::__1::basic_ios >::~basic_ios()", referenced from: zmq::ws_address_t::ws_address_t(sockaddr const*, unsigned int) in libzmq.a(libzmq_la-ws_address.o) std::__1::basic_ostringstream, std::__1::allocator >::basic_ostringstream() in libzmq.a(libzmq_la-ws_address.o) zmq::ws_address_t::to_string(std::__1::basic_string, std::__1::allocator >&) const in libzmq.a(libzmq_la-ws_address.o) zmq::address_t::to_string(std::__1::basic_string, std::__1::allocator >&) const in libzmq.a(libzmq_la-address.o) zmq::stream_engine_base_t::init_properties(std::__1::map, std::__1::allocator >, std::__1::basic_string, std::__1::allocator >, std::__1::less, std::__1::allocator > >, std::__1::allocator, std::__1::allocator > const, std::__1::basic_string, std::__1::allocator > > > >&) in libzmq.a(libzmq_la-stream_engine_base.o) "std::nothrow", referenced from: _zmq_ctx_new in libzmq.a(libzmq_la-zmq.o) _zmq_poll in libzmq.a(libzmq_la-zmq.o) zmq::fast_vector_t::fast_vector_t(unsigned long) in libzmq.a(libzmq_la-zmq.o) zmq::socket_base_t::create(int, zmq::ctx_t*, unsigned int, int) in libzmq.a(libzmq_la-socket_base.o) zmq::socket_base_t::socket_base_t(zmq::ctx_t*, unsigned int, int, bool) in libzmq.a(libzmq_la-socket_base.o) zmq::socket_base_t::bind(char const*) in libzmq.a(libzmq_la-socket_base.o) zmq::socket_base_t::connect_internal(char const*) in libzmq.a(libzmq_la-socket_base.o) ... "std::terminate()", referenced from: ___clang_call_terminate in libzmq.a(libzmq_la-socket_base.o) "typeinfo for std::__1::__shared_weak_count", referenced from: typeinfo for std::__1::__shared_ptr_emplace > in libzmq.a(libzmq_la-mailbox_safe.o) "typeinfo for std::length_error", referenced from: std::__1::__throw_length_error(char const*) in libzmq.a(libzmq_la-socket_base.o) std::__1::__throw_length_error(char const*) in libzmq.a(libzmq_la-socket_poller.o) std::__1::__throw_length_error(char const*) in libzmq.a(libzmq_la-ctx.o) std::__1::__throw_length_error(char const*) in libzmq.a(libzmq_la-options.o) std::__1::__throw_length_error(char const*) in libzmq.a(libzmq_la-mailbox_safe.o) std::__1::__throw_length_error(char const*) in libzmq.a(libzmq_la-xpub.o) std::__1::__throw_length_error(char const*) in libzmq.a(libzmq_la-radio.o) ... "typeinfo for std::bad_alloc", referenced from: GCC_except_table9 in libzmq.a(libzmq_la-socket_poller.o) GCC_except_table10 in libzmq.a(libzmq_la-socket_poller.o) GCC_except_table27 in libzmq.a(libzmq_la-ctx.o) "VTT for std::__1::basic_stringstream, std::__1::allocator >", referenced from: zmq::address_t::to_string(std::__1::basic_string, std::__1::allocator >&) const in libzmq.a(libzmq_la-address.o) "VTT for std::__1::basic_ostringstream, std::__1::allocator >", referenced from: zmq::ws_address_t::ws_address_t(sockaddr const*, unsigned int) in libzmq.a(libzmq_la-ws_address.o) std::__1::basic_ostringstream, std::__1::allocator >::basic_ostringstream() in libzmq.a(libzmq_la-ws_address.o) zmq::ws_address_t::to_string(std::__1::basic_string, std::__1::allocator >&) const in libzmq.a(libzmq_la-ws_address.o) zmq::stream_engine_base_t::init_properties(std::__1::map, std::__1::allocator >, std::__1::basic_string, std::__1::allocator >, std::__1::less, std::__1::allocator > >, std::__1::allocator, std::__1::allocator > const, std::__1::basic_string, std::__1::allocator > > > >&) in libzmq.a(libzmq_la-stream_engine_base.o) "vtable for __cxxabiv1::__class_type_info", referenced from: typeinfo for zmq::array_item_t<0> in libzmq.a(libzmq_la-socket_base.o) typeinfo for zmq::i_poll_events in libzmq.a(libzmq_la-socket_base.o) typeinfo for zmq::i_pipe_events in libzmq.a(libzmq_la-socket_base.o) typeinfo for zmq::udp_address_t in libzmq.a(libzmq_la-udp_address.o) typeinfo for zmq::i_mailbox in libzmq.a(libzmq_la-mailbox_safe.o) typeinfo for zmq::ypipe_base_t in libzmq.a(libzmq_la-mailbox_safe.o) typeinfo for zmq::array_item_t<1> in libzmq.a(libzmq_la-pipe.o) ... NOTE: a missing vtable usually means the first non-inline virtual member function has no definition. "vtable for __cxxabiv1::__si_class_type_info", referenced from: typeinfo for zmq::routing_socket_base_t in libzmq.a(libzmq_la-socket_base.o) typeinfo for zmq::peer_t in libzmq.a(libzmq_la-peer.o) typeinfo for zmq::ws_listener_t in libzmq.a(libzmq_la-ws_listener.o) typeinfo for zmq::ipc_listener_t in libzmq.a(libzmq_la-ipc_listener.o) typeinfo for zmq::mailbox_safe_t in libzmq.a(libzmq_la-mailbox_safe.o) typeinfo for std::__1::__shared_ptr_emplace > in libzmq.a(libzmq_la-mailbox_safe.o) typeinfo for zmq::ypipe_t in libzmq.a(libzmq_la-mailbox_safe.o) ... NOTE: a missing vtable usually means the first non-inline virtual member function has no definition. "vtable for __cxxabiv1::__vmi_class_type_info", referenced from: typeinfo for zmq::socket_base_t in libzmq.a(libzmq_la-socket_base.o) typeinfo for zmq::io_thread_t in libzmq.a(libzmq_la-io_thread.o) typeinfo for zmq::pipe_t in libzmq.a(libzmq_la-pipe.o) typeinfo for zmq::session_base_t in libzmq.a(libzmq_la-session_base.o) typeinfo for zmq::reaper_t in libzmq.a(libzmq_la-reaper.o) typeinfo for zmq::stream_listener_base_t in libzmq.a(libzmq_la-stream_listener_base.o) typeinfo for zmq::udp_engine_t in libzmq.a(libzmq_la-udp_engine.o) ... NOTE: a missing vtable usually means the first non-inline virtual member function has no definition. "vtable for std::__1::basic_stringbuf, std::__1::allocator >", referenced from: zmq::ws_address_t::ws_address_t(sockaddr const*, unsigned int) in libzmq.a(libzmq_la-ws_address.o) std::__1::basic_ostringstream, std::__1::allocator >::basic_ostringstream() in libzmq.a(libzmq_la-ws_address.o) zmq::ws_address_t::to_string(std::__1::basic_string, std::__1::allocator >&) const in libzmq.a(libzmq_la-ws_address.o) zmq::address_t::to_string(std::__1::basic_string, std::__1::allocator >&) const in libzmq.a(libzmq_la-address.o) zmq::stream_engine_base_t::init_properties(std::__1::map, std::__1::allocator >, std::__1::basic_string, std::__1::allocator >, std::__1::less, std::__1::allocator > >, std::__1::allocator, std::__1::allocator > const, std::__1::basic_string, std::__1::allocator > > > >&) in libzmq.a(libzmq_la-stream_engine_base.o) NOTE: a missing vtable usually means the first non-inline virtual member function has no definition. "vtable for std::__1::basic_stringstream, std::__1::allocator >", referenced from: zmq::address_t::to_string(std::__1::basic_string, std::__1::allocator >&) const in libzmq.a(libzmq_la-address.o) NOTE: a missing vtable usually means the first non-inline virtual member function has no definition. "vtable for std::__1::basic_ostringstream, std::__1::allocator >", referenced from: std::__1::basic_ostringstream, std::__1::allocator >::basic_o stringstream() in libzmq.a(libzmq_la-ws_address.o) zmq::stream_engine_base_t::init_properties(std::__1::map, std::__1::allocator >, std::__1::basic_string, std::__1::allocator >, std::__1::less, std::__1::allocator > >, std::__1::allocator, std::__1::allocator > const, std::__1::basic_string, std::__1::allocator > > > >&) in libzmq.a(libzmq_la-stream_engine_base.o) NOTE: a missing vtable usually means the first non-inline virtual member function has no definition. "vtable for std::length_error", referenced from: std::length_error::length_error(char const*) in libzmq.a(libzmq_la-socket_base.o) std::length_error::length_error(char const*) in libzmq.a(libzmq_la-socket_poller.o) std::length_error::length_error(char const*) in libzmq.a(libzmq_la-ctx.o) std::length_error::length_error(char const*) in libzmq.a(libzmq_la-options.o) std::length_error::length_error(char const*) in libzmq.a(libzmq_la-mailbox_safe.o) std::length_error::length_error(char const*) in libzmq.a(libzmq_la-xpub.o) std::length_error::length_error(char const*) in libzmq.a(libzmq_la-radio.o) ... NOTE: a missing vtable usually means the first non-inline virtual member function has no definition. "operator delete[](void*)", referenced from: _zmq_poll in libzmq.a(libzmq_la-zmq.o) "operator delete(void*)", referenced from: _zmq_ctx_new in libzmq.a(libzmq_la-zmq.o) zmq::socket_base_t::inprocs_t::emplace(char const*, zmq::pipe_t*) in libzmq.a(libzmq_la-socket_base.o) zmq::socket_base_t::socket_base_t(zmq::ctx_t*, unsigned int, int, bool) in libzmq.a(libzmq_la-socket_base.o) zmq::array_t::~array_t() in libzmq.a(libzmq_la-socket_base.o) zmq::socket_base_t::~socket_base_t() in libzmq.a(libzmq_la-socket_base.o) zmq::socket_base_t::parse_uri(char const*, std::__1::basic_string, std::__1::allocator >&, std::__1::basic_string, std::__1::allocator >&) in libzmq.a(libzmq_la-socket_base.o) zmq::array_t::push_back(zmq::pipe_t*) in libzmq.a(libzmq_la-socket_base.o) ... "operator delete(void*, std::nothrow_t const&)", referenced from: _zmq_ctx_new in libzmq.a(libzmq_la-zmq.o) zmq::socket_base_t::create(int, zmq::ctx_t*, unsigned int, int) in libzmq.a(libzmq_la-socket_base.o) zmq::socket_base_t::socket_base_t(zmq::ctx_t*, unsigned int, int, bool) in libzmq.a(libzmq_la-socket_base.o) zmq::socket_base_t::bind(char const*) in libzmq.a(libzmq_la-socket_base.o) zmq::socket_base_t::connect_internal(char const*) in libzmq.a(libzmq_la-socket_base.o) zmq::socket_base_t::resolve_tcp_addr(std::__1::basic_string, std::__1::allocator >, char const*) in libzmq.a(libzmq_la-socket_base.o) zmq::socket_base_t::start_reaping(zmq::kqueue_t*) in libzmq.a(libzmq_la-socket_base.o) ... "operator new[](unsigned long, std::nothrow_t const&)", referenced from: _zmq_poll in libzmq.a(libzmq_la-zmq.o) zmq::fast_vector_t::fast_vector_t(unsigned long) in libzmq.a(libzmq_la-zmq.o) "operator new(unsigned long)", referenced from: std::__1::basic_string, std::__1::allocator >::basic_string(char const*) in libzmq.a(libzmq_la-socket_base.o) zmq::array_t::push_back(zmq::pipe_t*) in libzmq.a(libzmq_la-socket_base.o) std::__1::vector >::__vallocate(unsigned long) in libzmq.a(libzmq_la-socket_base.o) std::__1::unique_ptr, std::__1::allocator >, std::__1::basic_string, std::__1::allocator > >, void*>, std::__1::__tree_node_destructor, std::__1::allocator >, std::__1::basic_string, std::__1::allocator > >, void*> > > > std::__1::__tree, std::__1::allocator >, std::__1::basic_string, std::__1::allocator > >, std::__1::__map_value_compare, std::__1::allocator >, std::__1::__value_type, std::__1::allocator >, std::__1::basic_string, std::__1::allocator > >, std::__1::less, std::__1::allocator > >, true>, std::__1::allocator, std::__1::allocator >, std::__1::basic_string, std::__1::allocator > > > >::__construct_node, std::__1::allocator > const, std::__1::basic_string, std::__1::allocator > > const&>(std::__1::pair, std::__1::allocator > const, std::__1::basic_string, std::__1::allocator > > const&) in libzmq.a(libzmq_la-socket_base.o) std::__1::vector >::__vallocate(unsigned long) in libzmq.a(libzmq_la-socket_base.o) std::__1::__tree_iterator, std::__1::allocator >, zmq::pipe_t*>, std::__1::__tree_node, std::__1::allocator >, zmq::pipe_t*>, void*>*, long> std::__1::__tree, std::__1::allocator >, zmq::pipe_t*>, std::__1::__map_value_compare, std::__1::allocator >, std::__1::__value_type, std::__1::allocator >, zmq::pipe_t*>, std::__1::less, std::__1::allocator > >, true>, std::__1::allocator, std::__1::allocator >, zmq::pipe_t*> > >::__emplace_multi, std::__1::allocator >, zmq::pipe_t*&>(std::__1::basic_string, std::__1::allocator >&&, zmq::pipe_t*&) in libzmq.a(libzmq_la-socket_base.o) std::__1::unique_ptr, std::__1::allocator >, std::__1::pair >, void*>, std::__1::__tree_node_destructor, std::__1::allocator >, std::__1::pair >, void*> > > > std::__1::__tree, std::__1::allocator >, std::__1::pair >, std::__1::__map_value_compare, std::__1::allocator >, std::__1::__value_type, std::__1::allocator >, std::__1::pair >, std::__1::less, std::__1::allocator > >, true>, std::__1::allocator, std::__1::allocator >, std::__1::pair > > >::__construct_node, std::__1::allocator > const&, std::__1::pair >(std::__1::basic_string, std::__1::allocator > const&, std::__1::pair&&) in libzmq.a(libzmq_la-socket_base.o) ... "operator new(unsigned long, std::nothrow_t const&)", referenced from: _zmq_ctx_new in libzmq.a(libzmq_la-zmq.o) zmq::socket_base_t::create(int, zmq::ctx_t*, unsigned int, int) in libzmq.a(libzmq_la-socket_base.o) zmq::socket_base_t::socket_base_t(zmq::ctx_t*, unsigned int, int, bool) in libzmq.a(libzmq_la-socket_base.o) zmq::socket_base_t::bind(char const*) in libzmq.a(libzmq_la-socket_base.o) zmq::socket_base_t::connect_internal(char const*) in libzmq.a(libzmq_la-socket_base.o) zmq::socket_base_t::resolve_tcp_addr(std::__1::basic_string, std::__1::allocator >, char const*) in libzmq.a(libzmq_la-socket_base.o) zmq::socket_base_t::start_reaping(zmq::kqueue_t*) in libzmq.a(libzmq_la-socket_base.o) ... "___cxa_allocate_exception", referenced from: std::__1::__throw_length_error(char const*) in libzmq.a(libzmq_la-socket_base.o) std::__1::__throw_length_error(char const*) in libzmq.a(libzmq_la-socket_poller.o) std::__1::__throw_length_error(char const*) in libzmq.a(libzmq_la-ctx.o) std::__1::__throw_length_error(char const*) in libzmq.a(libzmq_la-options.o) std::__1::__throw_length_error(char const*) in libzmq.a(libzmq_la-mailbox_safe.o) std::__1::__throw_length_error(char const*) in libzmq.a(libzmq_la-xpub.o) std::__1::__throw_length_error(char const*) in libzmq.a(libzmq_la-radio.o) ... "___cxa_begin_catch", referenced from: ___clang_call_terminate in libzmq.a(libzmq_la-socket_base.o) zmq::socket_poller_t::add(zmq::socket_base_t*, void*, short) in libzmq.a(libzmq_la-socket_poller.o) zmq::socket_poller_t::add_fd(int, void*, short) in libzmq.a(libzmq_la-socket_poller.o) zmq::ctx_t::start() in libzmq.a(libzmq_la-ctx.o) std::__1::basic_ostream >& std::__1::__put_character_sequence >(std::__1::basic_ostream >&, char const*, unsigned long) in libzmq.a(libzmq_la-ws_address.o) "___cxa_end_catch", referenced from: zmq::socket_poller_t::add(zmq::socket_base_t*, void*, short) in libzmq.a(libzmq_la-socket_poller.o) zmq::socket_poller_t::add_fd(int, void*, short) in libzmq.a(libzmq_la-socket_poller.o) zmq::ctx_t::start() in libzmq.a(libzmq_la-ctx.o) std::__1::basic_ostream >& std::__1::__put_character_sequence >(std::__1::basic_ostream >&, char const*, unsigned long) in libzmq.a(libzmq_la-ws_address.o) "___cxa_free_exception", referenced from: std::__1::__throw_length_error(char const*) in libzmq.a(libzmq_la-socket_base.o) std::__1::__throw_length_error(char const*) in libzmq.a(libzmq_la-socket_poller.o) std::__1::__throw_length_error(char const*) in libzmq.a(libzmq_la-ctx.o) std::__1::__throw_length_error(char const*) in libzmq.a(libzmq_la-options.o) std::__1::__throw_length_error(char const*) in libzmq.a(libzmq_la-mailbox_safe.o) std::__1::__throw_length_error(char const*) in libzmq.a(libzmq_la-xpub.o) std::__1::__throw_length_error(char const*) in libzmq.a(libzmq_la-radio.o) ... "___cxa_guard_abort", referenced from: manage_random(bool) in libzmq.a(libzmq_la-random.o) "___cxa_guard_acquire", referenced from: manage_random(bool) in libzmq.a(libzmq_la-random.o) "___cxa_guard_release", referenced from: manage_random(bool) in libzmq.a(libzmq_la-random.o) "___cxa_pure_virtual", referenced from: vtable for zmq::socket_base_t in libzmq.a(libzmq_la-socket_base.o) vtable for zmq::routing_socket_base_t in libzmq.a(libzmq_la-socket_base.o) vtable for zmq::worker_poller_base_t in libzmq.a(libzmq_la-kqueue.o) vtable for zmq::stream_listener_base_t in libzmq.a(libzmq_la-stream_listener_base.o) vtable for zmq::decoder_base_t in libzmq.a(libzmq_la-v1_decoder.o) vtable for zmq::decoder_base_t in libzmq.a(libzmq_la-v2_decoder.o) vtable for zmq::decoder_base_t in libzmq.a(libzmq_la-ws_decoder.o) ... "___cxa_throw", referenced from: std::__1::__throw_length_error(char const*) in libzmq.a(libzmq_la-socket_base.o) std::__1::__throw_length_error(char const*) in libzmq.a(libzmq_la-socket_poller.o) std::__1::__throw_length_error(char const*) in libzmq.a(libzmq_la-ctx.o) std::__1::__throw_length_error(char const*) in libzmq.a(libzmq_la-options.o) std::__1::__throw_length_error(char const*) in libzmq.a(libzmq_la-mailbox_safe.o) std::__1::__throw_length_error(char const*) in libzmq.a(libzmq_la-xpub.o) std::__1::__throw_length_error(char const*) in libzmq.a(libzmq_la-radio.o) ... "___gxx_personality_v0", referenced from: _zmq_ctx_new in libzmq.a(libzmq_la-zmq.o) _zmq_poll in libzmq.a(libzmq_la-zmq.o) zmq::socket_base_t::inprocs_t::emplace(char const*, zmq::pipe_t*) in libzmq.a(libzmq_la-socket_base.o) zmq::socket_base_t::create(int, zmq::ctx_t*, unsigned int, int) in libzmq.a(libzmq_la-socket_base.o) zmq::socket_base_t::socket_base_t(zmq::ctx_t*, unsigned int, int, bool) in libzmq.a(libzmq_la-socket_base.o) zmq::socket_base_t::~socket_base_t() in libzmq.a(libzmq_la-socket_base.o) zmq::scoped_lock_t::~scoped_lock_t() in libzmq.a(libzmq_la-socket_base.o) ... ld: symbol(s) not found for architecture arm64 clang: error: linker command failed with exit code 1 (use -v to see invocation) error: could not compile `indy-vdr` due to previous error warning: build failed, waiting for other jobs to finish... ```
dinbtechit commented 1 year ago

Looks like someone else also had the same issue - https://stackoverflow.com/questions/71162949/using-zmq-on-ios

Does anyone have any insight, please?

mrwns commented 12 months ago

for me (M2 silicon) this worked when switching to zmq = "0.10", with zmq = "0.9" it did not.

gmulhearn-anonyome commented 10 months ago

I've also had success by checking out libzmq 4.2.5, then pulling in the modified script above, running it, and then linking it in with my rust crate that consumes zmq 0.9 via libindy_vdr

dinbtechit commented 10 months ago

@gmulhearn-anonyome - That's great to hear.

However, where did you get 4.2.5? The latest version I see is 4.2.4. Perhaps it's a typo? Also, do you happen to have a git repo that I can refer? Thanks, mate!

gmulhearn-anonyome commented 10 months ago

@dinbtechit this release of libzmq is the repo i checked out; https://github.com/zeromq/libzmq/releases/tag/v4.2.5 . i choose this version simply because it's what i was using previously in my project; and it seems to be compatible with zmq = "0.9", and therefore compatible with indy-vdr.

and no sorry i haven't committed this anywhere, but the steps were:

  1. copy the build_ios.sh script from libzmq master,
  2. add the modification you applied above (in my case i also applied a modification to ONLY build for arm64-sim, since i already have the other architectures built previously),
  3. checkout libzmq @4.2.5 tag and add the modified script in,
  4. run the script as per usual
  5. set env variable LIBZMQ_PREFIX to point at the dir the build script generates
  6. build it my rust binary with: RUSTFLAGS='-C link-args=-lc++' cargo build --target aarch64-apple-ios-sim

also after this, with my rust binary; project.a, i use libtool to include libzmq.a and project.a in the same binary (i don't know if this is still necessary, i need to experiment, but just pointing out that I'm doing it). essentially i do this;

libtool -static libsodium.a libzmq.a project.a -o final.a
dinbtechit commented 10 months ago

I will give that a shot. Thanks @gmulhearn-anonyome