scilla icon indicating copy to clipboard operation
scilla copied to clipboard

Compilation error when using gcc 8.0.0

Open b2c2-dannywillems opened this issue 6 years ago • 5 comments

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.

b2c2-dannywillems avatar Oct 19 '19 09:10 b2c2-dannywillems

Also, was not depending on the OpenSSL version. 1.1.1 works.

b2c2-dannywillems avatar Oct 19 '19 10:10 b2c2-dannywillems

@b2c2-dannywillems : Sorry, I only just spotted this.

Is this still an issue?

jjcnn avatar Nov 23 '20 18:11 jjcnn

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 avatar Mar 12 '21 22:03 dservgun

@dservgun : Thanks for reporting this. Will investigate.

jjcnn avatar Mar 13 '21 15:03 jjcnn

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.

jjcnn avatar Mar 15 '21 19:03 jjcnn

Closing for now. Please reopen if the issue is still relevant.

anton-trunov avatar Aug 18 '22 13:08 anton-trunov