[Bug] - Unable to build libzmq for aarch64-apple-ios-sim
Issue description
How to build libzmq for aarch64-apple-ios-sim (IOS Simulator on M1)?
Environment
- libzmq version (commit hash if unreleased): Latest
- OS: Mac M1
Minimal test code / Steps to reproduce the issue
- Run ios build
./builds/ios/build_ios.sh
output:
which generates libs and include packages for all platforms except aarch64-apple-ios-sim

- 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!
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.

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<char, std::__1::char_traits<char>, std::__1::allocator<char> >::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<char, std::__1::char_traits<char>, std::__1::allocator<char> >::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<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, unsigned short&) in libzmq.a(libzmq_la-socks_connecter.o)
"std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::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<char, std::__1::char_traits<char>, std::__1::allocator<char> >::compare(unsigned long, unsigned long, char const*, unsigned long) const", referenced from:
zmq::socket_base_t::check_protocol(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > 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<char, std::__1::char_traits<char>, std::__1::allocator<char> >::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<char, std::__1::char_traits<char>, std::__1::allocator<char> >&) const in libzmq.a(libzmq_la-ws_address.o)
zmq::address_t::to_string(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&) const in libzmq.a(libzmq_la-address.o)
zmq::stream_engine_base_t::init_properties(std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > >&) 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<std::__1::mutex, std::__1::allocator<std::__1::mutex> > in libzmq.a(libzmq_la-mailbox_safe.o)
"std::__1::__vector_base_common<true>::__throw_length_error() const", referenced from:
std::__1::__vector_base<zmq::tcp_address_mask_t, std::__1::allocator<zmq::tcp_address_mask_t> >::__throw_length_error() const in libzmq.a(libzmq_la-socket_base.o)
std::__1::__vector_base<unsigned char, std::__1::allocator<unsigned char> >::__throw_length_error() const in libzmq.a(libzmq_la-socket_base.o)
std::__1::__vector_base<zmq::pipe_t*, std::__1::allocator<zmq::pipe_t*> >::__throw_length_error() const in libzmq.a(libzmq_la-socket_base.o)
std::__1::__vector_base<zmq::socket_poller_t::item_t, std::__1::allocator<zmq::socket_poller_t::item_t> >::__throw_length_error() const in libzmq.a(libzmq_la-socket_poller.o)
std::__1::__vector_base<char, std::__1::allocator<char> >::__throw_length_error() const in libzmq.a(libzmq_la-ip.o)
std::__1::__vector_base<zmq::i_mailbox*, std::__1::allocator<zmq::i_mailbox*> >::__throw_length_error() const in libzmq.a(libzmq_la-ctx.o)
std::__1::__vector_base<zmq::io_thread_t*, std::__1::allocator<zmq::io_thread_t*> >::__throw_length_error() const in libzmq.a(libzmq_la-ctx.o)
...
"std::__1::__basic_string_common<true>::__throw_length_error() const", referenced from:
std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::__throw_length_error() const in libzmq.a(libzmq_la-socket_base.o)
std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::__throw_length_error() const in libzmq.a(libzmq_la-ip.o)
std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::__throw_length_error() const in libzmq.a(libzmq_la-ctx.o)
std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::__throw_length_error() const in libzmq.a(libzmq_la-ws_address.o)
std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::__throw_length_error() const in libzmq.a(libzmq_la-options.o)
std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::__throw_length_error() const in libzmq.a(libzmq_la-tcp_address.o)
std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::__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<char, std::__1::char_traits<char> >& std::__1::__put_character_sequence<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*, unsigned long) in libzmq.a(libzmq_la-ws_address.o)
"std::__1::ios_base::getloc() const", referenced from:
std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::__put_character_sequence<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, 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<char, std::__1::char_traits<char>, std::__1::allocator<char> >::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<char, std::__1::char_traits<char>, std::__1::allocator<char> >::append(char const*)", referenced from:
zmq::create_ipc_wildcard_address(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&) in libzmq.a(libzmq_la-ip.o)
"std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::append(char const*, unsigned long)", referenced from:
zmq::create_ipc_wildcard_address(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&) 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<char, std::__1::char_traits<char>, std::__1::allocator<char> >::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<char, std::__1::char_traits<char>, std::__1::allocator<char> >&) in libzmq.a(libzmq_la-ip.o)
zmq::create_ipc_wildcard_address(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&) 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<char, std::__1::char_traits<char>, std::__1::allocator<char> >::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<char, std::__1::char_traits<char>, std::__1::allocator<char> >*, unsigned long) in libzmq.a(libzmq_la-options.o)
zmq::ipc_address_t::to_string(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&) 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<char, std::__1::char_traits<char>, std::__1::allocator<char> >::push_back(char)", referenced from:
zmq::create_ipc_wildcard_address(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&) in libzmq.a(libzmq_la-ip.o)
"std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::basic_string(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > 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::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >::pair(std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > const&) in libzmq.a(libzmq_la-socket_base.o)
zmq::endpoint_uri_pair_t::endpoint_uri_pair_t(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, zmq::endpoint_type_t) in libzmq.a(libzmq_la-socket_base.o)
std::__1::unique_ptr<std::__1::__tree_node<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::pair<zmq::own_t*, zmq::pipe_t*> >, void*>, std::__1::__tree_node_destructor<std::__1::allocator<std::__1::__tree_node<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::pair<zmq::own_t*, zmq::pipe_t*> >, void*> > > > std::__1::__tree<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::pair<zmq::own_t*, zmq::pipe_t*> >, std::__1::__map_value_compare<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::pair<zmq::own_t*, zmq::pipe_t*> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, true>, std::__1::allocator<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::pair<zmq::own_t*, zmq::pipe_t*> > > >::__construct_node<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::pair<zmq::own_t*, zmq::pipe_t*> >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::pair<zmq::own_t*, zmq::pipe_t*>&&) in libzmq.a(libzmq_la-socket_base.o)
std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, zmq::ctx_t::pending_connection_t>::pair(std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, zmq::ctx_t::pending_connection_t> const&) in libzmq.a(libzmq_la-ctx.o)
...
"std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::basic_string(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned long, unsigned long, std::__1::allocator<char> const&)", referenced from:
zmq::socket_base_t::parse_uri(char const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&) 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<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, unsigned short&) in libzmq.a(libzmq_la-socks_connecter.o)
"std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::~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<char, std::__1::char_traits<char>, std::__1::allocator<char> >::operator=(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&)", referenced from:
zmq::udp_address_t::to_string(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&) in libzmq.a(libzmq_la-udp_address.o)
zmq::socks_connecter_t::set_auth_method_basic(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&) in libzmq.a(libzmq_la-socks_connecter.o)
"std::__1::basic_ostream<char, std::__1::char_traits<char> >::sentry::sentry(std::__1::basic_ostream<char, std::__1::char_traits<char> >&)", referenced from:
std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::__put_character_sequence<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*, unsigned long) in libzmq.a(libzmq_la-ws_address.o)
"std::__1::basic_ostream<char, std::__1::char_traits<char> >::sentry::~sentry()", referenced from:
std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::__put_character_sequence<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*, unsigned long) in libzmq.a(libzmq_la-ws_address.o)
"std::__1::basic_ostream<char, std::__1::char_traits<char> >::~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<char, std::__1::char_traits<char>, std::__1::allocator<char> >::basic_ostringstream() in libzmq.a(libzmq_la-ws_address.o)
zmq::ws_address_t::to_string(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&) const in libzmq.a(libzmq_la-ws_address.o)
zmq::stream_engine_base_t::init_properties(std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > >&) in libzmq.a(libzmq_la-stream_engine_base.o)
"std::__1::basic_ostream<char, std::__1::char_traits<char> >::operator<<(int)", referenced from:
zmq::stream_engine_base_t::init_properties(std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > >&) in libzmq.a(libzmq_la-stream_engine_base.o)
"std::__1::basic_ostream<char, std::__1::char_traits<char> >::operator<<(unsigned short)", referenced from:
zmq::ws_address_t::to_string(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&) const in libzmq.a(libzmq_la-ws_address.o)
"std::__1::basic_iostream<char, std::__1::char_traits<char> >::~basic_iostream()", referenced from:
zmq::address_t::to_string(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&) const in libzmq.a(libzmq_la-address.o)
"std::__1::basic_streambuf<char, std::__1::char_traits<char> >::basic_streambuf()", referenced from:
std::__1::basic_ostringstream<char, std::__1::char_traits<char>, std::__1::allocator<char> >::basic_ostringstream() in libzmq.a(libzmq_la-ws_address.o)
zmq::address_t::to_string(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&) const in libzmq.a(libzmq_la-address.o)
zmq::stream_engine_base_t::init_properties(std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > >&) in libzmq.a(libzmq_la-stream_engine_base.o)
"std::__1::basic_streambuf<char, std::__1::char_traits<char> >::~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<char, std::__1::char_traits<char>, std::__1::allocator<char> >&) const in libzmq.a(libzmq_la-ws_address.o)
zmq::address_t::to_string(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&) const in libzmq.a(libzmq_la-address.o)
zmq::stream_engine_base_t::init_properties(std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > >&) 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::mutex>&, std::__1::chrono::time_point<std::__1::chrono::system_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >)", referenced from:
std::__1::cv_status std::__1::condition_variable_any::wait_until<zmq::mutex_t, std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >(zmq::mutex_t&, std::__1::chrono::time_point<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > > const&) in libzmq.a(libzmq_la-mailbox_safe.o)
"std::__1::condition_variable::wait(std::__1::unique_lock<std::__1::mutex>&)", referenced from:
void std::__1::condition_variable_any::wait<zmq::mutex_t>(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<std::__1::mutex>::~shared_ptr() in libzmq.a(libzmq_la-mailbox_safe.o)
void std::__1::condition_variable_any::wait<zmq::mutex_t>(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::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >(zmq::mutex_t&, std::__1::chrono::time_point<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > > const&) in libzmq.a(libzmq_la-mailbox_safe.o)
"std::__1::__shared_weak_count::~__shared_weak_count()", referenced from:
std::__1::__shared_ptr_emplace<std::__1::mutex, std::__1::allocator<std::__1::mutex> >::~__shared_ptr_emplace() in libzmq.a(libzmq_la-mailbox_safe.o)
std::__1::__shared_ptr_emplace<std::__1::mutex, std::__1::allocator<std::__1::mutex> >::~__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<std::__1::mutex>::unlock() in libzmq.a(libzmq_la-mailbox_safe.o)
"std::__1::ctype<char>::id", referenced from:
std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::__put_character_sequence<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, 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>(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::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >(zmq::mutex_t&, std::__1::chrono::time_point<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > > 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>(zmq::mutex_t&) in libzmq.a(libzmq_la-mailbox_safe.o)
std::__1::unique_lock<std::__1::mutex>::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::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >(zmq::mutex_t&, std::__1::chrono::time_point<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > > const&) in libzmq.a(libzmq_la-mailbox_safe.o)
"std::__1::mutex::~mutex()", referenced from:
std::__1::__shared_ptr_emplace<std::__1::mutex, std::__1::allocator<std::__1::mutex> >::__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::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >(zmq::mutex_t&, std::__1::chrono::time_point<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > > 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::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > >(zmq::mutex_t&, std::__1::chrono::time_point<std::__1::chrono::steady_clock, std::__1::chrono::duration<long long, std::__1::ratio<1l, 1000000000l> > > const&) in libzmq.a(libzmq_la-mailbox_safe.o)
"std::__1::locale::~locale()", referenced from:
std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::__put_character_sequence<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, 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<char, std::__1::char_traits<char> >& std::__1::__put_character_sequence<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*, unsigned long) in libzmq.a(libzmq_la-ws_address.o)
"std::__1::ios_base::init(void*)", referenced from:
std::__1::basic_ostringstream<char, std::__1::char_traits<char>, std::__1::allocator<char> >::basic_ostringstream() in libzmq.a(libzmq_la-ws_address.o)
zmq::address_t::to_string(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&) const in libzmq.a(libzmq_la-address.o)
zmq::stream_engine_base_t::init_properties(std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > >&) in libzmq.a(libzmq_la-stream_engine_base.o)
"std::__1::ios_base::clear(unsigned int)", referenced from:
std::__1::basic_ostream<char, std::__1::char_traits<char> >& std::__1::__put_character_sequence<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, char const*, unsigned long) in libzmq.a(libzmq_la-ws_address.o)
"std::__1::basic_ios<char, std::__1::char_traits<char> >::~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<char, std::__1::char_traits<char>, std::__1::allocator<char> >::basic_ostringstream() in libzmq.a(libzmq_la-ws_address.o)
zmq::ws_address_t::to_string(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&) const in libzmq.a(libzmq_la-ws_address.o)
zmq::address_t::to_string(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&) const in libzmq.a(libzmq_la-address.o)
zmq::stream_engine_base_t::init_properties(std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > >&) 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<pollfd, 16ul>::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<std::__1::mutex, std::__1::allocator<std::__1::mutex> > 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<char, std::__1::char_traits<char>, std::__1::allocator<char> >", referenced from:
zmq::address_t::to_string(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&) const in libzmq.a(libzmq_la-address.o)
"VTT for std::__1::basic_ostringstream<char, std::__1::char_traits<char>, std::__1::allocator<char> >", 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<char, std::__1::char_traits<char>, std::__1::allocator<char> >::basic_ostringstream() in libzmq.a(libzmq_la-ws_address.o)
zmq::ws_address_t::to_string(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&) const in libzmq.a(libzmq_la-ws_address.o)
zmq::stream_engine_base_t::init_properties(std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > >&) 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<zmq::command_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<std::__1::mutex, std::__1::allocator<std::__1::mutex> > in libzmq.a(libzmq_la-mailbox_safe.o)
typeinfo for zmq::ypipe_t<zmq::command_t, 16> 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<char, std::__1::char_traits<char>, std::__1::allocator<char> >", 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<char, std::__1::char_traits<char>, std::__1::allocator<char> >::basic_ostringstream() in libzmq.a(libzmq_la-ws_address.o)
zmq::ws_address_t::to_string(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&) const in libzmq.a(libzmq_la-ws_address.o)
zmq::address_t::to_string(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&) const in libzmq.a(libzmq_la-address.o)
zmq::stream_engine_base_t::init_properties(std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > >&) 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<char, std::__1::char_traits<char>, std::__1::allocator<char> >", referenced from:
zmq::address_t::to_string(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&) 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<char, std::__1::char_traits<char>, std::__1::allocator<char> >", referenced from:
std::__1::basic_ostringstream<char, std::__1::char_traits<char>, std::__1::allocator<char> >::basic_o
stringstream() in libzmq.a(libzmq_la-ws_address.o)
zmq::stream_engine_base_t::init_properties(std::__1::map<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::allocator<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > >&) 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<zmq::pipe_t, 3>::~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<char, std::__1::char_traits<char>, std::__1::allocator<char> >&, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&) in libzmq.a(libzmq_la-socket_base.o)
zmq::array_t<zmq::pipe_t, 3>::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<char, std::__1::char_traits<char>, std::__1::allocator<char> >, 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<pollfd, 16ul>::fast_vector_t(unsigned long) in libzmq.a(libzmq_la-zmq.o)
"operator new(unsigned long)", referenced from:
std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >::basic_string<std::nullptr_t>(char const*) in libzmq.a(libzmq_la-socket_base.o)
zmq::array_t<zmq::pipe_t, 3>::push_back(zmq::pipe_t*) in libzmq.a(libzmq_la-socket_base.o)
std::__1::vector<zmq::tcp_address_mask_t, std::__1::allocator<zmq::tcp_address_mask_t> >::__vallocate(unsigned long) in libzmq.a(libzmq_la-socket_base.o)
std::__1::unique_ptr<std::__1::__tree_node<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void*>, std::__1::__tree_node_destructor<std::__1::allocator<std::__1::__tree_node<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, void*> > > > std::__1::__tree<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::__map_value_compare<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, true>, std::__1::allocator<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > > >::__construct_node<std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > const&>(std::__1::pair<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > > const&) in libzmq.a(libzmq_la-socket_base.o)
std::__1::vector<unsigned char, std::__1::allocator<unsigned char> >::__vallocate(unsigned long) in libzmq.a(libzmq_la-socket_base.o)
std::__1::__tree_iterator<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, zmq::pipe_t*>, std::__1::__tree_node<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, zmq::pipe_t*>, void*>*, long> std::__1::__tree<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, zmq::pipe_t*>, std::__1::__map_value_compare<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, zmq::pipe_t*>, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, true>, std::__1::allocator<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, zmq::pipe_t*> > >::__emplace_multi<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, zmq::pipe_t*&>(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >&&, zmq::pipe_t*&) in libzmq.a(libzmq_la-socket_base.o)
std::__1::unique_ptr<std::__1::__tree_node<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::pair<zmq::own_t*, zmq::pipe_t*> >, void*>, std::__1::__tree_node_destructor<std::__1::allocator<std::__1::__tree_node<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::pair<zmq::own_t*, zmq::pipe_t*> >, void*> > > > std::__1::__tree<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::pair<zmq::own_t*, zmq::pipe_t*> >, std::__1::__map_value_compare<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::pair<zmq::own_t*, zmq::pipe_t*> >, std::__1::less<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > >, true>, std::__1::allocator<std::__1::__value_type<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >, std::__1::pair<zmq::own_t*, zmq::pipe_t*> > > >::__construct_node<std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::pair<zmq::own_t*, zmq::pipe_t*> >(std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, std::__1::pair<zmq::own_t*, zmq::pipe_t*>&&) 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<char, std::__1::char_traits<char>, std::__1::allocator<char> >, 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<char, std::__1::char_traits<char> >& std::__1::__put_character_sequence<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, 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<char, std::__1::char_traits<char> >& std::__1::__put_character_sequence<char, std::__1::char_traits<char> >(std::__1::basic_ostream<char, std::__1::char_traits<char> >&, 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<zmq::v1_decoder_t, zmq::c_single_allocator> in libzmq.a(libzmq_la-v1_decoder.o)
vtable for zmq::decoder_base_t<zmq::v2_decoder_t, zmq::shared_message_memory_allocator> in libzmq.a(libzmq_la-v2_decoder.o)
vtable for zmq::decoder_base_t<zmq::ws_decoder_t, zmq::shared_message_memory_allocator> 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...
Looks like someone else also had the same issue - https://stackoverflow.com/questions/71162949/using-zmq-on-ios
Does anyone have any insight, please?
for me (M2 silicon) this worked when switching to zmq = "0.10", with zmq = "0.9" it did not.
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
@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!
@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:
- copy the
build_ios.shscript from libzmq master, - 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),
- checkout libzmq @4.2.5 tag and add the modified script in,
- run the script as per usual
- set env variable
LIBZMQ_PREFIXto point at the dir the build script generates - 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
I will give that a shot. Thanks @gmulhearn-anonyome