Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save lorepieri8/7155215b698b066e8b806e6cbd4a7864 to your computer and use it in GitHub Desktop.
Save lorepieri8/7155215b698b066e8b806e6cbd4a7864 to your computer and use it in GitHub Desktop.
undefined reference to `keccak_256' error
lorenzo@MacBook-Air-di-Lorenzo ~/nov7zephyr/zephyr/samples/anyledger/anyledger-wallet/build $ cmake -GNinja -DBOARD=nrf52840_pca10056 -DBUILD_XCOMPILE=1 ../
-- Found PythonInterp: /Users/lorenzo/anaconda/bin/python3 (found suitable version "3.6", minimum required is "3")
-- Found PythonInterp: /Users/lorenzo/anaconda/bin/python3 (found suitable version "3.6", minimum required is "3.4")
-- Selected BOARD nrf52840_pca10056
Zephyr version: 1.13.99
Parsing Kconfig tree in /Users/lorenzo/nov7zephyr/zephyr/Kconfig
Loading /Users/lorenzo/nov7zephyr/zephyr/boards/arm/nrf52840_pca10056/nrf52840_pca10056_defconfig as base
Merging /Users/lorenzo/nov7zephyr/zephyr/samples/anyledger/anyledger-wallet/prj.conf
-- git describe failed: fatal: No names found, cannot describe anything.; "1.13.99" will be used instead
-- Generating zephyr/include/generated/generated_dts_board.h
nrf52840_pca10056.dts_compiled: Warning (unique_unit_address): /soc/i2c@40003000: duplicate unit-address (also used in node /soc/spi@40003000)
nrf52840_pca10056.dts_compiled: Warning (unique_unit_address): /soc/i2c@40004000: duplicate unit-address (also used in node /soc/spi@40004000)
-- Cache files will be written to: /Users/lorenzo/Library/Caches/zephyr
-- The C compiler identification is GNU 7.3.1
-- The CXX compiler identification is GNU 7.3.1
-- The ASM compiler identification is GNU
-- Found assembler: /Users/lorenzo/opt/gcc-arm-none-eabi-7-2018-q2-update/bin/arm-none-eabi-gcc
-- Performing Test toolchain_is_ok
-- Performing Test toolchain_is_ok - Success
-- Configuring done
-- Generating done
-- Build files have been written to: /Users/lorenzo/nov7zephyr/zephyr/samples/anyledger/anyledger-wallet/build
lorenzo@MacBook-Air-di-Lorenzo ~/nov7zephyr/zephyr/samples/anyledger/anyledger-wallet/build $ ninja
[7/243] Preparing syscall dependency handling
[201/243] Performing download step (git clone) for 'trezor-crypto-lib'
Cloning into 'trezor-crypto'...
Already on 'master'
Your branch is up to date with 'origin/master'.
Submodule 'tests/wycheproof' (https://github.com/google/wycheproof) registered for path 'tests/wycheproof'
Cloning into '/Users/lorenzo/nov7zephyr/zephyr/samples/anyledger/anyledger-wallet/build/thirdparty/trezor-crypto/tests/wycheproof'...
Submodule path 'tests/wycheproof': checked out '2904be69e9d666bf3064fdc15093747e695cfae6'
[204/243] Performing configure step for 'trezor-crypto-lib'
-- The C compiler identification is GNU 7.3.1
-- The CXX compiler identification is AppleClang 9.1.0.9020039
-- Checking whether C compiler has -isysroot
-- Checking whether C compiler has -isysroot - yes
-- Checking whether C compiler supports OSX deployment target flag
-- Checking whether C compiler supports OSX deployment target flag - no
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - failed
-- Detecting C compile features
-- Detecting C compile features - failed
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done
-- Generating done
-- Build files have been written to: /Users/lorenzo/nov7zephyr/zephyr/samples/anyledger/anyledger-wallet/build/trezor-crypto/src/trezor-crypto-lib-build
[205/243] Performing build step for 'trezor-crypto-lib'
[1/29] Building C object CMakeFiles/trezor-crypto.dir/address.c.o
[2/29] Building C object CMakeFiles/trezor-crypto.dir/base32.c.o
[3/29] Building C object CMakeFiles/trezor-crypto.dir/base58.c.o
[4/29] Building C object CMakeFiles/trezor-crypto.dir/bip39.c.o
/Users/lorenzo/nov7zephyr/zephyr/samples/anyledger/anyledger-wallet/build/thirdparty/trezor-crypto/bip39.c: In function 'mnemonic_to_seed':
/Users/lorenzo/nov7zephyr/zephyr/samples/anyledger/anyledger-wallet/build/thirdparty/trezor-crypto/bip39.c:187:23: warning: implicit declaration of function 'strnlen'; did you mean 'strlen'? [-Wimplicit-function-declaration]
int passphraselen = strnlen(passphrase, 256);
^~~~~~~
strlen
[5/29] Building C object CMakeFiles/trezor-crypto.dir/blake256.c.o
[6/29] Building C object CMakeFiles/trezor-crypto.dir/curves.c.o
[7/29] Building C object CMakeFiles/trezor-crypto.dir/cash_addr.c.o
[8/29] Building C object CMakeFiles/trezor-crypto.dir/bip32.c.o
[9/29] Building C object CMakeFiles/trezor-crypto.dir/hasher.c.o
[10/29] Building C object CMakeFiles/trezor-crypto.dir/hmac.c.o
[11/29] Building C object CMakeFiles/trezor-crypto.dir/memzero.c.o
[12/29] Building C object CMakeFiles/trezor-crypto.dir/bignum.c.o
[13/29] Building C object CMakeFiles/trezor-crypto.dir/nist256p1.c.o
[14/29] Building C object CMakeFiles/trezor-crypto.dir/nem.c.o
[15/29] Building C object CMakeFiles/trezor-crypto.dir/blake2s.c.o
[16/29] Building C object CMakeFiles/trezor-crypto.dir/rand.c.o
[17/29] Building C object CMakeFiles/trezor-crypto.dir/rc4.c.o
[18/29] Building C object CMakeFiles/trezor-crypto.dir/pbkdf2.c.o
[19/29] Building C object CMakeFiles/trezor-crypto.dir/rfc6979.c.o
[20/29] Building C object CMakeFiles/trezor-crypto.dir/ecdsa.c.o
[21/29] Building C object CMakeFiles/trezor-crypto.dir/script.c.o
[22/29] Building C object CMakeFiles/trezor-crypto.dir/secp256k1.c.o
[23/29] Building C object CMakeFiles/trezor-crypto.dir/segwit_addr.c.o
[24/29] Building C object CMakeFiles/trezor-crypto.dir/sha3.c.o
[25/29] Building C object CMakeFiles/trezor-crypto.dir/groestl.c.o
[26/29] Building C object CMakeFiles/trezor-crypto.dir/ripemd160.c.o
[27/29] Building C object CMakeFiles/trezor-crypto.dir/sha2.c.o
[28/29] Building C object CMakeFiles/trezor-crypto.dir/blake2b.c.o
[29/29] Linking C static library libtrezor-crypto.a
[206/243] Performing install step for 'trezor-crypto-lib'
[0/1] Install the project...
-- Install configuration: ""
-- Installing: /Users/lorenzo/nov7zephyr/zephyr/samples/anyledger/anyledger-wallet/build/install/lib/libtrezor-crypto.a
-- Installing: /Users/lorenzo/nov7zephyr/zephyr/samples/anyledger/anyledger-wallet/build/install/include/trezor-crypto/address.h
-- Installing: /Users/lorenzo/nov7zephyr/zephyr/samples/anyledger/anyledger-wallet/build/install/include/trezor-crypto/base32.h
-- Installing: /Users/lorenzo/nov7zephyr/zephyr/samples/anyledger/anyledger-wallet/build/install/include/trezor-crypto/base58.h
-- Installing: /Users/lorenzo/nov7zephyr/zephyr/samples/anyledger/anyledger-wallet/build/install/include/trezor-crypto/bignum.h
-- Installing: /Users/lorenzo/nov7zephyr/zephyr/samples/anyledger/anyledger-wallet/build/install/include/trezor-crypto/bip32.h
-- Installing: /Users/lorenzo/nov7zephyr/zephyr/samples/anyledger/anyledger-wallet/build/install/include/trezor-crypto/bip39.h
-- Installing: /Users/lorenzo/nov7zephyr/zephyr/samples/anyledger/anyledger-wallet/build/install/include/trezor-crypto/bip39_english.h
-- Installing: /Users/lorenzo/nov7zephyr/zephyr/samples/anyledger/anyledger-wallet/build/install/include/trezor-crypto/blake256.h
-- Installing: /Users/lorenzo/nov7zephyr/zephyr/samples/anyledger/anyledger-wallet/build/install/include/trezor-crypto/blake2_common.h
-- Installing: /Users/lorenzo/nov7zephyr/zephyr/samples/anyledger/anyledger-wallet/build/install/include/trezor-crypto/blake2b.h
-- Installing: /Users/lorenzo/nov7zephyr/zephyr/samples/anyledger/anyledger-wallet/build/install/include/trezor-crypto/blake2s.h
-- Installing: /Users/lorenzo/nov7zephyr/zephyr/samples/anyledger/anyledger-wallet/build/install/include/trezor-crypto/cash_addr.h
-- Installing: /Users/lorenzo/nov7zephyr/zephyr/samples/anyledger/anyledger-wallet/build/install/include/trezor-crypto/check_mem.h
-- Installing: /Users/lorenzo/nov7zephyr/zephyr/samples/anyledger/anyledger-wallet/build/install/include/trezor-crypto/curves.h
-- Installing: /Users/lorenzo/nov7zephyr/zephyr/samples/anyledger/anyledger-wallet/build/install/include/trezor-crypto/ecdsa.h
-- Installing: /Users/lorenzo/nov7zephyr/zephyr/samples/anyledger/anyledger-wallet/build/install/include/trezor-crypto/groestl.h
-- Installing: /Users/lorenzo/nov7zephyr/zephyr/samples/anyledger/anyledger-wallet/build/install/include/trezor-crypto/groestl_internal.h
-- Installing: /Users/lorenzo/nov7zephyr/zephyr/samples/anyledger/anyledger-wallet/build/install/include/trezor-crypto/hasher.h
-- Installing: /Users/lorenzo/nov7zephyr/zephyr/samples/anyledger/anyledger-wallet/build/install/include/trezor-crypto/hmac.h
-- Installing: /Users/lorenzo/nov7zephyr/zephyr/samples/anyledger/anyledger-wallet/build/install/include/trezor-crypto/memzero.h
-- Installing: /Users/lorenzo/nov7zephyr/zephyr/samples/anyledger/anyledger-wallet/build/install/include/trezor-crypto/nem.h
-- Installing: /Users/lorenzo/nov7zephyr/zephyr/samples/anyledger/anyledger-wallet/build/install/include/trezor-crypto/nist256p1.h
-- Installing: /Users/lorenzo/nov7zephyr/zephyr/samples/anyledger/anyledger-wallet/build/install/include/trezor-crypto/options.h
-- Installing: /Users/lorenzo/nov7zephyr/zephyr/samples/anyledger/anyledger-wallet/build/install/include/trezor-crypto/pbkdf2.h
-- Installing: /Users/lorenzo/nov7zephyr/zephyr/samples/anyledger/anyledger-wallet/build/install/include/trezor-crypto/rand.h
-- Installing: /Users/lorenzo/nov7zephyr/zephyr/samples/anyledger/anyledger-wallet/build/install/include/trezor-crypto/rc4.h
-- Installing: /Users/lorenzo/nov7zephyr/zephyr/samples/anyledger/anyledger-wallet/build/install/include/trezor-crypto/rfc6979.h
-- Installing: /Users/lorenzo/nov7zephyr/zephyr/samples/anyledger/anyledger-wallet/build/install/include/trezor-crypto/ripemd160.h
-- Installing: /Users/lorenzo/nov7zephyr/zephyr/samples/anyledger/anyledger-wallet/build/install/include/trezor-crypto/script.h
-- Installing: /Users/lorenzo/nov7zephyr/zephyr/samples/anyledger/anyledger-wallet/build/install/include/trezor-crypto/secp256k1.h
-- Installing: /Users/lorenzo/nov7zephyr/zephyr/samples/anyledger/anyledger-wallet/build/install/include/trezor-crypto/segwit_addr.h
-- Installing: /Users/lorenzo/nov7zephyr/zephyr/samples/anyledger/anyledger-wallet/build/install/include/trezor-crypto/sha2.h
-- Installing: /Users/lorenzo/nov7zephyr/zephyr/samples/anyledger/anyledger-wallet/build/install/include/trezor-crypto/sha3.h
-- Installing: /Users/lorenzo/nov7zephyr/zephyr/samples/anyledger/anyledger-wallet/build/install/include/trezor-crypto/chacha20poly1305/chacha20poly1305.h
-- Installing: /Users/lorenzo/nov7zephyr/zephyr/samples/anyledger/anyledger-wallet/build/install/include/trezor-crypto/chacha20poly1305/ecrypt-config.h
-- Installing: /Users/lorenzo/nov7zephyr/zephyr/samples/anyledger/anyledger-wallet/build/install/include/trezor-crypto/chacha20poly1305/ecrypt-machine.h
-- Installing: /Users/lorenzo/nov7zephyr/zephyr/samples/anyledger/anyledger-wallet/build/install/include/trezor-crypto/chacha20poly1305/ecrypt-portable.h
-- Installing: /Users/lorenzo/nov7zephyr/zephyr/samples/anyledger/anyledger-wallet/build/install/include/trezor-crypto/chacha20poly1305/ecrypt-sync.h
-- Installing: /Users/lorenzo/nov7zephyr/zephyr/samples/anyledger/anyledger-wallet/build/install/include/trezor-crypto/chacha20poly1305/ecrypt-types.h
-- Installing: /Users/lorenzo/nov7zephyr/zephyr/samples/anyledger/anyledger-wallet/build/install/include/trezor-crypto/chacha20poly1305/poly1305-donna-32.h
-- Installing: /Users/lorenzo/nov7zephyr/zephyr/samples/anyledger/anyledger-wallet/build/install/include/trezor-crypto/chacha20poly1305/poly1305-donna.h
-- Installing: /Users/lorenzo/nov7zephyr/zephyr/samples/anyledger/anyledger-wallet/build/install/include/trezor-crypto/chacha20poly1305/rfc7539.h
-- Installing: /Users/lorenzo/nov7zephyr/zephyr/samples/anyledger/anyledger-wallet/build/install/include/trezor-crypto/ed25519-donna/curve25519-donna-32bit.h
-- Installing: /Users/lorenzo/nov7zephyr/zephyr/samples/anyledger/anyledger-wallet/build/install/include/trezor-crypto/ed25519-donna/curve25519-donna-helpers.h
-- Installing: /Users/lorenzo/nov7zephyr/zephyr/samples/anyledger/anyledger-wallet/build/install/include/trezor-crypto/ed25519-donna/curve25519-donna-scalarmult-base.h
-- Installing: /Users/lorenzo/nov7zephyr/zephyr/samples/anyledger/anyledger-wallet/build/install/include/trezor-crypto/ed25519-donna/ed25519-donna-32bit-tables.h
-- Installing: /Users/lorenzo/nov7zephyr/zephyr/samples/anyledger/anyledger-wallet/build/install/include/trezor-crypto/ed25519-donna/ed25519-donna-basepoint-table.h
-- Installing: /Users/lorenzo/nov7zephyr/zephyr/samples/anyledger/anyledger-wallet/build/install/include/trezor-crypto/ed25519-donna/ed25519-donna-impl-base.h
-- Installing: /Users/lorenzo/nov7zephyr/zephyr/samples/anyledger/anyledger-wallet/build/install/include/trezor-crypto/ed25519-donna/ed25519-donna-portable.h
-- Installing: /Users/lorenzo/nov7zephyr/zephyr/samples/anyledger/anyledger-wallet/build/install/include/trezor-crypto/ed25519-donna/ed25519-donna.h
-- Installing: /Users/lorenzo/nov7zephyr/zephyr/samples/anyledger/anyledger-wallet/build/install/include/trezor-crypto/ed25519-donna/ed25519-hash-custom-keccak.h
-- Installing: /Users/lorenzo/nov7zephyr/zephyr/samples/anyledger/anyledger-wallet/build/install/include/trezor-crypto/ed25519-donna/ed25519-hash-custom-sha3.h
-- Installing: /Users/lorenzo/nov7zephyr/zephyr/samples/anyledger/anyledger-wallet/build/install/include/trezor-crypto/ed25519-donna/ed25519-hash-custom.h
-- Installing: /Users/lorenzo/nov7zephyr/zephyr/samples/anyledger/anyledger-wallet/build/install/include/trezor-crypto/ed25519-donna/ed25519-keccak.h
-- Installing: /Users/lorenzo/nov7zephyr/zephyr/samples/anyledger/anyledger-wallet/build/install/include/trezor-crypto/ed25519-donna/ed25519-sha3.h
-- Installing: /Users/lorenzo/nov7zephyr/zephyr/samples/anyledger/anyledger-wallet/build/install/include/trezor-crypto/ed25519-donna/ed25519.h
-- Installing: /Users/lorenzo/nov7zephyr/zephyr/samples/anyledger/anyledger-wallet/build/install/include/trezor-crypto/ed25519-donna/modm-donna-32bit.h
[236/243] Building C object CMakeFiles/app.dir/zephyr/keyfile.c.obj
zephyr/keyfile.c:1:9: note: #pragma message: PRIVATE KEY GENERATED USING random.random(). NOT SUITABLE FOR PRODUCTION USE
#pragma message("PRIVATE KEY GENERATED USING random.random(). NOT SUITABLE FOR PRODUCTION USE")
^~~~~~~
[238/243] Linking C executable zephyr/zephyr_prebuilt.elf
FAILED: zephyr/zephyr_prebuilt.elf
: && ccache /Users/lorenzo/opt/gcc-arm-none-eabi-7-2018-q2-update/bin/arm-none-eabi-gcc -L/Users/lorenzo/gitHubRepo/nov7Zephyr/zephyr/samples/anyledger/anyledger-wallet/build/trezor-crypto/src/trezor-crypto-lib-build zephyr/CMakeFiles/zephyr_prebuilt.dir/misc/empty_file.c.obj -o zephyr/zephyr_prebuilt.elf -T zephyr/linker.cmd -Wl,-Map=/Users/lorenzo/nov7zephyr/zephyr/samples/anyledger/anyledger-wallet/build/zephyr/zephyr.map -u_OffsetAbsSyms -u_ConfigAbsSyms -Wl,--whole-archive libapp.a zephyr/libzephyr.a zephyr/arch/arm/core/libarch__arm__core.a zephyr/arch/arm/core/cortex_m/libarch__arm__core__cortex_m.a zephyr/arch/arm/core/cortex_m/mpu/libarch__arm__core__cortex_m__mpu.a zephyr/lib/libc/minimal/liblib__libc__minimal.a zephyr/subsys/bluetooth/common/libsubsys__bluetooth__common.a zephyr/subsys/bluetooth/host/libsubsys__bluetooth__host.a zephyr/subsys/bluetooth/controller/libsubsys__bluetooth__controller.a zephyr/subsys/net/libsubsys__net.a zephyr/subsys/net/ip/libsubsys__net__ip.a zephyr/subsys/net/lib/lwm2m/libsubsys__net__lib__lwm2m.a zephyr/subsys/net/lib/config/libsubsys__net__lib__config.a zephyr/subsys/net/lib/http/libsubsys__net__lib__http.a zephyr/drivers/gpio/libdrivers__gpio.a zephyr/drivers/sensor/dht/libdrivers__sensor__dht.a zephyr/drivers/serial/libdrivers__serial.a zephyr/drivers/entropy/libdrivers__entropy.a -Wl,--no-whole-archive zephyr/kernel/libkernel.a zephyr/CMakeFiles/offsets.dir/arch/arm/core/offsets/offsets.c.obj -L"/Users/lorenzo/opt/gcc-arm-none-eabi-7-2018-q2-update/bin/../lib/gcc/arm-none-eabi/7.3.1/thumb/v7e-m" -L/Users/lorenzo/nov7zephyr/zephyr/samples/anyledger/anyledger-wallet/build/zephyr -lgcc -Wl,--print-memory-usage libwallet.a eth/libeth.a helpers/libhelpers.a -ltrezor-crypto -nostdlib -static -no-pie -Wl,-X -Wl,-N -Wl,--gc-sections -Wl,--build-id=none -Wl,--orphan-handling=warn && :
Memory region Used Size Region Size %age Used
FLASH: 190832 B 1 MB 18.20%
SRAM: 47712 B 256 KB 18.20%
IDT_LIST: 136 B 2 KB 6.64eth/libeth.a(address.c.obj): In function `publickey_to_address':
/Users/lorenzo/nov7zephyr/zephyr/samples/anyledger/anyledger-wallet/build/../eth/address.c:29: undefined reference to `keccak_256'
eth/libeth.a(address.c.obj): In function `privkey_to_ethereum_address':
/Users/lorenzo/nov7zephyr/zephyr/samples/anyledger/anyledger-wallet/build/../eth/address.c:37: undefined reference to `ecdsa_get_public_key65'
/Users/lorenzo/nov7zephyr/zephyr/samples/anyledger/anyledger-wallet/build/../eth/address.c:40: undefined reference to `secp256k1'
eth/libeth.a(sign.c.obj): In function `eth_sign_data_rawsig':
/Users/lorenzo/nov7zephyr/zephyr/samples/anyledger/anyledger-wallet/build/../eth/sign.c:59: undefined reference to `keccak_256'
/Users/lorenzo/nov7zephyr/zephyr/samples/anyledger/anyledger-wallet/build/../eth/sign.c:60: undefined reference to `ecdsa_sign_digest'
/Users/lorenzo/nov7zephyr/zephyr/samples/anyledger/anyledger-wallet/build/../eth/sign.c:63: undefined reference to `secp256k1'
collect2: error: ld returned 1 exit status
%
ninja: build stopped: subcommand failed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment