Mbed-TLS / mbedtls

An open source, portable, easy to use, readable and flexible TLS library, and reference implementation of the PSA Cryptography API. Releases are on a varying cadence, typically around 3 - 6 months between releases.
https://www.trustedfirmware.org/projects/mbed-tls/
Other
5.56k stars 2.61k forks source link

The default build should create shared libraries instead of static libraries #3530

Open andrewhodel opened 4 years ago

andrewhodel commented 4 years ago
git latest
Debian 10
Linux 5.0.21-rt16 (June 2020)

When I build this project with make && make install, it does not install all of the correct libs. However when I build it with cmake it does.

Considering the default instructions in the repo don't actually install a working library, I think this should be fixed.

Here is a build log showing this...

Build with make

zip@aware:~/mbedtls$ make
  CC    aes.c
  CC    aesni.c
  CC    arc4.c
  CC    aria.c
  CC    asn1parse.c
  CC    asn1write.c
  CC    base64.c
  CC    bignum.c
  CC    blowfish.c
  CC    camellia.c
  CC    ccm.c
  CC    chacha20.c
  CC    chachapoly.c
  CC    cipher.c
  CC    cipher_wrap.c
  CC    cmac.c
  CC    ctr_drbg.c
  CC    des.c
  CC    dhm.c
  CC    ecdh.c
  CC    ecdsa.c
  CC    ecjpake.c
  CC    ecp.c
  CC    ecp_curves.c
  CC    entropy.c
  CC    entropy_poll.c
  CC    error.c
  CC    gcm.c
  CC    havege.c
  CC    hkdf.c
  CC    hmac_drbg.c
  CC    md.c
  CC    md2.c
  CC    md4.c
  CC    md5.c
  CC    memory_buffer_alloc.c
  CC    nist_kw.c
  CC    oid.c
  CC    padlock.c
  CC    pem.c
  CC    pk.c
  CC    pk_wrap.c
  CC    pkcs12.c
  CC    pkcs5.c
  CC    pkparse.c
  CC    pkwrite.c
  CC    platform.c
  CC    platform_util.c
  CC    poly1305.c
  CC    psa_crypto.c
  CC    psa_crypto_se.c
  CC    psa_crypto_slot_management.c
  CC    psa_crypto_storage.c
  CC    psa_its_file.c
  CC    ripemd160.c
  CC    rsa.c
  CC    rsa_internal.c
  CC    sha1.c
  CC    sha256.c
  CC    sha512.c
  CC    threading.c
  CC    timing.c
  CC    version.c
  CC    version_features.c
  CC    xtea.c
  CC    ../3rdparty/everest/library/everest.c
  CC    ../3rdparty/everest/library/x25519.c
  CC    ../3rdparty/everest/library/Hacl_Curve25519_joined.c
  AR    libmbedcrypto.a
  CC    certs.c
  CC    pkcs11.c
  CC    x509.c
  CC    x509_create.c
  CC    x509_crl.c
  CC    x509_crt.c
  CC    x509_csr.c
  CC    x509write_crt.c
  CC    x509write_csr.c
  AR    libmbedx509.a
  CC    debug.c
  CC    net_sockets.c
  CC    ssl_cache.c
  CC    ssl_ciphersuites.c
  CC    ssl_cli.c
  CC    ssl_cookie.c
  CC    ssl_msg.c
  CC    ssl_srv.c
  CC    ssl_ticket.c
  CC    ssl_tls.c
  AR    libmbedtls.a
  CC    src/helpers.c
  CC    src/random.c
  CC    aes/aescrypt2.c
  CC    aes/crypt_and_hash.c
  CC    hash/generic_sum.c
  CC    hash/hello.c
  CC    pkey/dh_client.c
  CC    pkey/dh_genprime.c
  CC    pkey/dh_server.c
  CC    pkey/ecdh_curve25519.c
  CC    pkey/ecdsa.c
  CC    pkey/gen_key.c
  CC    pkey/key_app.c
  CC    pkey/key_app_writer.c
  CC    pkey/mpi_demo.c
  CC    pkey/pk_decrypt.c
  CC    pkey/pk_encrypt.c
  CC    pkey/pk_sign.c
  CC    pkey/pk_verify.c
  CC    pkey/rsa_decrypt.c
  CC    pkey/rsa_encrypt.c
  CC    pkey/rsa_genkey.c
  CC    pkey/rsa_sign.c
  CC    pkey/rsa_sign_pss.c
  CC    pkey/rsa_verify.c
  CC    pkey/rsa_verify_pss.c
  CC    psa/crypto_examples.c
  CC    psa/key_ladder_demo.c
  CC    psa/psa_constant_names.c
  CC    random/gen_entropy.c
  CC    random/gen_random_ctr_drbg.c
  CC    random/gen_random_havege.c
  CC    ssl/dtls_client.c
  CC    ssl/dtls_server.c
  CC    ssl/mini_client.c
  CC    ssl/ssl_client1.c
  CC    ssl/ssl_client2.c
  CC    ssl/ssl_context_info.c
  CC    ssl/ssl_fork_server.c
  CC    ssl/ssl_mail_client.c
  CC    ssl/ssl_server.c
  CC    ssl/ssl_server2.c
  CC    test/benchmark.c
  CC    test/query_compile_time_config.c
  CC    test/selftest.c
  CC    test/udp_proxy.c
  CC    test/zeroize.c
  CC    util/pem2der.c
  CC    util/strerror.c
  CC    x509/cert_app.c
  CC    x509/cert_req.c
  CC    x509/cert_write.c
  CC    x509/crl_app.c
  CC    x509/req_app.c
 cc common.o onefile.o fuzz_x509csr.o ../../tests/src/helpers.o ../../tests/src/random.o -L../../library -lmbedtls -lmbedx509 -lmbedcrypto  -o fuzz_x509csr
 cc common.o onefile.o fuzz_server.o ../../tests/src/helpers.o ../../tests/src/random.o -L../../library -lmbedtls -lmbedx509 -lmbedcrypto  -o fuzz_server
 cc common.o onefile.o fuzz_privkey.o ../../tests/src/helpers.o ../../tests/src/random.o -L../../library -lmbedtls -lmbedx509 -lmbedcrypto  -o fuzz_privkey
 cc common.o onefile.o fuzz_x509crt.o ../../tests/src/helpers.o ../../tests/src/random.o -L../../library -lmbedtls -lmbedx509 -lmbedcrypto  -o fuzz_x509crt
 cc common.o onefile.o fuzz_dtlsclient.o ../../tests/src/helpers.o ../../tests/src/random.o -L../../library -lmbedtls -lmbedx509 -lmbedcrypto  -o fuzz_dtlsclient
 cc common.o onefile.o fuzz_pubkey.o ../../tests/src/helpers.o ../../tests/src/random.o -L../../library -lmbedtls -lmbedx509 -lmbedcrypto  -o fuzz_pubkey
 cc common.o onefile.o fuzz_x509crl.o ../../tests/src/helpers.o ../../tests/src/random.o -L../../library -lmbedtls -lmbedx509 -lmbedcrypto  -o fuzz_x509crl
 cc common.o onefile.o fuzz_client.o ../../tests/src/helpers.o ../../tests/src/random.o -L../../library -lmbedtls -lmbedx509 -lmbedcrypto  -o fuzz_client
 cc common.o onefile.o fuzz_dtlsserver.o ../../tests/src/helpers.o ../../tests/src/random.o -L../../library -lmbedtls -lmbedx509 -lmbedcrypto  -o fuzz_dtlsserver
  Gen   test_suite_psa_crypto_persistent_key.c
  CC    test_suite_psa_crypto_persistent_key.c
  Gen   test_suite_pkcs1_v15.c
  CC    test_suite_pkcs1_v15.c
  Gen   test_suite_ecdh.c
  CC    test_suite_ecdh.c
  Gen   test_suite_aes.ecb.c
  CC    test_suite_aes.ecb.c
  Gen   test_suite_gcm.aes128_de.c
  CC    test_suite_gcm.aes128_de.c
  Gen   test_suite_cipher.chachapoly.c
  CC    test_suite_cipher.chachapoly.c
  Gen   test_suite_timing.c
  CC    test_suite_timing.c
  Gen   test_suite_ecp.c
  CC    test_suite_ecp.c
  Gen   test_suite_psa_crypto_metadata.c
  CC    test_suite_psa_crypto_metadata.c
  Gen   test_suite_ecdsa.c
  CC    test_suite_ecdsa.c
  Gen   test_suite_memory_buffer_alloc.c
  CC    test_suite_memory_buffer_alloc.c
  Gen   test_suite_gcm.camellia.c
  CC    test_suite_gcm.camellia.c
  Gen   test_suite_pem.c
  CC    test_suite_pem.c
  Gen   test_suite_hmac_drbg.no_reseed.c
  CC    test_suite_hmac_drbg.no_reseed.c
  Gen   test_suite_aes.rest.c
  CC    test_suite_aes.rest.c
  Gen   test_suite_psa_crypto_init.c
  CC    test_suite_psa_crypto_init.c
  Gen   test_suite_cipher.nist_kw.c
  CC    test_suite_cipher.nist_kw.c
  Gen   test_suite_cipher.padding.c
  CC    test_suite_cipher.padding.c
  Gen   test_suite_base64.c
  CC    test_suite_base64.c
  Gen   test_suite_ctr_drbg.c
  CC    test_suite_ctr_drbg.c
  Gen   test_suite_psa_crypto_slot_management.c
  CC    test_suite_psa_crypto_slot_management.c
  Gen   test_suite_psa_crypto_se_driver_hal_mocks.c
  CC    test_suite_psa_crypto_se_driver_hal_mocks.c
  Gen   test_suite_cipher.blowfish.c
  CC    test_suite_cipher.blowfish.c
  Gen   test_suite_pkcs5.c
  CC    test_suite_pkcs5.c
  Gen   test_suite_cipher.gcm.c
  CC    test_suite_cipher.gcm.c
  Gen   test_suite_oid.c
  CC    test_suite_oid.c
  Gen   test_suite_asn1parse.c
  CC    test_suite_asn1parse.c
  Gen   test_suite_aes.xts.c
  CC    test_suite_aes.xts.c
  Gen   test_suite_pkparse.c
  CC    test_suite_pkparse.c
  Gen   test_suite_cipher.des.c
  CC    test_suite_cipher.des.c
  Gen   test_suite_error.c
  CC    test_suite_error.c
  Gen   test_suite_gcm.aes256_de.c
  CC    test_suite_gcm.aes256_de.c
  Gen   test_suite_aria.c
  CC    test_suite_aria.c
  Gen   test_suite_aes.cbc.c
  CC    test_suite_aes.cbc.c
  Gen   test_suite_ccm.c
  CC    test_suite_ccm.c
  Gen   test_suite_poly1305.c
  CC    test_suite_poly1305.c
  Gen   test_suite_entropy.c
  CC    test_suite_entropy.c
  Gen   test_suite_gcm.aes192_en.c
  CC    test_suite_gcm.aes192_en.c
  Gen   test_suite_blowfish.c
  CC    test_suite_blowfish.c
  Gen   test_suite_arc4.c
  CC    test_suite_arc4.c
  Gen   test_suite_chachapoly.c
  CC    test_suite_chachapoly.c
  Gen   test_suite_psa_crypto_se_driver_hal.c
  CC    test_suite_psa_crypto_se_driver_hal.c
  Gen   test_suite_cipher.ccm.c
  CC    test_suite_cipher.ccm.c
  Gen   test_suite_hmac_drbg.pr.c
  CC    test_suite_hmac_drbg.pr.c
  Gen   test_suite_nist_kw.c
  CC    test_suite_nist_kw.c
  Gen   test_suite_asn1write.c
  CC    test_suite_asn1write.c
  Gen   test_suite_psa_its.c
  CC    test_suite_psa_its.c
  Gen   test_suite_dhm.c
  CC    test_suite_dhm.c
  Gen   test_suite_gcm.aes128_en.c
  CC    test_suite_gcm.aes128_en.c
  Gen   test_suite_psa_crypto.c
  CC    test_suite_psa_crypto.c
  Gen   test_suite_xtea.c
  CC    test_suite_xtea.c
  Gen   test_suite_cmac.c
  CC    test_suite_cmac.c
  Gen   test_suite_cipher.misc.c
  CC    test_suite_cipher.misc.c
  Gen   test_suite_cipher.aria.c
  CC    test_suite_cipher.aria.c
  Gen   test_suite_mpi.c
  CC    test_suite_mpi.c
  Gen   test_suite_md.c
  CC    test_suite_md.c
  Gen   test_suite_rsa.c
  CC    test_suite_rsa.c
  Gen   test_suite_aes.cfb.c
  CC    test_suite_aes.cfb.c
  Gen   test_suite_pkwrite.c
  CC    test_suite_pkwrite.c
  Gen   test_suite_shax.c
  CC    test_suite_shax.c
  Gen   test_suite_debug.c
  CC    test_suite_debug.c
  Gen   test_suite_cipher.chacha20.c
  CC    test_suite_cipher.chacha20.c
  Gen   test_suite_x509parse.c
  CC    test_suite_x509parse.c
  Gen   test_suite_psa_crypto_entropy.c
  CC    test_suite_psa_crypto_entropy.c
  Gen   test_suite_camellia.c
  CC    test_suite_camellia.c
  Gen   test_suite_hmac_drbg.misc.c
  CC    test_suite_hmac_drbg.misc.c
  Gen   test_suite_cipher.null.c
  CC    test_suite_cipher.null.c
  Gen   test_suite_ecjpake.c
  CC    test_suite_ecjpake.c
  Gen   test_suite_pkcs1_v21.c
  CC    test_suite_pkcs1_v21.c
  Gen   test_suite_hkdf.c
  CC    test_suite_hkdf.c
  Gen   test_suite_chacha20.c
  CC    test_suite_chacha20.c
  Gen   test_suite_pk.c
  CC    test_suite_pk.c
  Gen   test_suite_aes.ofb.c
  CC    test_suite_aes.ofb.c
  Gen   test_suite_x509write.c
  CC    test_suite_x509write.c
  Gen   test_suite_hmac_drbg.nopr.c
  CC    test_suite_hmac_drbg.nopr.c
  Gen   test_suite_cipher.camellia.c
  CC    test_suite_cipher.camellia.c
  Gen   test_suite_des.c
  CC    test_suite_des.c
  Gen   test_suite_psa_crypto_hash.c
  CC    test_suite_psa_crypto_hash.c
  Gen   test_suite_cipher.aes.c
  CC    test_suite_cipher.aes.c
  Gen   test_suite_gcm.misc.c
  CC    test_suite_gcm.misc.c
  Gen   test_suite_gcm.aes192_de.c
  CC    test_suite_gcm.aes192_de.c
  Gen   test_suite_cipher.arc4.c
  CC    test_suite_cipher.arc4.c
  Gen   test_suite_ssl.c
  CC    test_suite_ssl.c
  Gen   test_suite_mdx.c
  CC    test_suite_mdx.c
  Gen   test_suite_version.c
  CC    test_suite_version.c
  Gen   test_suite_gcm.aes256_en.c
  CC    test_suite_gcm.aes256_en.c

