Safeheron/safeheron-crypto-suites-cpp

error: ‘NID_stark256v1’ was not declared in this scope

Closed this issue · 5 comments

Hi,

I cannot compile safeheron-crypto-suites-cpp on Ubuntu 22.04 following https://github.com/Safeheron/safeheron-crypto-suites-cpp#build-and-install. More precisely, this error occurs:

_/home/martin/safeheron-crypto-suites-cpp/src/crypto-curve-cpp/src/crypto-curve/curve.cpp:115:68: error: ‘NID_stark256v1’ was not declared in this scope
115 | if (!stark_grp) stark_grp = EC_GROUP_new_by_curve_name(NID_stark256v1);
| ^~~~~~~~~~~~~~

make[2]: *** [CMakeFiles/SafeheronCryptoSuites.dir/build.make:356: CMakeFiles/SafeheronCryptoSuites.dir/src/crypto-curve-cpp/src/crypto-curve/curve.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:622: CMakeFiles/SafeheronCryptoSuites.dir/all] Error 2
make: *** [Makefile:146: all] Error 2_

OpenSSL 3.0.12 and 1.1.1w do not define NID_stark256v1 in include/ec.h.

Any help is welcome.

hey, I meet this problem too under macOS14.0. I've tried to comment out this line, through "make" passed, but failed in all the "test". Have you got resolvent

Install the openssl refer to https://github.com/Safeheron/safeheron-crypto-suites-cpp/blob/stark_curve/doc/OpenSSL-Installation.md

The StarkCurve is not supported by OpenSSL. We have extended OpenSSL to support the StarkCurve. If you want to use the StarkCurve, you must install the OpenSSL extended by Safeheron (refer to the "stark_curve" branch). Otherwise, you will get an error when you use the StarkCurve.

Hi. To fix the problem, we have updated the code. If you do not need to use stark curve, just pull the latest main branch and compile it without installing an openssl that supports stark curve.