scilla
scilla copied to clipboard
Compilation error when using gcc 8.0.0
I had an issue while compiling with gcc 8.0.0, related to the compilation of Schnorr.cpp relying on an OpenSSL dependency (complaining about BN_generate_dsa_nonce).
# first have GCC 8.0.0 installed on your machine. Be sure to use this version in the next commands. OCaml and scilla must be compiled with the same GCC version.
git clone https://github.com/Zilliqa/scilla
cd scilla
opam switch create ./ --deps-only --with-test --yes ocaml-base-compiler.4.06.1
make
I cannot provide the full error anymore, but I suppose it can be reproduced easily. This is the version I was using:
➜ bin ./gcc --version
gcc (GCC) 8.0.0 20170615 (experimental)
Copyright (C) 2017 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
As my GCC 8.0.0 version was quite old (compiled from source, 20170615), it may be fixed now.
Also, was not depending on the OpenSSL version. 1.1.1 works.
@b2c2-dannywillems : Sorry, I only just spotted this.
Is this still an issue?
OpenSSL version 3.0.0-dev support (this might still be an issue, unless supporting openssl 3.0 is not in scope).
Unable to build scilla with openssl 3.0.0-dev.
OpenSSL 3.0.0-dev xx XXX xxxx (Library: OpenSSL 3.0.0-dev xx XXX xxxx)
Error message
/scilla/deps/schnorr/src/src/libSchnorr/src/Schnorr.cpp:407:58: error: ‘int EC_POINT_get_affine_coordinates_GFp(const EC_GROUP*, const EC_POINT*, BIGNUM*, BIGNUM*, BN_CTX*)’ is deprecated [-Werror=deprecated-declarations]
gcc version:
Using built-in specs.
COLLECT_GCC=gcc
COLLECT_LTO_WRAPPER=/usr/lib/gcc/x86_64-linux-gnu/8/lto-wrapper
OFFLOAD_TARGET_NAMES=nvptx-none
OFFLOAD_TARGET_DEFAULT=1
Target: x86_64-linux-gnu
Configured with: ../src/configure -v --with-pkgversion='Ubuntu 8.4.0-1ubuntu1~18.04' --with-bugurl=file:///usr/share/doc/gcc-8/README.Bugs --enable-languages=c,ada,c++,go,brig,d,fortran,objc,obj-c++ --prefix=/usr --with-gcc-major-version-only --program-suffix=-8 --program-prefix=x86_64-linux-gnu- --enable-shared --enable-linker-build-id --libexecdir=/usr/lib --without-included-gettext --enable-threads=posix --libdir=/usr/lib --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --enable-default-pie --with-system-zlib --with-target-system-zlib=auto --enable-objc-gc=auto --enable-multiarch --disable-werror --with-arch-32=i686 --with-abi=m64 --with-multilib-list=m32,m64,mx32 --enable-multilib --with-tune=generic --enable-offload-targets=nvptx-none --without-cuda-driver --enable-checking=release --build=x86_64-linux-gnu --host=x86_64-linux-gnu --target=x86_64-linux-gnu
Thread model: posix
gcc version 8.4.0 (Ubuntu 8.4.0-1ubuntu1~18.04)
@dservgun : Thanks for reporting this. Will investigate.
OpenSSL version 3.0.0-dev support (this might still be an issue, unless supporting openssl 3.0 is not in scope).
OpenSSL 3.0 is indeed not in scope. Zilliqa only supports v. 1.1.0 at the moment.
Closing for now. Please reopen if the issue is still relevant.