make install

root@aware:/home/zip/mbedtls# make install

check installed libs with ldconfig, as you can see when just using make instead of cmake the libs are not installed!

root@aware:/home/zip/mbedtls# ldconfig
root@aware:/home/zip/mbedtls# ldconfig -p |grep mbed
    libmbedx509.so.0 (libc6,x86-64) => /lib/x86_64-linux-gnu/libmbedx509.so.0
    libmbedcrypto.so.3 (libc6,x86-64) => /lib/x86_64-linux-gnu/libmbedcrypto.so.3
    libfontembed.so.1 (libc6,x86-64) => /lib/x86_64-linux-gnu/libfontembed.so.1

uninstall what was installed

root@aware:/home/zip/mbedtls# make uninstall

build and install project with cmake

root@aware:/home/zip/mbedtls# cd build/
root@aware:/home/zip/mbedtls/build# cmake -DUSE_SHARED_MBEDTLS_LIBRARY=On ../
-- Configuring done
-- Generating done
-- Build files have been written to: /home/zip/mbedtls/build
root@aware:/home/zip/mbedtls/build# make
[  1%] Built target mbedtls_test
Scanning dependencies of target mbedcrypto_static
[  1%] Building C object library/CMakeFiles/mbedcrypto_static.dir/aes.c.o
[  1%] Building C object library/CMakeFiles/mbedcrypto_static.dir/aesni.c.o
[  1%] Building C object library/CMakeFiles/mbedcrypto_static.dir/arc4.c.o
[  2%] Building C object library/CMakeFiles/mbedcrypto_static.dir/aria.c.o
[  2%] Building C object library/CMakeFiles/mbedcrypto_static.dir/asn1parse.c.o
[  2%] Building C object library/CMakeFiles/mbedcrypto_static.dir/asn1write.c.o
[  2%] Building C object library/CMakeFiles/mbedcrypto_static.dir/base64.c.o
[  2%] Building C object library/CMakeFiles/mbedcrypto_static.dir/bignum.c.o
[  2%] Building C object library/CMakeFiles/mbedcrypto_static.dir/blowfish.c.o
[  3%] Building C object library/CMakeFiles/mbedcrypto_static.dir/camellia.c.o
[  3%] Building C object library/CMakeFiles/mbedcrypto_static.dir/ccm.c.o
[  3%] Building C object library/CMakeFiles/mbedcrypto_static.dir/chacha20.c.o
[  3%] Building C object library/CMakeFiles/mbedcrypto_static.dir/chachapoly.c.o
[  3%] Building C object library/CMakeFiles/mbedcrypto_static.dir/cipher.c.o
[  4%] Building C object library/CMakeFiles/mbedcrypto_static.dir/cipher_wrap.c.o
[  4%] Building C object library/CMakeFiles/mbedcrypto_static.dir/cmac.c.o
[  4%] Building C object library/CMakeFiles/mbedcrypto_static.dir/ctr_drbg.c.o
[  4%] Building C object library/CMakeFiles/mbedcrypto_static.dir/des.c.o
[  4%] Building C object library/CMakeFiles/mbedcrypto_static.dir/dhm.c.o
[  4%] Building C object library/CMakeFiles/mbedcrypto_static.dir/ecdh.c.o
[  5%] Building C object library/CMakeFiles/mbedcrypto_static.dir/ecdsa.c.o
[  5%] Building C object library/CMakeFiles/mbedcrypto_static.dir/ecjpake.c.o
[  5%] Building C object library/CMakeFiles/mbedcrypto_static.dir/ecp.c.o
[  5%] Building C object library/CMakeFiles/mbedcrypto_static.dir/ecp_curves.c.o
[  5%] Building C object library/CMakeFiles/mbedcrypto_static.dir/entropy.c.o
[  5%] Building C object library/CMakeFiles/mbedcrypto_static.dir/entropy_poll.c.o
[  6%] Building C object library/CMakeFiles/mbedcrypto_static.dir/error.c.o
[  6%] Building C object library/CMakeFiles/mbedcrypto_static.dir/gcm.c.o
[  6%] Building C object library/CMakeFiles/mbedcrypto_static.dir/havege.c.o
[  6%] Building C object library/CMakeFiles/mbedcrypto_static.dir/hkdf.c.o
[  6%] Building C object library/CMakeFiles/mbedcrypto_static.dir/hmac_drbg.c.o
[  6%] Building C object library/CMakeFiles/mbedcrypto_static.dir/md.c.o
[  7%] Building C object library/CMakeFiles/mbedcrypto_static.dir/md2.c.o
[  7%] Building C object library/CMakeFiles/mbedcrypto_static.dir/md4.c.o
[  7%] Building C object library/CMakeFiles/mbedcrypto_static.dir/md5.c.o
[  7%] Building C object library/CMakeFiles/mbedcrypto_static.dir/memory_buffer_alloc.c.o
[  7%] Building C object library/CMakeFiles/mbedcrypto_static.dir/nist_kw.c.o
[  8%] Building C object library/CMakeFiles/mbedcrypto_static.dir/oid.c.o
[  8%] Building C object library/CMakeFiles/mbedcrypto_static.dir/padlock.c.o
[  8%] Building C object library/CMakeFiles/mbedcrypto_static.dir/pem.c.o
[  8%] Building C object library/CMakeFiles/mbedcrypto_static.dir/pk.c.o
[  8%] Building C object library/CMakeFiles/mbedcrypto_static.dir/pk_wrap.c.o
[  8%] Building C object library/CMakeFiles/mbedcrypto_static.dir/pkcs12.c.o
[  9%] Building C object library/CMakeFiles/mbedcrypto_static.dir/pkcs5.c.o
[  9%] Building C object library/CMakeFiles/mbedcrypto_static.dir/pkparse.c.o
[  9%] Building C object library/CMakeFiles/mbedcrypto_static.dir/pkwrite.c.o
[  9%] Building C object library/CMakeFiles/mbedcrypto_static.dir/platform.c.o
[  9%] Building C object library/CMakeFiles/mbedcrypto_static.dir/platform_util.c.o
[  9%] Building C object library/CMakeFiles/mbedcrypto_static.dir/poly1305.c.o
[ 10%] Building C object library/CMakeFiles/mbedcrypto_static.dir/psa_crypto.c.o
[ 10%] Building C object library/CMakeFiles/mbedcrypto_static.dir/psa_crypto_se.c.o
[ 10%] Building C object library/CMakeFiles/mbedcrypto_static.dir/psa_crypto_slot_management.c.o
[ 10%] Building C object library/CMakeFiles/mbedcrypto_static.dir/psa_crypto_storage.c.o
[ 10%] Building C object library/CMakeFiles/mbedcrypto_static.dir/psa_its_file.c.o
[ 11%] Building C object library/CMakeFiles/mbedcrypto_static.dir/ripemd160.c.o
[ 11%] Building C object library/CMakeFiles/mbedcrypto_static.dir/rsa.c.o
[ 11%] Building C object library/CMakeFiles/mbedcrypto_static.dir/rsa_internal.c.o
[ 11%] Building C object library/CMakeFiles/mbedcrypto_static.dir/sha1.c.o
[ 11%] Building C object library/CMakeFiles/mbedcrypto_static.dir/sha256.c.o
[ 11%] Building C object library/CMakeFiles/mbedcrypto_static.dir/sha512.c.o
[ 12%] Building C object library/CMakeFiles/mbedcrypto_static.dir/threading.c.o
[ 12%] Building C object library/CMakeFiles/mbedcrypto_static.dir/timing.c.o
[ 12%] Building C object library/CMakeFiles/mbedcrypto_static.dir/version.c.o
[ 12%] Building C object library/CMakeFiles/mbedcrypto_static.dir/version_features.c.o
[ 12%] Building C object library/CMakeFiles/mbedcrypto_static.dir/xtea.c.o
[ 12%] Linking C static library libmbedcrypto.a
[ 12%] Built target mbedcrypto_static
Scanning dependencies of target mbedx509_static
[ 13%] Building C object library/CMakeFiles/mbedx509_static.dir/certs.c.o
[ 13%] Building C object library/CMakeFiles/mbedx509_static.dir/pkcs11.c.o
[ 13%] Building C object library/CMakeFiles/mbedx509_static.dir/x509.c.o
[ 13%] Building C object library/CMakeFiles/mbedx509_static.dir/x509_create.c.o
[ 13%] Building C object library/CMakeFiles/mbedx509_static.dir/x509_crl.c.o
[ 13%] Building C object library/CMakeFiles/mbedx509_static.dir/x509_crt.c.o
[ 14%] Building C object library/CMakeFiles/mbedx509_static.dir/x509_csr.c.o
[ 14%] Building C object library/CMakeFiles/mbedx509_static.dir/x509write_crt.c.o
[ 14%] Building C object library/CMakeFiles/mbedx509_static.dir/x509write_csr.c.o
[ 14%] Linking C static library libmbedx509.a
[ 14%] Built target mbedx509_static
Scanning dependencies of target mbedcrypto
[ 15%] Building C object library/CMakeFiles/mbedcrypto.dir/aes.c.o
[ 15%] Building C object library/CMakeFiles/mbedcrypto.dir/aesni.c.o
[ 15%] Building C object library/CMakeFiles/mbedcrypto.dir/arc4.c.o
[ 15%] Building C object library/CMakeFiles/mbedcrypto.dir/aria.c.o
[ 15%] Building C object library/CMakeFiles/mbedcrypto.dir/asn1parse.c.o
[ 15%] Building C object library/CMakeFiles/mbedcrypto.dir/asn1write.c.o
[ 16%] Building C object library/CMakeFiles/mbedcrypto.dir/base64.c.o
[ 16%] Building C object library/CMakeFiles/mbedcrypto.dir/bignum.c.o
[ 16%] Building C object library/CMakeFiles/mbedcrypto.dir/blowfish.c.o
[ 16%] Building C object library/CMakeFiles/mbedcrypto.dir/camellia.c.o
[ 16%] Building C object library/CMakeFiles/mbedcrypto.dir/ccm.c.o
[ 16%] Building C object library/CMakeFiles/mbedcrypto.dir/chacha20.c.o
[ 17%] Building C object library/CMakeFiles/mbedcrypto.dir/chachapoly.c.o
[ 17%] Building C object library/CMakeFiles/mbedcrypto.dir/cipher.c.o
[ 17%] Building C object library/CMakeFiles/mbedcrypto.dir/cipher_wrap.c.o
[ 17%] Building C object library/CMakeFiles/mbedcrypto.dir/cmac.c.o
[ 17%] Building C object library/CMakeFiles/mbedcrypto.dir/ctr_drbg.c.o
[ 17%] Building C object library/CMakeFiles/mbedcrypto.dir/des.c.o
[ 18%] Building C object library/CMakeFiles/mbedcrypto.dir/dhm.c.o
[ 18%] Building C object library/CMakeFiles/mbedcrypto.dir/ecdh.c.o
[ 18%] Building C object library/CMakeFiles/mbedcrypto.dir/ecdsa.c.o
[ 18%] Building C object library/CMakeFiles/mbedcrypto.dir/ecjpake.c.o
[ 18%] Building C object library/CMakeFiles/mbedcrypto.dir/ecp.c.o
[ 19%] Building C object library/CMakeFiles/mbedcrypto.dir/ecp_curves.c.o
[ 19%] Building C object library/CMakeFiles/mbedcrypto.dir/entropy.c.o
[ 19%] Building C object library/CMakeFiles/mbedcrypto.dir/entropy_poll.c.o
[ 19%] Building C object library/CMakeFiles/mbedcrypto.dir/error.c.o
[ 19%] Building C object library/CMakeFiles/mbedcrypto.dir/gcm.c.o
[ 19%] Building C object library/CMakeFiles/mbedcrypto.dir/havege.c.o
[ 20%] Building C object library/CMakeFiles/mbedcrypto.dir/hkdf.c.o
[ 20%] Building C object library/CMakeFiles/mbedcrypto.dir/hmac_drbg.c.o
[ 20%] Building C object library/CMakeFiles/mbedcrypto.dir/md.c.o
[ 20%] Building C object library/CMakeFiles/mbedcrypto.dir/md2.c.o
[ 20%] Building C object library/CMakeFiles/mbedcrypto.dir/md4.c.o
[ 20%] Building C object library/CMakeFiles/mbedcrypto.dir/md5.c.o
[ 21%] Building C object library/CMakeFiles/mbedcrypto.dir/memory_buffer_alloc.c.o
[ 21%] Building C object library/CMakeFiles/mbedcrypto.dir/nist_kw.c.o
[ 21%] Building C object library/CMakeFiles/mbedcrypto.dir/oid.c.o
[ 21%] Building C object library/CMakeFiles/mbedcrypto.dir/padlock.c.o
[ 21%] Building C object library/CMakeFiles/mbedcrypto.dir/pem.c.o
[ 22%] Building C object library/CMakeFiles/mbedcrypto.dir/pk.c.o
[ 22%] Building C object library/CMakeFiles/mbedcrypto.dir/pk_wrap.c.o
[ 22%] Building C object library/CMakeFiles/mbedcrypto.dir/pkcs12.c.o
[ 22%] Building C object library/CMakeFiles/mbedcrypto.dir/pkcs5.c.o
[ 22%] Building C object library/CMakeFiles/mbedcrypto.dir/pkparse.c.o
[ 22%] Building C object library/CMakeFiles/mbedcrypto.dir/pkwrite.c.o
[ 23%] Building C object library/CMakeFiles/mbedcrypto.dir/platform.c.o
[ 23%] Building C object library/CMakeFiles/mbedcrypto.dir/platform_util.c.o
[ 23%] Building C object library/CMakeFiles/mbedcrypto.dir/poly1305.c.o
[ 23%] Building C object library/CMakeFiles/mbedcrypto.dir/psa_crypto.c.o
[ 23%] Building C object library/CMakeFiles/mbedcrypto.dir/psa_crypto_se.c.o
[ 23%] Building C object library/CMakeFiles/mbedcrypto.dir/psa_crypto_slot_management.c.o
[ 24%] Building C object library/CMakeFiles/mbedcrypto.dir/psa_crypto_storage.c.o
[ 24%] Building C object library/CMakeFiles/mbedcrypto.dir/psa_its_file.c.o
[ 24%] Building C object library/CMakeFiles/mbedcrypto.dir/ripemd160.c.o
[ 24%] Building C object library/CMakeFiles/mbedcrypto.dir/rsa.c.o
[ 24%] Building C object library/CMakeFiles/mbedcrypto.dir/rsa_internal.c.o
[ 24%] Building C object library/CMakeFiles/mbedcrypto.dir/sha1.c.o
[ 25%] Building C object library/CMakeFiles/mbedcrypto.dir/sha256.c.o
[ 25%] Building C object library/CMakeFiles/mbedcrypto.dir/sha512.c.o
[ 25%] Building C object library/CMakeFiles/mbedcrypto.dir/threading.c.o
[ 25%] Building C object library/CMakeFiles/mbedcrypto.dir/timing.c.o
[ 25%] Building C object library/CMakeFiles/mbedcrypto.dir/version.c.o
[ 26%] Building C object library/CMakeFiles/mbedcrypto.dir/version_features.c.o
[ 26%] Building C object library/CMakeFiles/mbedcrypto.dir/xtea.c.o
[ 26%] Linking C shared library libmbedcrypto.so
[ 26%] Built target mbedcrypto
Scanning dependencies of target mbedx509
[ 26%] Building C object library/CMakeFiles/mbedx509.dir/certs.c.o
[ 26%] Building C object library/CMakeFiles/mbedx509.dir/pkcs11.c.o
[ 26%] Building C object library/CMakeFiles/mbedx509.dir/x509.c.o
[ 26%] Building C object library/CMakeFiles/mbedx509.dir/x509_create.c.o
[ 27%] Building C object library/CMakeFiles/mbedx509.dir/x509_crl.c.o
[ 27%] Building C object library/CMakeFiles/mbedx509.dir/x509_crt.c.o
[ 27%] Building C object library/CMakeFiles/mbedx509.dir/x509_csr.c.o
[ 27%] Building C object library/CMakeFiles/mbedx509.dir/x509write_crt.c.o
[ 27%] Building C object library/CMakeFiles/mbedx509.dir/x509write_csr.c.o
[ 27%] Linking C shared library libmbedx509.so
[ 27%] Built target mbedx509
Scanning dependencies of target mbedtls_static
[ 28%] Building C object library/CMakeFiles/mbedtls_static.dir/debug.c.o
[ 28%] Building C object library/CMakeFiles/mbedtls_static.dir/net_sockets.c.o
[ 28%] Building C object library/CMakeFiles/mbedtls_static.dir/ssl_cache.c.o
[ 28%] Building C object library/CMakeFiles/mbedtls_static.dir/ssl_ciphersuites.c.o
[ 28%] Building C object library/CMakeFiles/mbedtls_static.dir/ssl_cli.c.o
[ 28%] Building C object library/CMakeFiles/mbedtls_static.dir/ssl_cookie.c.o
[ 29%] Building C object library/CMakeFiles/mbedtls_static.dir/ssl_msg.c.o
[ 29%] Building C object library/CMakeFiles/mbedtls_static.dir/ssl_srv.c.o
[ 29%] Building C object library/CMakeFiles/mbedtls_static.dir/ssl_ticket.c.o
[ 29%] Building C object library/CMakeFiles/mbedtls_static.dir/ssl_tls.c.o
[ 29%] Linking C static library libmbedtls.a
[ 29%] Built target mbedtls_static
Scanning dependencies of target mbedtls
[ 30%] Building C object library/CMakeFiles/mbedtls.dir/debug.c.o
[ 30%] Building C object library/CMakeFiles/mbedtls.dir/net_sockets.c.o
[ 30%] Building C object library/CMakeFiles/mbedtls.dir/ssl_cache.c.o
[ 30%] Building C object library/CMakeFiles/mbedtls.dir/ssl_ciphersuites.c.o
[ 30%] Building C object library/CMakeFiles/mbedtls.dir/ssl_cli.c.o
[ 31%] Building C object library/CMakeFiles/mbedtls.dir/ssl_cookie.c.o
[ 31%] Building C object library/CMakeFiles/mbedtls.dir/ssl_msg.c.o
[ 31%] Building C object library/CMakeFiles/mbedtls.dir/ssl_srv.c.o
[ 31%] Building C object library/CMakeFiles/mbedtls.dir/ssl_ticket.c.o
[ 31%] Building C object library/CMakeFiles/mbedtls.dir/ssl_tls.c.o
[ 31%] Linking C shared library libmbedtls.so
[ 31%] Built target mbedtls
[ 31%] Linking C executable crypt_and_hash
[ 31%] Built target crypt_and_hash
[ 31%] Linking C executable aescrypt2
[ 31%] Built target aescrypt2
[ 32%] Linking C executable fuzz_server
[ 32%] Built target fuzz_server
[ 32%] Linking C executable fuzz_dtlsclient
[ 33%] Built target fuzz_dtlsclient
[ 33%] Linking C executable fuzz_pubkey
[ 34%] Built target fuzz_pubkey
[ 34%] Linking C executable fuzz_privkey
[ 34%] Built target fuzz_privkey
[ 34%] Linking C executable fuzz_dtlsserver
[ 35%] Built target fuzz_dtlsserver
[ 35%] Linking C executable fuzz_x509crl
[ 35%] Built target fuzz_x509crl
[ 36%] Linking C executable fuzz_x509crt
[ 36%] Built target fuzz_x509crt
[ 36%] Linking C executable fuzz_x509csr
[ 36%] Built target fuzz_x509csr
[ 36%] Linking C executable fuzz_client
[ 36%] Built target fuzz_client
[ 36%] Linking C executable hello
[ 36%] Built target hello
[ 36%] Linking C executable generic_sum
[ 36%] Built target generic_sum
[ 36%] Linking C executable rsa_verify_pss
[ 36%] Built target rsa_verify_pss
[ 37%] Linking C executable rsa_sign_pss
[ 37%] Built target rsa_sign_pss
[ 37%] Linking C executable rsa_sign
[ 37%] Built target rsa_sign
[ 37%] Linking C executable gen_key
[ 37%] Built target gen_key
[ 37%] Linking C executable rsa_verify
[ 37%] Built target rsa_verify
[ 37%] Linking C executable ecdsa
[ 38%] Built target ecdsa
[ 38%] Linking C executable key_app_writer
[ 38%] Built target key_app_writer
[ 38%] Linking C executable ecdh_curve25519
[ 38%] Built target ecdh_curve25519
[ 38%] Linking C executable rsa_decrypt
[ 38%] Built target rsa_decrypt
[ 38%] Linking C executable rsa_genkey
[ 38%] Built target rsa_genkey
[ 38%] Linking C executable dh_genprime
[ 38%] Built target dh_genprime
[ 38%] Linking C executable dh_server
[ 38%] Built target dh_server
[ 39%] Linking C executable dh_client
[ 39%] Built target dh_client
[ 39%] Linking C executable mpi_demo
[ 39%] Built target mpi_demo
[ 39%] Linking C executable pk_encrypt
[ 39%] Built target pk_encrypt
[ 40%] Linking C executable pk_decrypt
[ 40%] Built target pk_decrypt
[ 41%] Linking C executable key_app
[ 41%] Built target key_app
[ 41%] Linking C executable pk_sign
[ 41%] Built target pk_sign
[ 42%] Linking C executable rsa_encrypt
[ 42%] Built target rsa_encrypt
[ 43%] Linking C executable pk_verify
[ 43%] Built target pk_verify
[ 43%] Linking C executable key_ladder_demo
[ 43%] Built target key_ladder_demo
[ 43%] Built target psa_constant_names_generated
[ 43%] Linking C executable psa_constant_names
[ 43%] Built target psa_constant_names
[ 43%] Linking C executable crypto_examples
[ 43%] Built target crypto_examples
[ 44%] Linking C executable gen_entropy
[ 44%] Built target gen_entropy
[ 44%] Linking C executable gen_random_ctr_drbg
[ 44%] Built target gen_random_ctr_drbg
[ 45%] Linking C executable gen_random_havege
[ 45%] Built target gen_random_havege
[ 46%] Linking C executable ssl_client2
[ 46%] Built target ssl_client2
[ 46%] Linking C executable ssl_context_info
[ 46%] Built target ssl_context_info
[ 46%] Linking C executable ssl_client1
[ 46%] Built target ssl_client1
[ 46%] Linking C executable ssl_fork_server
[ 46%] Built target ssl_fork_server
[ 46%] Linking C executable ssl_server
[ 46%] Built target ssl_server
[ 47%] Linking C executable mini_client
[ 47%] Built target mini_client
[ 47%] Linking C executable dtls_client
[ 48%] Built target dtls_client
[ 49%] Linking C executable ssl_mail_client
[ 49%] Built target ssl_mail_client
[ 49%] Linking C executable dtls_server
[ 49%] Built target dtls_server
[ 49%] Linking C executable ssl_server2
[ 50%] Built target ssl_server2
[ 50%] Linking C executable ssl_pthread_server
[ 50%] Built target ssl_pthread_server
[ 50%] Linking C executable udp_proxy
[ 50%] Built target udp_proxy
[ 50%] Linking C executable benchmark
[ 50%] Built target benchmark
[ 51%] Linking C executable zeroize
[ 51%] Built target zeroize
[ 52%] Linking C executable selftest
[ 52%] Built target selftest
[ 52%] Linking C executable query_compile_time_config
[ 52%] Built target query_compile_time_config
[ 52%] Linking C executable strerror
[ 52%] Built target strerror
[ 52%] Linking C executable pem2der
[ 52%] Built target pem2der
[ 52%] Linking C executable cert_req
[ 52%] Built target cert_req
Scanning dependencies of target cert_app
[ 53%] Linking C executable cert_app
[ 53%] Built target cert_app
[ 53%] Linking C executable cert_write
[ 53%] Built target cert_write
[ 54%] Linking C executable crl_app
[ 54%] Built target crl_app
[ 54%] Linking C executable req_app
[ 55%] Built target req_app
[ 55%] Generating test_suite_xtea.c
Scanning dependencies of target test_suite_xtea
[ 56%] Building C object tests/CMakeFiles/test_suite_xtea.dir/test_suite_xtea.c.o
[ 56%] Linking C executable test_suite_xtea
[ 56%] Built target test_suite_xtea
[ 56%] Generating test_suite_x509parse.c
Scanning dependencies of target test_suite_x509parse
[ 57%] Building C object tests/CMakeFiles/test_suite_x509parse.dir/test_suite_x509parse.c.o
[ 57%] Linking C executable test_suite_x509parse
[ 57%] Built target test_suite_x509parse
[ 57%] Generating test_suite_version.c
Scanning dependencies of target test_suite_version
[ 57%] Building C object tests/CMakeFiles/test_suite_version.dir/test_suite_version.c.o
[ 57%] Linking C executable test_suite_version
[ 57%] Built target test_suite_version
[ 57%] Generating test_suite_shax.c
Scanning dependencies of target test_suite_shax
[ 57%] Building C object tests/CMakeFiles/test_suite_shax.dir/test_suite_shax.c.o
[ 58%] Linking C executable test_suite_shax
[ 58%] Built target test_suite_shax
[ 58%] Generating test_suite_ecdsa.c
Scanning dependencies of target test_suite_ecdsa
[ 58%] Building C object tests/CMakeFiles/test_suite_ecdsa.dir/test_suite_ecdsa.c.o
[ 58%] Linking C executable test_suite_ecdsa
[ 58%] Built target test_suite_ecdsa
[ 58%] Generating test_suite_des.c
Scanning dependencies of target test_suite_des
[ 58%] Building C object tests/CMakeFiles/test_suite_des.dir/test_suite_des.c.o
[ 58%] Linking C executable test_suite_des
[ 58%] Built target test_suite_des
[ 58%] Generating test_suite_cipher.gcm.c
Scanning dependencies of target test_suite_cipher.gcm
[ 58%] Building C object tests/CMakeFiles/test_suite_cipher.gcm.dir/test_suite_cipher.gcm.c.o
[ 58%] Linking C executable test_suite_cipher.gcm
[ 58%] Built target test_suite_cipher.gcm
[ 58%] Generating test_suite_cipher.chachapoly.c
Scanning dependencies of target test_suite_cipher.chachapoly
[ 58%] Building C object tests/CMakeFiles/test_suite_cipher.chachapoly.dir/test_suite_cipher.chachapoly.c.o
[ 58%] Linking C executable test_suite_cipher.chachapoly
[ 58%] Built target test_suite_cipher.chachapoly
[ 58%] Generating test_suite_aes.cfb.c
Scanning dependencies of target test_suite_aes.cfb
[ 58%] Building C object tests/CMakeFiles/test_suite_aes.cfb.dir/test_suite_aes.cfb.c.o
[ 58%] Linking C executable test_suite_aes.cfb
[ 58%] Built target test_suite_aes.cfb
[ 59%] Generating test_suite_camellia.c
Scanning dependencies of target test_suite_camellia
[ 59%] Building C object tests/CMakeFiles/test_suite_camellia.dir/test_suite_camellia.c.o
[ 59%] Linking C executable test_suite_camellia
[ 59%] Built target test_suite_camellia
[ 59%] Generating test_suite_aes.ofb.c
Scanning dependencies of target test_suite_aes.ofb
[ 59%] Building C object tests/CMakeFiles/test_suite_aes.ofb.dir/test_suite_aes.ofb.c.o
[ 59%] Linking C executable test_suite_aes.ofb
[ 59%] Built target test_suite_aes.ofb
[ 59%] Generating test_suite_md.c
Scanning dependencies of target test_suite_md
[ 59%] Building C object tests/CMakeFiles/test_suite_md.dir/test_suite_md.c.o
[ 60%] Linking C executable test_suite_md
[ 60%] Built target test_suite_md
[ 60%] Generating test_suite_timing.c
Scanning dependencies of target test_suite_timing
[ 61%] Building C object tests/CMakeFiles/test_suite_timing.dir/test_suite_timing.c.o
[ 61%] Linking C executable test_suite_timing
[ 61%] Built target test_suite_timing
[ 61%] Generating test_suite_cipher.nist_kw.c
Scanning dependencies of target test_suite_cipher.nist_kw
[ 61%] Building C object tests/CMakeFiles/test_suite_cipher.nist_kw.dir/test_suite_cipher.nist_kw.c.o
[ 61%] Linking C executable test_suite_cipher.nist_kw
[ 61%] Built target test_suite_cipher.nist_kw
[ 61%] Generating test_suite_cipher.blowfish.c
Scanning dependencies of target test_suite_cipher.blowfish
[ 61%] Building C object tests/CMakeFiles/test_suite_cipher.blowfish.dir/test_suite_cipher.blowfish.c.o
[ 61%] Linking C executable test_suite_cipher.blowfish
[ 61%] Built target test_suite_cipher.blowfish
[ 61%] Generating test_suite_cipher.des.c
Scanning dependencies of target test_suite_cipher.des
[ 62%] Building C object tests/CMakeFiles/test_suite_cipher.des.dir/test_suite_cipher.des.c.o
[ 62%] Linking C executable test_suite_cipher.des
[ 62%] Built target test_suite_cipher.des
[ 62%] Generating test_suite_cipher.arc4.c
Scanning dependencies of target test_suite_cipher.arc4
[ 62%] Building C object tests/CMakeFiles/test_suite_cipher.arc4.dir/test_suite_cipher.arc4.c.o
[ 63%] Linking C executable test_suite_cipher.arc4
[ 63%] Built target test_suite_cipher.arc4
[ 64%] Generating test_suite_cmac.c
Scanning dependencies of target test_suite_cmac
[ 64%] Building C object tests/CMakeFiles/test_suite_cmac.dir/test_suite_cmac.c.o
[ 64%] Linking C executable test_suite_cmac
[ 64%] Built target test_suite_cmac
[ 64%] Generating test_suite_cipher.padding.c
Scanning dependencies of target test_suite_cipher.padding
[ 64%] Building C object tests/CMakeFiles/test_suite_cipher.padding.dir/test_suite_cipher.padding.c.o
[ 64%] Linking C executable test_suite_cipher.padding
[ 64%] Built target test_suite_cipher.padding
[ 64%] Generating test_suite_entropy.c
Scanning dependencies of target test_suite_entropy
[ 64%] Building C object tests/CMakeFiles/test_suite_entropy.dir/test_suite_entropy.c.o
[ 65%] Linking C executable test_suite_entropy
[ 65%] Built target test_suite_entropy
[ 65%] Generating test_suite_error.c
Scanning dependencies of target test_suite_error
[ 65%] Building C object tests/CMakeFiles/test_suite_error.dir/test_suite_error.c.o
[ 65%] Linking C executable test_suite_error
[ 65%] Built target test_suite_error
[ 65%] Generating test_suite_ssl.c
Scanning dependencies of target test_suite_ssl
[ 65%] Building C object tests/CMakeFiles/test_suite_ssl.dir/test_suite_ssl.c.o
[ 65%] Linking C executable test_suite_ssl
[ 65%] Built target test_suite_ssl
[ 65%] Generating test_suite_ccm.c
Scanning dependencies of target test_suite_ccm
[ 65%] Building C object tests/CMakeFiles/test_suite_ccm.dir/test_suite_ccm.c.o
[ 65%] Linking C executable test_suite_ccm
[ 65%] Built target test_suite_ccm
[ 65%] Generating test_suite_aes.xts.c
Scanning dependencies of target test_suite_aes.xts
[ 65%] Building C object tests/CMakeFiles/test_suite_aes.xts.dir/test_suite_aes.xts.c.o
[ 65%] Linking C executable test_suite_aes.xts
[ 65%] Built target test_suite_aes.xts
[ 65%] Generating test_suite_ctr_drbg.c
Scanning dependencies of target test_suite_ctr_drbg
[ 65%] Building C object tests/CMakeFiles/test_suite_ctr_drbg.dir/test_suite_ctr_drbg.c.o
[ 65%] Linking C executable test_suite_ctr_drbg
[ 65%] Built target test_suite_ctr_drbg
[ 65%] Generating test_suite_pem.c
Scanning dependencies of target test_suite_pem
[ 65%] Building C object tests/CMakeFiles/test_suite_pem.dir/test_suite_pem.c.o
[ 66%] Linking C executable test_suite_pem
[ 66%] Built target test_suite_pem
[ 66%] Generating test_suite_aes.ecb.c
Scanning dependencies of target test_suite_aes.ecb
[ 67%] Building C object tests/CMakeFiles/test_suite_aes.ecb.dir/test_suite_aes.ecb.c.o
[ 67%] Linking C executable test_suite_aes.ecb
[ 67%] Built target test_suite_aes.ecb
[ 67%] Generating test_suite_arc4.c
Scanning dependencies of target test_suite_arc4
[ 68%] Building C object tests/CMakeFiles/test_suite_arc4.dir/test_suite_arc4.c.o
[ 68%] Linking C executable test_suite_arc4
[ 68%] Built target test_suite_arc4
[ 68%] Generating test_suite_aes.cbc.c
Scanning dependencies of target test_suite_aes.cbc
[ 68%] Building C object tests/CMakeFiles/test_suite_aes.cbc.dir/test_suite_aes.cbc.c.o
[ 69%] Linking C executable test_suite_aes.cbc
[ 69%] Built target test_suite_aes.cbc
[ 70%] Generating test_suite_hmac_drbg.pr.c
Scanning dependencies of target test_suite_hmac_drbg.pr
[ 70%] Building C object tests/CMakeFiles/test_suite_hmac_drbg.pr.dir/test_suite_hmac_drbg.pr.c.o
[ 70%] Linking C executable test_suite_hmac_drbg.pr
[ 70%] Built target test_suite_hmac_drbg.pr
[ 70%] Generating test_suite_rsa.c
Scanning dependencies of target test_suite_rsa
[ 70%] Building C object tests/CMakeFiles/test_suite_rsa.dir/test_suite_rsa.c.o
[ 70%] Linking C executable test_suite_rsa
[ 70%] Built target test_suite_rsa
[ 71%] Generating test_suite_debug.c
Scanning dependencies of target test_suite_debug
[ 71%] Building C object tests/CMakeFiles/test_suite_debug.dir/test_suite_debug.c.o
[ 71%] Linking C executable test_suite_debug
[ 71%] Built target test_suite_debug
[ 71%] Generating test_suite_aria.c
Scanning dependencies of target test_suite_aria
[ 71%] Building C object tests/CMakeFiles/test_suite_aria.dir/test_suite_aria.c.o
[ 71%] Linking C executable test_suite_aria
[ 71%] Built target test_suite_aria
[ 71%] Generating test_suite_psa_crypto_slot_management.c
Scanning dependencies of target test_suite_psa_crypto_slot_management
[ 71%] Building C object tests/CMakeFiles/test_suite_psa_crypto_slot_management.dir/test_suite_psa_crypto_slot_management.c.o
[ 71%] Linking C executable test_suite_psa_crypto_slot_management
[ 71%] Built target test_suite_psa_crypto_slot_management
[ 72%] Generating test_suite_asn1parse.c
Scanning dependencies of target test_suite_asn1parse
[ 72%] Building C object tests/CMakeFiles/test_suite_asn1parse.dir/test_suite_asn1parse.c.o
[ 72%] Linking C executable test_suite_asn1parse
[ 72%] Built target test_suite_asn1parse
[ 72%] Generating test_suite_asn1write.c
Scanning dependencies of target test_suite_asn1write
[ 72%] Building C object tests/CMakeFiles/test_suite_asn1write.dir/test_suite_asn1write.c.o
[ 72%] Linking C executable test_suite_asn1write
[ 72%] Built target test_suite_asn1write
[ 72%] Generating test_suite_ecdh.c
Scanning dependencies of target test_suite_ecdh
[ 72%] Building C object tests/CMakeFiles/test_suite_ecdh.dir/test_suite_ecdh.c.o
[ 73%] Linking C executable test_suite_ecdh
[ 73%] Built target test_suite_ecdh
[ 73%] Generating test_suite_pkcs1_v15.c
Scanning dependencies of target test_suite_pkcs1_v15
[ 74%] Building C object tests/CMakeFiles/test_suite_pkcs1_v15.dir/test_suite_pkcs1_v15.c.o
[ 74%] Linking C executable test_suite_pkcs1_v15
[ 74%] Built target test_suite_pkcs1_v15
[ 74%] Generating test_suite_psa_crypto_init.c
Scanning dependencies of target test_suite_psa_crypto_init
[ 74%] Building C object tests/CMakeFiles/test_suite_psa_crypto_init.dir/test_suite_psa_crypto_init.c.o
[ 74%] Linking C executable test_suite_psa_crypto_init
[ 74%] Built target test_suite_psa_crypto_init
[ 75%] Generating test_suite_cipher.null.c
Scanning dependencies of target test_suite_cipher.null
[ 75%] Building C object tests/CMakeFiles/test_suite_cipher.null.dir/test_suite_cipher.null.c.o
[ 75%] Linking C executable test_suite_cipher.null
[ 75%] Built target test_suite_cipher.null
[ 75%] Generating test_suite_x509write.c
Scanning dependencies of target test_suite_x509write
[ 75%] Building C object tests/CMakeFiles/test_suite_x509write.dir/test_suite_x509write.c.o
[ 75%] Linking C executable test_suite_x509write
[ 75%] Built target test_suite_x509write
[ 76%] Generating test_suite_chacha20.c
Scanning dependencies of target test_suite_chacha20
[ 76%] Building C object tests/CMakeFiles/test_suite_chacha20.dir/test_suite_chacha20.c.o
[ 76%] Linking C executable test_suite_chacha20
[ 76%] Built target test_suite_chacha20
[ 76%] Generating test_suite_ecjpake.c
Scanning dependencies of target test_suite_ecjpake
[ 76%] Building C object tests/CMakeFiles/test_suite_ecjpake.dir/test_suite_ecjpake.c.o
[ 77%] Linking C executable test_suite_ecjpake
[ 77%] Built target test_suite_ecjpake
[ 77%] Generating test_suite_chachapoly.c
Scanning dependencies of target test_suite_chachapoly
[ 77%] Building C object tests/CMakeFiles/test_suite_chachapoly.dir/test_suite_chachapoly.c.o
[ 78%] Linking C executable test_suite_chachapoly
[ 78%] Built target test_suite_chachapoly
[ 78%] Generating test_suite_ecp.c
Scanning dependencies of target test_suite_ecp
[ 78%] Building C object tests/CMakeFiles/test_suite_ecp.dir/test_suite_ecp.c.o
[ 78%] Linking C executable test_suite_ecp
[ 78%] Built target test_suite_ecp
[ 78%] Generating test_suite_gcm.aes128_de.c
Scanning dependencies of target test_suite_gcm.aes128_de
[ 79%] Building C object tests/CMakeFiles/test_suite_gcm.aes128_de.dir/test_suite_gcm.aes128_de.c.o
[ 79%] Linking C executable test_suite_gcm.aes128_de
[ 79%] Built target test_suite_gcm.aes128_de
[ 79%] Generating test_suite_mdx.c
Scanning dependencies of target test_suite_mdx
[ 79%] Building C object tests/CMakeFiles/test_suite_mdx.dir/test_suite_mdx.c.o
[ 79%] Linking C executable test_suite_mdx
[ 79%] Built target test_suite_mdx
[ 79%] Generating test_suite_gcm.aes192_en.c
Scanning dependencies of target test_suite_gcm.aes192_en
[ 79%] Building C object tests/CMakeFiles/test_suite_gcm.aes192_en.dir/test_suite_gcm.aes192_en.c.o
[ 79%] Linking C executable test_suite_gcm.aes192_en
[ 79%] Built target test_suite_gcm.aes192_en
[ 79%] Generating test_suite_cipher.ccm.c
Scanning dependencies of target test_suite_cipher.ccm
[ 79%] Building C object tests/CMakeFiles/test_suite_cipher.ccm.dir/test_suite_cipher.ccm.c.o
[ 79%] Linking C executable test_suite_cipher.ccm
[ 79%] Built target test_suite_cipher.ccm
[ 79%] Generating test_suite_gcm.aes256_de.c
Scanning dependencies of target test_suite_gcm.aes256_de
[ 80%] Building C object tests/CMakeFiles/test_suite_gcm.aes256_de.dir/test_suite_gcm.aes256_de.c.o
[ 80%] Linking C executable test_suite_gcm.aes256_de
[ 80%] Built target test_suite_gcm.aes256_de
[ 80%] Generating test_suite_gcm.aes256_en.c
Scanning dependencies of target test_suite_gcm.aes256_en
[ 80%] Building C object tests/CMakeFiles/test_suite_gcm.aes256_en.dir/test_suite_gcm.aes256_en.c.o
[ 80%] Linking C executable test_suite_gcm.aes256_en
[ 80%] Built target test_suite_gcm.aes256_en
[ 80%] Generating test_suite_gcm.camellia.c
Scanning dependencies of target test_suite_gcm.camellia
[ 81%] Building C object tests/CMakeFiles/test_suite_gcm.camellia.dir/test_suite_gcm.camellia.c.o
[ 81%] Linking C executable test_suite_gcm.camellia
[ 81%] Built target test_suite_gcm.camellia
[ 81%] Generating test_suite_gcm.misc.c
Scanning dependencies of target test_suite_gcm.misc
[ 81%] Building C object tests/CMakeFiles/test_suite_gcm.misc.dir/test_suite_gcm.misc.c.o
[ 81%] Linking C executable test_suite_gcm.misc
[ 81%] Built target test_suite_gcm.misc
[ 82%] Generating test_suite_dhm.c
Scanning dependencies of target test_suite_dhm
[ 82%] Building C object tests/CMakeFiles/test_suite_dhm.dir/test_suite_dhm.c.o
[ 82%] Linking C executable test_suite_dhm
[ 82%] Built target test_suite_dhm
[ 82%] Generating test_suite_aes.rest.c
Scanning dependencies of target test_suite_aes.rest
[ 83%] Building C object tests/CMakeFiles/test_suite_aes.rest.dir/test_suite_aes.rest.c.o
[ 83%] Linking C executable test_suite_aes.rest
[ 83%] Built target test_suite_aes.rest
[ 83%] Generating test_suite_blowfish.c
Scanning dependencies of target test_suite_blowfish
[ 83%] Building C object tests/CMakeFiles/test_suite_blowfish.dir/test_suite_blowfish.c.o
[ 83%] Linking C executable test_suite_blowfish
[ 83%] Built target test_suite_blowfish
[ 83%] Generating test_suite_poly1305.c
Scanning dependencies of target test_suite_poly1305
[ 83%] Building C object tests/CMakeFiles/test_suite_poly1305.dir/test_suite_poly1305.c.o
[ 83%] Linking C executable test_suite_poly1305
[ 83%] Built target test_suite_poly1305
[ 83%] Generating test_suite_gcm.aes128_en.c
Scanning dependencies of target test_suite_gcm.aes128_en
[ 83%] Building C object tests/CMakeFiles/test_suite_gcm.aes128_en.dir/test_suite_gcm.aes128_en.c.o
[ 83%] Linking C executable test_suite_gcm.aes128_en
[ 83%] Built target test_suite_gcm.aes128_en
[ 83%] Generating test_suite_hmac_drbg.misc.c
Scanning dependencies of target test_suite_hmac_drbg.misc
[ 83%] Building C object tests/CMakeFiles/test_suite_hmac_drbg.misc.dir/test_suite_hmac_drbg.misc.c.o
[ 83%] Linking C executable test_suite_hmac_drbg.misc
[ 83%] Built target test_suite_hmac_drbg.misc
[ 84%] Generating test_suite_hmac_drbg.no_reseed.c
Scanning dependencies of target test_suite_hmac_drbg.no_reseed
[ 84%] Building C object tests/CMakeFiles/test_suite_hmac_drbg.no_reseed.dir/test_suite_hmac_drbg.no_reseed.c.o
[ 84%] Linking C executable test_suite_hmac_drbg.no_reseed
[ 84%] Built target test_suite_hmac_drbg.no_reseed
[ 84%] Generating test_suite_psa_crypto_persistent_key.c
Scanning dependencies of target test_suite_psa_crypto_persistent_key
[ 84%] Building C object tests/CMakeFiles/test_suite_psa_crypto_persistent_key.dir/test_suite_psa_crypto_persistent_key.c.o
[ 84%] Linking C executable test_suite_psa_crypto_persistent_key
[ 84%] Built target test_suite_psa_crypto_persistent_key
[ 84%] Generating test_suite_hmac_drbg.nopr.c
Scanning dependencies of target test_suite_hmac_drbg.nopr
[ 84%] Building C object tests/CMakeFiles/test_suite_hmac_drbg.nopr.dir/test_suite_hmac_drbg.nopr.c.o
[ 84%] Linking C executable test_suite_hmac_drbg.nopr
[ 84%] Built target test_suite_hmac_drbg.nopr
[ 84%] Generating test_suite_memory_buffer_alloc.c
Scanning dependencies of target test_suite_memory_buffer_alloc
[ 84%] Building C object tests/CMakeFiles/test_suite_memory_buffer_alloc.dir/test_suite_memory_buffer_alloc.c.o
[ 85%] Linking C executable test_suite_memory_buffer_alloc
[ 85%] Built target test_suite_memory_buffer_alloc
[ 85%] Generating test_suite_pkcs1_v21.c
Scanning dependencies of target test_suite_pkcs1_v21
[ 85%] Building C object tests/CMakeFiles/test_suite_pkcs1_v21.dir/test_suite_pkcs1_v21.c.o
[ 85%] Linking C executable test_suite_pkcs1_v21
[ 85%] Built target test_suite_pkcs1_v21
[ 85%] Generating test_suite_mpi.c
Scanning dependencies of target test_suite_mpi
[ 85%] Building C object tests/CMakeFiles/test_suite_mpi.dir/test_suite_mpi.c.o
[ 85%] Linking C executable test_suite_mpi
[ 85%] Built target test_suite_mpi
[ 85%] Generating test_suite_nist_kw.c
Scanning dependencies of target test_suite_nist_kw
[ 85%] Building C object tests/CMakeFiles/test_suite_nist_kw.dir/test_suite_nist_kw.c.o
[ 86%] Linking C executable test_suite_nist_kw
[ 86%] Built target test_suite_nist_kw
[ 86%] Generating test_suite_cipher.aes.c
Scanning dependencies of target test_suite_cipher.aes
[ 86%] Building C object tests/CMakeFiles/test_suite_cipher.aes.dir/test_suite_cipher.aes.c.o
[ 86%] Linking C executable test_suite_cipher.aes
[ 86%] Built target test_suite_cipher.aes
[ 86%] Generating test_suite_pkparse.c
Scanning dependencies of target test_suite_pkparse
[ 86%] Building C object tests/CMakeFiles/test_suite_pkparse.dir/test_suite_pkparse.c.o
[ 86%] Linking C executable test_suite_pkparse
[ 86%] Built target test_suite_pkparse
[ 86%] Generating test_suite_oid.c
Scanning dependencies of target test_suite_oid
[ 86%] Building C object tests/CMakeFiles/test_suite_oid.dir/test_suite_oid.c.o
[ 86%] Linking C executable test_suite_oid
[ 86%] Built target test_suite_oid
[ 86%] Generating test_suite_cipher.chacha20.c
Scanning dependencies of target test_suite_cipher.chacha20
[ 87%] Building C object tests/CMakeFiles/test_suite_cipher.chacha20.dir/test_suite_cipher.chacha20.c.o
[ 87%] Linking C executable test_suite_cipher.chacha20
[ 87%] Built target test_suite_cipher.chacha20
[ 88%] Generating test_suite_base64.c
Scanning dependencies of target test_suite_base64
[ 88%] Building C object tests/CMakeFiles/test_suite_base64.dir/test_suite_base64.c.o
[ 88%] Linking C executable test_suite_base64
[ 88%] Built target test_suite_base64
[ 88%] Generating test_suite_pk.c
Scanning dependencies of target test_suite_pk
[ 88%] Building C object tests/CMakeFiles/test_suite_pk.dir/test_suite_pk.c.o
[ 88%] Linking C executable test_suite_pk
[ 88%] Built target test_suite_pk
[ 88%] Generating test_suite_pkwrite.c
Scanning dependencies of target test_suite_pkwrite
[ 89%] Building C object tests/CMakeFiles/test_suite_pkwrite.dir/test_suite_pkwrite.c.o
[ 89%] Linking C executable test_suite_pkwrite
[ 89%] Built target test_suite_pkwrite
[ 89%] Generating test_suite_cipher.camellia.c
Scanning dependencies of target test_suite_cipher.camellia
[ 89%] Building C object tests/CMakeFiles/test_suite_cipher.camellia.dir/test_suite_cipher.camellia.c.o
[ 90%] Linking C executable test_suite_cipher.camellia
[ 90%] Built target test_suite_cipher.camellia
[ 90%] Generating test_suite_pkcs5.c
Scanning dependencies of target test_suite_pkcs5
[ 91%] Building C object tests/CMakeFiles/test_suite_pkcs5.dir/test_suite_pkcs5.c.o
[ 91%] Linking C executable test_suite_pkcs5
[ 91%] Built target test_suite_pkcs5
[ 92%] Generating test_suite_psa_crypto.c
Scanning dependencies of target test_suite_psa_crypto
[ 92%] Building C object tests/CMakeFiles/test_suite_psa_crypto.dir/test_suite_psa_crypto.c.o
[ 92%] Linking C executable test_suite_psa_crypto
[ 92%] Built target test_suite_psa_crypto
[ 92%] Generating test_suite_gcm.aes192_de.c
Scanning dependencies of target test_suite_gcm.aes192_de
[ 93%] Building C object tests/CMakeFiles/test_suite_gcm.aes192_de.dir/test_suite_gcm.aes192_de.c.o
[ 93%] Linking C executable test_suite_gcm.aes192_de
[ 93%] Built target test_suite_gcm.aes192_de
[ 93%] Generating test_suite_psa_crypto_entropy.c
Scanning dependencies of target test_suite_psa_crypto_entropy
[ 93%] Building C object tests/CMakeFiles/test_suite_psa_crypto_entropy.dir/test_suite_psa_crypto_entropy.c.o
[ 93%] Linking C executable test_suite_psa_crypto_entropy
[ 93%] Built target test_suite_psa_crypto_entropy
[ 94%] Generating test_suite_hkdf.c
Scanning dependencies of target test_suite_hkdf
[ 94%] Building C object tests/CMakeFiles/test_suite_hkdf.dir/test_suite_hkdf.c.o
[ 94%] Linking C executable test_suite_hkdf
[ 94%] Built target test_suite_hkdf
[ 95%] Generating test_suite_psa_crypto_hash.c
Scanning dependencies of target test_suite_psa_crypto_hash
[ 95%] Building C object tests/CMakeFiles/test_suite_psa_crypto_hash.dir/test_suite_psa_crypto_hash.c.o
[ 95%] Linking C executable test_suite_psa_crypto_hash
[ 95%] Built target test_suite_psa_crypto_hash
[ 96%] Generating test_suite_psa_crypto_metadata.c
Scanning dependencies of target test_suite_psa_crypto_metadata
[ 96%] Building C object tests/CMakeFiles/test_suite_psa_crypto_metadata.dir/test_suite_psa_crypto_metadata.c.o
[ 96%] Linking C executable test_suite_psa_crypto_metadata
[ 96%] Built target test_suite_psa_crypto_metadata
[ 96%] Generating test_suite_cipher.misc.c
Scanning dependencies of target test_suite_cipher.misc
[ 97%] Building C object tests/CMakeFiles/test_suite_cipher.misc.dir/test_suite_cipher.misc.c.o
[ 97%] Linking C executable test_suite_cipher.misc
[ 97%] Built target test_suite_cipher.misc
[ 98%] Generating test_suite_psa_crypto_se_driver_hal.c
Scanning dependencies of target test_suite_psa_crypto_se_driver_hal
[ 98%] Building C object tests/CMakeFiles/test_suite_psa_crypto_se_driver_hal.dir/test_suite_psa_crypto_se_driver_hal.c.o
[ 98%] Linking C executable test_suite_psa_crypto_se_driver_hal
[ 98%] Built target test_suite_psa_crypto_se_driver_hal
[ 98%] Generating test_suite_psa_crypto_se_driver_hal_mocks.c
Scanning dependencies of target test_suite_psa_crypto_se_driver_hal_mocks
[ 98%] Building C object tests/CMakeFiles/test_suite_psa_crypto_se_driver_hal_mocks.dir/test_suite_psa_crypto_se_driver_hal_mocks.c.o
[ 99%] Linking C executable test_suite_psa_crypto_se_driver_hal_mocks
[ 99%] Built target test_suite_psa_crypto_se_driver_hal_mocks
[ 99%] Generating test_suite_psa_its.c
Scanning dependencies of target test_suite_psa_its
[ 99%] Building C object tests/CMakeFiles/test_suite_psa_its.dir/test_suite_psa_its.c.o
[100%] Linking C executable test_suite_psa_its
[100%] Built target test_suite_psa_its
root@aware:/home/zip/mbedtls/build# make install
[  1%] Built target mbedtls_test
[ 12%] Built target mbedcrypto_static
[ 14%] Built target mbedx509_static
[ 26%] Built target mbedcrypto
[ 27%] Built target mbedx509
[ 29%] Built target mbedtls_static
[ 31%] Built target mbedtls
[ 31%] Built target crypt_and_hash
[ 31%] Built target aescrypt2
[ 32%] Built target fuzz_server
[ 33%] Built target fuzz_dtlsclient
[ 34%] Built target fuzz_pubkey
[ 34%] Built target fuzz_privkey
[ 35%] Built target fuzz_dtlsserver
[ 35%] Built target fuzz_x509crl
[ 36%] Built target fuzz_x509crt
[ 36%] Built target fuzz_x509csr
[ 36%] Built target fuzz_client
[ 36%] Built target hello
[ 36%] Built target generic_sum
[ 36%] Built target rsa_verify_pss
[ 37%] Built target rsa_sign_pss
[ 37%] Built target rsa_sign
[ 37%] Built target gen_key
[ 37%] Built target rsa_verify
[ 38%] Built target ecdsa
[ 38%] Built target key_app_writer
[ 38%] Built target ecdh_curve25519
[ 38%] Built target rsa_decrypt
[ 38%] Built target rsa_genkey
[ 38%] Built target dh_genprime
[ 38%] Built target dh_server
[ 39%] Built target dh_client
[ 39%] Built target mpi_demo
[ 39%] Built target pk_encrypt
[ 40%] Built target pk_decrypt
[ 41%] Built target key_app
[ 41%] Built target pk_sign
[ 42%] Built target rsa_encrypt
[ 43%] Built target pk_verify
[ 43%] Built target key_ladder_demo
[ 43%] Built target psa_constant_names_generated
[ 43%] Built target psa_constant_names
[ 43%] Built target crypto_examples
[ 44%] Built target gen_entropy
[ 44%] Built target gen_random_ctr_drbg
[ 45%] Built target gen_random_havege
[ 46%] Built target ssl_client2
[ 46%] Built target ssl_context_info
[ 46%] Built target ssl_client1
[ 46%] Built target ssl_fork_server
[ 46%] Built target ssl_server
[ 47%] Built target mini_client
[ 48%] Built target dtls_client
[ 49%] Built target ssl_mail_client
[ 49%] Built target dtls_server
[ 50%] Built target ssl_server2
[ 50%] Built target ssl_pthread_server
[ 50%] Built target udp_proxy
[ 50%] Built target benchmark
[ 51%] Built target zeroize
[ 52%] Built target selftest
[ 52%] Built target query_compile_time_config
[ 52%] Built target strerror
[ 52%] Built target pem2der
[ 52%] Built target cert_req
[ 53%] Built target cert_app
[ 53%] Built target cert_write
[ 54%] Built target crl_app
[ 55%] Built target req_app
[ 56%] Built target test_suite_xtea
[ 57%] Built target test_suite_x509parse
[ 57%] Built target test_suite_version
[ 58%] Built target test_suite_shax
[ 58%] Built target test_suite_ecdsa
[ 58%] Built target test_suite_des
[ 58%] Built target test_suite_cipher.gcm
[ 58%] Built target test_suite_cipher.chachapoly
[ 58%] Built target test_suite_aes.cfb
[ 59%] Built target test_suite_camellia
[ 59%] Built target test_suite_aes.ofb
[ 60%] Built target test_suite_md
[ 61%] Built target test_suite_timing
[ 61%] Built target test_suite_cipher.nist_kw
[ 61%] Built target test_suite_cipher.blowfish
[ 62%] Built target test_suite_cipher.des
[ 63%] Built target test_suite_cipher.arc4
[ 64%] Built target test_suite_cmac
[ 64%] Built target test_suite_cipher.padding
[ 65%] Built target test_suite_entropy
[ 65%] Built target test_suite_error
[ 65%] Built target test_suite_ssl
[ 65%] Built target test_suite_ccm
[ 65%] Built target test_suite_aes.xts
[ 65%] Built target test_suite_ctr_drbg
[ 66%] Built target test_suite_pem
[ 67%] Built target test_suite_aes.ecb
[ 68%] Built target test_suite_arc4
[ 69%] Built target test_suite_aes.cbc
[ 70%] Built target test_suite_hmac_drbg.pr
[ 70%] Built target test_suite_rsa
[ 71%] Built target test_suite_debug
[ 71%] Built target test_suite_aria
[ 71%] Built target test_suite_psa_crypto_slot_management
[ 72%] Built target test_suite_asn1parse
[ 72%] Built target test_suite_asn1write
[ 73%] Built target test_suite_ecdh
[ 74%] Built target test_suite_pkcs1_v15
[ 74%] Built target test_suite_psa_crypto_init
[ 75%] Built target test_suite_cipher.null
[ 75%] Built target test_suite_x509write
[ 76%] Built target test_suite_chacha20
[ 77%] Built target test_suite_ecjpake
[ 78%] Built target test_suite_chachapoly
[ 78%] Built target test_suite_ecp
[ 79%] Built target test_suite_gcm.aes128_de
[ 79%] Built target test_suite_mdx
[ 79%] Built target test_suite_gcm.aes192_en
[ 79%] Built target test_suite_cipher.ccm
[ 80%] Built target test_suite_gcm.aes256_de
[ 80%] Built target test_suite_gcm.aes256_en
[ 81%] Built target test_suite_gcm.camellia
[ 81%] Built target test_suite_gcm.misc
[ 82%] Built target test_suite_dhm
[ 83%] Built target test_suite_aes.rest
[ 83%] Built target test_suite_blowfish
[ 83%] Built target test_suite_poly1305
[ 83%] Built target test_suite_gcm.aes128_en
[ 83%] Built target test_suite_hmac_drbg.misc
[ 84%] Built target test_suite_hmac_drbg.no_reseed
[ 84%] Built target test_suite_psa_crypto_persistent_key
[ 84%] Built target test_suite_hmac_drbg.nopr
[ 85%] Built target test_suite_memory_buffer_alloc
[ 85%] Built target test_suite_pkcs1_v21
[ 85%] Built target test_suite_mpi
[ 86%] Built target test_suite_nist_kw
[ 86%] Built target test_suite_cipher.aes
[ 86%] Built target test_suite_pkparse
[ 86%] Built target test_suite_oid
[ 87%] Built target test_suite_cipher.chacha20
[ 88%] Built target test_suite_base64
[ 88%] Built target test_suite_pk
[ 89%] Built target test_suite_pkwrite
[ 90%] Built target test_suite_cipher.camellia
[ 91%] Built target test_suite_pkcs5
[ 92%] Built target test_suite_psa_crypto
[ 93%] Built target test_suite_gcm.aes192_de
[ 93%] Built target test_suite_psa_crypto_entropy
[ 94%] Built target test_suite_hkdf
[ 95%] Built target test_suite_psa_crypto_hash
[ 96%] Built target test_suite_psa_crypto_metadata
[ 97%] Built target test_suite_cipher.misc
[ 98%] Built target test_suite_psa_crypto_se_driver_hal
[ 99%] Built target test_suite_psa_crypto_se_driver_hal_mocks
[100%] Built target test_suite_psa_its
Install the project...
-- Install configuration: ""
-- Installing: /usr/local/include/mbedtls/aes.h
-- Installing: /usr/local/include/mbedtls/aesni.h
-- Installing: /usr/local/include/mbedtls/arc4.h
-- Installing: /usr/local/include/mbedtls/aria.h
-- Installing: /usr/local/include/mbedtls/asn1.h
-- Installing: /usr/local/include/mbedtls/asn1write.h
-- Installing: /usr/local/include/mbedtls/base64.h
-- Installing: /usr/local/include/mbedtls/bignum.h
-- Installing: /usr/local/include/mbedtls/blowfish.h
-- Installing: /usr/local/include/mbedtls/bn_mul.h
-- Installing: /usr/local/include/mbedtls/camellia.h
-- Installing: /usr/local/include/mbedtls/ccm.h
-- Installing: /usr/local/include/mbedtls/certs.h
-- Installing: /usr/local/include/mbedtls/chacha20.h
-- Installing: /usr/local/include/mbedtls/chachapoly.h
-- Installing: /usr/local/include/mbedtls/check_config.h
-- Installing: /usr/local/include/mbedtls/cipher.h
-- Installing: /usr/local/include/mbedtls/cipher_internal.h
-- Installing: /usr/local/include/mbedtls/cmac.h
-- Installing: /usr/local/include/mbedtls/compat-1.3.h
-- Installing: /usr/local/include/mbedtls/config.h
-- Installing: /usr/local/include/mbedtls/ctr_drbg.h
-- Installing: /usr/local/include/mbedtls/debug.h
-- Installing: /usr/local/include/mbedtls/des.h
-- Installing: /usr/local/include/mbedtls/dhm.h
-- Installing: /usr/local/include/mbedtls/ecdh.h
-- Installing: /usr/local/include/mbedtls/ecdsa.h
-- Installing: /usr/local/include/mbedtls/ecjpake.h
-- Installing: /usr/local/include/mbedtls/ecp.h
-- Installing: /usr/local/include/mbedtls/ecp_internal.h
-- Installing: /usr/local/include/mbedtls/entropy.h
-- Installing: /usr/local/include/mbedtls/entropy_poll.h
-- Installing: /usr/local/include/mbedtls/error.h
-- Installing: /usr/local/include/mbedtls/gcm.h
-- Installing: /usr/local/include/mbedtls/havege.h
-- Installing: /usr/local/include/mbedtls/hkdf.h
-- Installing: /usr/local/include/mbedtls/hmac_drbg.h
-- Installing: /usr/local/include/mbedtls/md.h
-- Installing: /usr/local/include/mbedtls/md2.h
-- Installing: /usr/local/include/mbedtls/md4.h
-- Installing: /usr/local/include/mbedtls/md5.h
-- Installing: /usr/local/include/mbedtls/md_internal.h
-- Installing: /usr/local/include/mbedtls/memory_buffer_alloc.h
-- Installing: /usr/local/include/mbedtls/net.h
-- Installing: /usr/local/include/mbedtls/net_sockets.h
-- Installing: /usr/local/include/mbedtls/nist_kw.h
-- Installing: /usr/local/include/mbedtls/oid.h
-- Installing: /usr/local/include/mbedtls/padlock.h
-- Installing: /usr/local/include/mbedtls/pem.h
-- Installing: /usr/local/include/mbedtls/pk.h
-- Installing: /usr/local/include/mbedtls/pk_internal.h
-- Installing: /usr/local/include/mbedtls/pkcs11.h
-- Installing: /usr/local/include/mbedtls/pkcs12.h
-- Installing: /usr/local/include/mbedtls/pkcs5.h
-- Installing: /usr/local/include/mbedtls/platform.h
-- Installing: /usr/local/include/mbedtls/platform_time.h
-- Installing: /usr/local/include/mbedtls/platform_util.h
-- Installing: /usr/local/include/mbedtls/poly1305.h
-- Installing: /usr/local/include/mbedtls/psa_util.h
-- Installing: /usr/local/include/mbedtls/ripemd160.h
-- Installing: /usr/local/include/mbedtls/rsa.h
-- Installing: /usr/local/include/mbedtls/rsa_internal.h
-- Installing: /usr/local/include/mbedtls/sha1.h
-- Installing: /usr/local/include/mbedtls/sha256.h
-- Installing: /usr/local/include/mbedtls/sha512.h
-- Installing: /usr/local/include/mbedtls/ssl.h
-- Installing: /usr/local/include/mbedtls/ssl_cache.h
-- Installing: /usr/local/include/mbedtls/ssl_ciphersuites.h
-- Installing: /usr/local/include/mbedtls/ssl_cookie.h
-- Installing: /usr/local/include/mbedtls/ssl_internal.h
-- Installing: /usr/local/include/mbedtls/ssl_ticket.h
-- Installing: /usr/local/include/mbedtls/threading.h
-- Installing: /usr/local/include/mbedtls/timing.h
-- Installing: /usr/local/include/mbedtls/version.h
-- Installing: /usr/local/include/mbedtls/x509.h
-- Installing: /usr/local/include/mbedtls/x509_crl.h
-- Installing: /usr/local/include/mbedtls/x509_crt.h
-- Installing: /usr/local/include/mbedtls/x509_csr.h
-- Installing: /usr/local/include/mbedtls/xtea.h
-- Up-to-date: /usr/local/include/psa/crypto.h
-- Up-to-date: /usr/local/include/psa/crypto_accel_driver.h
-- Up-to-date: /usr/local/include/psa/crypto_compat.h
-- Up-to-date: /usr/local/include/psa/crypto_driver_common.h
-- Up-to-date: /usr/local/include/psa/crypto_entropy_driver.h
-- Up-to-date: /usr/local/include/psa/crypto_extra.h
-- Up-to-date: /usr/local/include/psa/crypto_platform.h
-- Up-to-date: /usr/local/include/psa/crypto_se_driver.h
-- Up-to-date: /usr/local/include/psa/crypto_sizes.h
-- Up-to-date: /usr/local/include/psa/crypto_struct.h
-- Up-to-date: /usr/local/include/psa/crypto_types.h
-- Up-to-date: /usr/local/include/psa/crypto_values.h
-- Installing: /usr/local/lib/libmbedcrypto.so.2.23.0
-- Installing: /usr/local/lib/libmbedcrypto.so.5
-- Installing: /usr/local/lib/libmbedcrypto.so
-- Installing: /usr/local/lib/libmbedx509.so.2.23.0
-- Installing: /usr/local/lib/libmbedx509.so.1
-- Set runtime path of "/usr/local/lib/libmbedx509.so.2.23.0" to ""
-- Installing: /usr/local/lib/libmbedx509.so
-- Installing: /usr/local/lib/libmbedtls.so.2.23.0
-- Installing: /usr/local/lib/libmbedtls.so.13
-- Set runtime path of "/usr/local/lib/libmbedtls.so.2.23.0" to ""
-- Installing: /usr/local/lib/libmbedtls.so
-- Installing: /usr/local/lib/libmbedcrypto.a
-- Installing: /usr/local/lib/libmbedx509.a
-- Installing: /usr/local/lib/libmbedtls.a
-- Installing: /usr/local/bin/aescrypt2
-- Set runtime path of "/usr/local/bin/aescrypt2" to ""
-- Installing: /usr/local/bin/crypt_and_hash
-- Set runtime path of "/usr/local/bin/crypt_and_hash" to ""
-- Installing: /usr/local/bin/generic_sum
-- Set runtime path of "/usr/local/bin/generic_sum" to ""
-- Installing: /usr/local/bin/hello
-- Set runtime path of "/usr/local/bin/hello" to ""
-- Installing: /usr/local/bin/dh_client
-- Set runtime path of "/usr/local/bin/dh_client" to ""
-- Installing: /usr/local/bin/dh_server
-- Set runtime path of "/usr/local/bin/dh_server" to ""
-- Installing: /usr/local/bin/dh_genprime
-- Set runtime path of "/usr/local/bin/dh_genprime" to ""
-- Installing: /usr/local/bin/ecdh_curve25519
-- Set runtime path of "/usr/local/bin/ecdh_curve25519" to ""
-- Installing: /usr/local/bin/ecdsa
-- Set runtime path of "/usr/local/bin/ecdsa" to ""
-- Installing: /usr/local/bin/gen_key
-- Set runtime path of "/usr/local/bin/gen_key" to ""
-- Installing: /usr/local/bin/key_app
-- Set runtime path of "/usr/local/bin/key_app" to ""
-- Installing: /usr/local/bin/key_app_writer
-- Set runtime path of "/usr/local/bin/key_app_writer" to ""
-- Installing: /usr/local/bin/mpi_demo
-- Set runtime path of "/usr/local/bin/mpi_demo" to ""
-- Installing: /usr/local/bin/pk_encrypt
-- Set runtime path of "/usr/local/bin/pk_encrypt" to ""
-- Installing: /usr/local/bin/pk_decrypt
-- Set runtime path of "/usr/local/bin/pk_decrypt" to ""
-- Installing: /usr/local/bin/pk_sign
-- Set runtime path of "/usr/local/bin/pk_sign" to ""
-- Installing: /usr/local/bin/pk_verify
-- Set runtime path of "/usr/local/bin/pk_verify" to ""
-- Installing: /usr/local/bin/rsa_decrypt
-- Set runtime path of "/usr/local/bin/rsa_decrypt" to ""
-- Installing: /usr/local/bin/rsa_encrypt
-- Set runtime path of "/usr/local/bin/rsa_encrypt" to ""
-- Installing: /usr/local/bin/rsa_genkey
-- Set runtime path of "/usr/local/bin/rsa_genkey" to ""
-- Installing: /usr/local/bin/rsa_sign
-- Set runtime path of "/usr/local/bin/rsa_sign" to ""
-- Installing: /usr/local/bin/rsa_sign_pss
-- Set runtime path of "/usr/local/bin/rsa_sign_pss" to ""
-- Installing: /usr/local/bin/rsa_verify
-- Set runtime path of "/usr/local/bin/rsa_verify" to ""
-- Installing: /usr/local/bin/rsa_verify_pss
-- Set runtime path of "/usr/local/bin/rsa_verify_pss" to ""
-- Installing: /usr/local/bin/crypto_examples
-- Set runtime path of "/usr/local/bin/crypto_examples" to ""
-- Installing: /usr/local/bin/key_ladder_demo
-- Set runtime path of "/usr/local/bin/key_ladder_demo" to ""
-- Installing: /usr/local/bin/psa_constant_names
-- Set runtime path of "/usr/local/bin/psa_constant_names" to ""
-- Installing: /usr/local/bin/key_ladder_demo.sh
-- Installing: /usr/local/bin/gen_entropy
-- Set runtime path of "/usr/local/bin/gen_entropy" to ""
-- Installing: /usr/local/bin/gen_random_ctr_drbg
-- Set runtime path of "/usr/local/bin/gen_random_ctr_drbg" to ""
-- Installing: /usr/local/bin/gen_random_havege
-- Set runtime path of "/usr/local/bin/gen_random_havege" to ""
-- Installing: /usr/local/bin/dtls_client
-- Set runtime path of "/usr/local/bin/dtls_client" to ""
-- Installing: /usr/local/bin/dtls_server
-- Set runtime path of "/usr/local/bin/dtls_server" to ""
-- Installing: /usr/local/bin/mini_client
-- Set runtime path of "/usr/local/bin/mini_client" to ""
-- Installing: /usr/local/bin/ssl_client1
-- Set runtime path of "/usr/local/bin/ssl_client1" to ""
-- Installing: /usr/local/bin/ssl_client2
-- Set runtime path of "/usr/local/bin/ssl_client2" to ""
-- Installing: /usr/local/bin/ssl_context_info
-- Set runtime path of "/usr/local/bin/ssl_context_info" to ""
-- Installing: /usr/local/bin/ssl_fork_server
-- Set runtime path of "/usr/local/bin/ssl_fork_server" to ""
-- Installing: /usr/local/bin/ssl_mail_client
-- Set runtime path of "/usr/local/bin/ssl_mail_client" to ""
-- Installing: /usr/local/bin/ssl_server
-- Set runtime path of "/usr/local/bin/ssl_server" to ""
-- Installing: /usr/local/bin/ssl_server2
-- Set runtime path of "/usr/local/bin/ssl_server2" to ""
-- Installing: /usr/local/bin/ssl_pthread_server
-- Set runtime path of "/usr/local/bin/ssl_pthread_server" to ""
-- Installing: /usr/local/bin/selftest
-- Set runtime path of "/usr/local/bin/selftest" to ""
-- Installing: /usr/local/bin/udp_proxy
-- Set runtime path of "/usr/local/bin/udp_proxy" to ""
-- Installing: /usr/local/bin/benchmark
-- Set runtime path of "/usr/local/bin/benchmark" to ""
-- Installing: /usr/local/bin/query_compile_time_config
-- Set runtime path of "/usr/local/bin/query_compile_time_config" to ""
-- Installing: /usr/local/bin/zeroize
-- Set runtime path of "/usr/local/bin/zeroize" to ""
-- Installing: /usr/local/bin/pem2der
-- Set runtime path of "/usr/local/bin/pem2der" to ""
-- Installing: /usr/local/bin/strerror
-- Set runtime path of "/usr/local/bin/strerror" to ""
-- Installing: /usr/local/bin/cert_app
-- Set runtime path of "/usr/local/bin/cert_app" to ""
-- Installing: /usr/local/bin/cert_req
-- Set runtime path of "/usr/local/bin/cert_req" to ""
-- Installing: /usr/local/bin/cert_write
-- Set runtime path of "/usr/local/bin/cert_write" to ""
-- Installing: /usr/local/bin/crl_app
-- Set runtime path of "/usr/local/bin/crl_app" to ""
-- Installing: /usr/local/bin/req_app
-- Set runtime path of "/usr/local/bin/req_app" to ""

