guidovranken / cryptofuzz

Fuzzing cryptographic libraries. Magic bug printer go brrrr.

Home Page:https://guidovranken.com/2019/05/14/differential-fuzzing-of-cryptographic-libraries/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Step #4: /src/cryptofuzz/modules/secp256k1/module.cpp:338: undefined reference to `secp256k1_keypair_create'

maflcko opened this issue · comments

https://bugs.chromium.org/p/oss-fuzz/issues/detail?id=35315

Step #4: clang++ -O1 -fno-omit-frame-pointer -gline-tables-only -DFUZZING_BUILD_MODE_UNSAFE_FOR_PRODUCTION -fsanitize=address -fsanitize-address-use-after-scope -fsanitize=fuzzer-no-link -stdlib=libc++ -DCRYPTOFUZZ_NO_OPENSSL -I /src/boost_1_74_0/ -DCRYPTOFUZZ_SECP256K1 -DCRYPTOFUZZ_TREZOR_FIRMWARE -DCRYPTOFUZZ_BOTAN -DCRYPTOFUZZ_BOTAN_IS_ORACLE -Wall -Wextra -std=c++17 -I include/ -I . -I fuzzing-headers/include -DFUZZING_HEADERS_NO_IMPL driver.o executor.o util.o entry.o tests.o operation.o datasource.o repository.o options.o components.o wycheproof.o crypto.o mutator.o numbers.o mutatorpool.o modules/trezor/module.a modules/bitcoin/module.a modules/secp256k1/module.a modules/botan/module.a -fsanitize=fuzzer third_party/cpu_features/build/libcpu_features.a  -o cryptofuzz
Step #4: modules/secp256k1/module.a(module.o): In function `cryptofuzz::module::secp256k1::OpSchnorr_Sign(cryptofuzz::operation::Schnorr_Sign&)':
Step #4: /src/cryptofuzz/modules/secp256k1/module.cpp:338: undefined reference to `secp256k1_keypair_create'
Step #4: /src/cryptofuzz/modules/secp256k1/module.cpp:352: undefined reference to `secp256k1_nonce_function_bip340'
Step #4: /src/cryptofuzz/modules/secp256k1/module.cpp:352: undefined reference to `secp256k1_schnorrsig_sign'
Step #4: /src/cryptofuzz/modules/secp256k1/module.cpp:357: undefined reference to `secp256k1_schnorrsig_sign'
Step #4: /src/cryptofuzz/modules/secp256k1/module.cpp:362: undefined reference to `secp256k1_keypair_xonly_pub'
Step #4: /src/cryptofuzz/modules/secp256k1/module.cpp:363: undefined reference to `secp256k1_xonly_pubkey_serialize'
Step #4: /src/cryptofuzz/modules/secp256k1/module.cpp:367: undefined reference to `secp256k1_schnorrsig_verify'
Step #4: /src/cryptofuzz/modules/secp256k1/module.cpp:352: undefined reference to `secp256k1_nonce_function_bip340'
Step #4: modules/secp256k1/module.a(module.o): In function `cryptofuzz::module::secp256k1::OpSchnorr_Verify(cryptofuzz::operation::Schnorr_Verify&)':
Step #4: /src/cryptofuzz/modules/secp256k1/module.cpp:426: undefined reference to `secp256k1_xonly_pubkey_parse'
Step #4: /src/cryptofuzz/modules/secp256k1/module.cpp:428: undefined reference to `secp256k1_schnorrsig_verify'
Step #4: clang-12: error: linker command failed with exit code 1 (use -v to see invocation)
Step #4: make: *** [cryptofuzz] Error 1
Step #4: Makefile:42: recipe for target 'cryptofuzz' failed

Yeah, sorry, I was expecting google/oss-fuzz#5920 to be merged the same day as I integrated support for Schnorr in Cryptofuzz.

If you think the review process of that PR is going to take several more days, I can comment out Schnorr functions in Cryptofuzz, so that there won't be build errors in the meantime.

No worries. A failing build for a few days is no big deal.