check what libraries were installed (works correctly using cmake, not make!)

root@aware:/home/zip/mbedtls/build# ldconfig
root@aware:/home/zip/mbedtls/build# ldconfig -p |grep mbed
    libmbedx509.so.1 (libc6,x86-64) => /usr/local/lib/libmbedx509.so.1
    libmbedx509.so.0 (libc6,x86-64) => /lib/x86_64-linux-gnu/libmbedx509.so.0
    libmbedx509.so (libc6,x86-64) => /usr/local/lib/libmbedx509.so
    libmbedtls.so.13 (libc6,x86-64) => /usr/local/lib/libmbedtls.so.13
    libmbedtls.so (libc6,x86-64) => /usr/local/lib/libmbedtls.so
    libmbedcrypto.so.5 (libc6,x86-64) => /usr/local/lib/libmbedcrypto.so.5
    libmbedcrypto.so.3 (libc6,x86-64) => /lib/x86_64-linux-gnu/libmbedcrypto.so.3
    libmbedcrypto.so (libc6,x86-64) => /usr/local/lib/libmbedcrypto.so
    libfontembed.so.1 (libc6,x86-64) => /lib/x86_64-linux-gnu/libfontembed.so.1
root@aware:/home/zip/mbedtls/build# 
gilles-peskine-arm commented 4 years ago

We don't currently test the install targets so I'm not surprised that they would have a bug. That being said, could you clarify what the problem is? I see instructions to copy the libraries in Makefile.

The glibc dynamic loader uses a cache. You need to run ldconfig to update this cache. It's unusual for make install to update this cache, especially since ldconfig requires root access whereas make install only requires write access to the target directory which often doesn't require special permissions, or only requires membership in some group. Furthermore ldconfig is platform-specific and we try to keep our code and scripts as platform-agnostic as possible.

andrewhodel commented 4 years ago

I did run ldconfig, read through the whole thing.

The truth of it is I shouldn't have to read the Makefile, and make install does everything when using cmake and does not do everything when using make. There is no reason for that and it should just work.

Andrew

On Thu, Jul 30, 2020 at 1:39 PM Gilles Peskine notifications@github.com wrote:

We don't currently test the install targets https://github.com/ARMmbed/mbedtls/issues/3531 so I'm not surprised that they would have a bug. That being said, could you clarify what the problem is? I see instructions to copy the libraries in Makefile.

The glibc dynamic loader uses a cache. You need to run ldconfig to update this cache. It's unusual for make install to update this cache, especially since ldconfig requires root access whereas make install only requires write access to the target directory which often doesn't require special permissions, or only requires membership in some group. Furthermore ldconfig is platform-specific and we try to keep our code and scripts as platform-agnostic as possible.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/ARMmbed/mbedtls/issues/3530#issuecomment-666638851, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAFVCSPTVNZX5QAHAOVOLJLR6HD5JANCNFSM4POBXEAQ .

gilles-peskine-arm commented 4 years ago

It's still not clear to me what's wrong. Is a file missing? Which file?

I just tried it out on mbedtls-2.23.0 (the latest release) and things look as expected to me.

$ git checkout mbedtls-2.23.0
HEAD is now at 3ede173... Merge pull request #710 from ARMmbed/mbedtls-2.23.0r0-pr
$ make
…
$ mkdir /tmp/mbedtls
$ make install DESTDIR=/tmp/mbedtls
$ ls /tmp/mbedtls/lib
libmbedcrypto.a  libmbedtls.a  libmbedx509.a
$ /tmp/mbedtls/bin/mbedtls_strerror 42
Last error was: -0x002a - BASE64 - Output buffer too small

$ echo '#include <mbedtls/rsa.h>' | cpp >/dev/null
<stdin>:1:25: fatal error: mbedtls/rsa.h: No such file or directory
compilation terminated.
$ echo '#include <mbedtls/rsa.h>' | cpp -I /tmp/mbedtls/include >/dev/null
$ rm -r /tmp/mbedtls/*
$ make clean
$ make SHARED=1
…
$ make install DESTDIR=/tmp/mbedtls
$ ls /tmp/mbedtls/lib
ls /tmp/mbedtls/lib/
libmbedcrypto.a     libmbedtls.a      libmbedx509.a
libmbedcrypto.so    libmbedtls.so     libmbedx509.so
libmbedcrypto.so.5  libmbedtls.so.13  libmbedx509.so.1
$ /tmp/mbedtls/bin/mbedtls_strerror 42
/tmp/mbedtls/bin/mbedtls_strerror: error while loading shared libraries: libmbedcrypto.so.5: cannot open shared object file: No such file or directory
$ LD_LIBRARY_PATH=/tmp/mbedtls/lib /tmp/mbedtls/bin/mbedtls_strerror 42 
Last error was: -0x002a - BASE64 - Output buffer too small

$ echo '#include <mbedtls/rsa.h>' | cpp -I /tmp/mbedtls/include >/dev/null

Do you get different results? If not, what do you expect to happen differently?

andrewhodel commented 4 years ago

Try make without DESTDIR, assuming /usr/local

You can see clearly in the original issue I posted the difference in included libraries when building with make vs cmake, don't you reproduce those same results using those exact commands?

Andrew

On Thu, Jul 30, 2020 at 2:32 PM Gilles Peskine notifications@github.com wrote:

It's still not clear to me what's wrong. Is a file missing? Which file?

I just tried it out on mbedtls-2.23.0 (the latest release) and things look as expected to me.

$ git checkout mbedtls-2.23.0

HEAD is now at 3ede173... Merge pull request #710 from ARMmbed/mbedtls-2.23.0r0-pr

$ make

$ mkdir /tmp/mbedtls

$ make install DESTDIR=/tmp/mbedtls

$ ls /tmp/mbedtls/lib

libmbedcrypto.a libmbedtls.a libmbedx509.a

$ /tmp/mbedtls/bin/mbedtls_strerror 42

Last error was: -0x002a - BASE64 - Output buffer too small

$ echo '#include <mbedtls/rsa.h>' | cpp >/dev/null

:1:25: fatal error: mbedtls/rsa.h: No such file or directory compilation terminated. $ echo '#include ' | cpp -I /tmp/mbedtls/include >/dev/null $ rm -r /tmp/mbedtls/* $ make clean $ make SHARED=1 … $ make install DESTDIR=/tmp/mbedtls $ ls /tmp/mbedtls/lib ls /tmp/mbedtls/lib/ libmbedcrypto.a libmbedtls.a libmbedx509.a libmbedcrypto.so libmbedtls.so libmbedx509.so libmbedcrypto.so.5 libmbedtls.so.13 libmbedx509.so.1 $ /tmp/mbedtls/bin/mbedtls_strerror 42 /tmp/mbedtls/bin/mbedtls_strerror: error while loading shared libraries: libmbedcrypto.so.5: cannot open shared object file: No such file or directory $ LD_LIBRARY_PATH=/tmp/mbedtls/lib /tmp/mbedtls/bin/mbedtls_strerror 42 Last error was: -0x002a - BASE64 - Output buffer too small $ echo '#include ' | cpp -I /tmp/mbedtls/include >/dev/null Do you get different results? If not, what do you expect to happen differently? — You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub , or unsubscribe .
gilles-peskine-arm commented 4 years ago

Ok, I tried without DESTDIR on a system where I can write to /usr/local, and everything still looks as expected. Please tell us what you think is wrong. Don't make us guess. “Make should do the same thing as cmake” is not enough information because 1. I don't know what cmake does differently and 2. I don't necessarily expect make and cmake to do the same thing, since cmake has its own design choices that are not always what someone running a plain make would expect.

Note that if I follow your build log with make in the original message, this only builds static libraries, so the part about ldconfig is completely irrelevant. ldconfig only deals with dynamic libraries.

andrewhodel commented 4 years ago

This is after make && make install

root@aware:/home/zip/mbedtls# ldconfig
root@aware:/home/zip/mbedtls# ldconfig -p |grep mbed
    libmbedx509.so.0 (libc6,x86-64) => /lib/x86_64-linux-gnu/libmbedx509.so.0
    libmbedcrypto.so.3 (libc6,x86-64) => /lib/x86_64-linux-gnu/libmbedcrypto.so.3
    libfontembed.so.1 (libc6,x86-64) => /lib/x86_64-linux-gnu/libfontembed.so.1

This is after mkdir build && cd build && cmake -DUSE_SHARED_MBEDTLS_LIBRARY=On ../ && make && make install

root@aware:/home/zip/mbedtls/build# ldconfig
root@aware:/home/zip/mbedtls/build# ldconfig -p |grep mbed
    libmbedx509.so.1 (libc6,x86-64) => /usr/local/lib/libmbedx509.so.1
    libmbedx509.so.0 (libc6,x86-64) => /lib/x86_64-linux-gnu/libmbedx509.so.0
    libmbedx509.so (libc6,x86-64) => /usr/local/lib/libmbedx509.so
    libmbedtls.so.13 (libc6,x86-64) => /usr/local/lib/libmbedtls.so.13
    libmbedtls.so (libc6,x86-64) => /usr/local/lib/libmbedtls.so
    libmbedcrypto.so.5 (libc6,x86-64) => /usr/local/lib/libmbedcrypto.so.5
    libmbedcrypto.so.3 (libc6,x86-64) => /lib/x86_64-linux-gnu/libmbedcrypto.so.3
    libmbedcrypto.so (libc6,x86-64) => /usr/local/lib/libmbedcrypto.so
    libfontembed.so.1 (libc6,x86-64) => /lib/x86_64-linux-gnu/libfontembed.so.1
root@aware:/home/zip/mbedtls/build# 

How much more clear can I be, what is wrong is that by default just doing make && make install after git clone repo does not install the libraries!

andrewhodel commented 4 years ago

In other words, who would build the libs and expect them to be static by default!

Shouldn't make build the dynamic libs by default?

andrewhodel commented 4 years ago

It is also important to note that the instructions (both the same for make and cmake) include "how to build dynamic libs" by default for the cmake instructions and not for make.

I'm just saying it's a detriment to your library for someone to read the first instructions on how to build and install using the conventional tools then have it not work.

gilles-peskine-arm commented 4 years ago

Shouldn't make build the dynamic libs by default?

Oh, isthat what you meant? So it's not about what is installed, but what is built? And you want to build shared libraries by default, not static libraries?

We're not going to change the default behavior in the 2.x series because that would break the expectations of current users. This could make sense to change in Mbed TLS 3.0. Please post this suggestion to the mailing list, which is where we prefer to discuss potential architectural changes.

andrewhodel commented 4 years ago

No, I just meant quit drawing an X with the two different build routes.

It is confusing, regular make builds static libs and the directions specify nothing about how to build dynamic libs...

Then

Cmake instructions specify a shared libs location by default.

Either pick a default or document everything, it is the very first point into the library! That is how people use this library, they read the instructions!

Andrew

On Thu, Jul 30, 2020 at 5:29 PM Gilles Peskine notifications@github.com wrote:

Shouldn't make build the dynamic libs by default?

Oh, isthat what you meant? So it's not about what is installed, but what is built? And you want to build shared libraries by default, not static libraries?

We're not going to change the default behavior in the 2.x series because that would break the expectations of current users. This could make sense to change in Mbed TLS 3.0. Please post this suggestion to the mailing list https://lists.trustedfirmware.org/mailman/listinfo/mbed-tls, which is where we prefer to discuss potential architectural changes.

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/ARMmbed/mbedtls/issues/3530#issuecomment-666772452, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAFVCSOQEB6XPNLHWA54EFDR6H667ANCNFSM4POBXEAQ .

gilles-peskine-arm commented 4 years ago

Again, I don't understand your comment. What do you mean by “drawing an X with the two different build routes”?

Cmake only builds static libraries by default, just like plain make.

README.md explains how to build shared libraries for both build systems:

Setting the variable SHARED in your environment will build shared libraries in addition to the static libraries.

and

To configure CMake for building shared libraries, use:

cmake -DUSE_SHARED_MBEDTLS_LIBRARY=On /path/to/mbedtls_source
andrewhodel commented 4 years ago

I mean as developers it is important to keep the build instructions similar across multiple projects.

  1. It is odd that dynamic/shared libs are not built by default.

  2. The make instructions could have a command that could be pasted.

Just trying to help, great library.

Andrew

On Thu, Jul 30, 2020 at 6:13 PM Gilles Peskine notifications@github.com wrote:

Again, I don't understand your comment. What do you mean by “drawing an X with the two different build routes”?

Cmake only builds static libraries by default, just like plain make.

README.md explains how to build shared libraries for both build systems:

Setting the variable SHARED in your environment will build shared libraries in addition to the static libraries.

and

To configure CMake for building shared libraries, use:

cmake -DUSE_SHARED_MBEDTLS_LIBRARY=On /path/to/mbedtls_source

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/ARMmbed/mbedtls/issues/3530#issuecomment-666809252, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAFVCSNQ33LDRSKZKRIGMJDR6IECDANCNFSM4POBXEAQ .

andrewhodel commented 4 years ago

A lot of people interpret it as you trying to replace a basic Makefile with cmake.

Andrew

On Thu, Jul 30, 2020 at 6:15 PM Andrew Hodel andrewhodel@gmail.com wrote:

I mean as developers it is important to keep the build instructions similar across multiple projects.

  1. It is odd that dynamic/shared libs are not built by default.

  2. The make instructions could have a command that could be pasted.

Just trying to help, great library.

Andrew

On Thu, Jul 30, 2020 at 6:13 PM Gilles Peskine notifications@github.com wrote:

Again, I don't understand your comment. What do you mean by “drawing an X with the two different build routes”?

Cmake only builds static libraries by default, just like plain make.

README.md explains how to build shared libraries for both build systems:

Setting the variable SHARED in your environment will build shared libraries in addition to the static libraries.

and

To configure CMake for building shared libraries, use:

cmake -DUSE_SHARED_MBEDTLS_LIBRARY=On /path/to/mbedtls_source

— You are receiving this because you authored the thread. Reply to this email directly, view it on GitHub https://github.com/ARMmbed/mbedtls/issues/3530#issuecomment-666809252, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAFVCSNQ33LDRSKZKRIGMJDR6IECDANCNFSM4POBXEAQ .

gilles-peskine-arm commented 3 months ago

Architectural and prioritization decision: in principle, that makes sense. The users who want a dynamic library tend to be the users who don't expect to change the defaults (e.g. Linux distributions). The users who want a static library tend to be users who expect to customize things (constrained platforms) and are also using the library in a bigger build system (e.g. board support package).

However, this would require major changes in our test scripts, so it's not very likely that we'll have time to do that for 4.0. However, the build system is changing heavily anyway (see https://github.com/Mbed-TLS/TF-PSA-Crypto/issues/106), so maybe this will just be an aspect of the new build system that we can choose cheaply.

gilles-peskine-arm commented 3 months ago

I'm changing the size estimate. size-xs was for the change itself. But we need to consider the impact on our own scripts: even if we have to just pass an extra option when building, we'll have to pass it in a lot of places.