Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Compilation error in Debian 9 #31

Closed
ssinyagin opened this issue Nov 12, 2017 · 3 comments
Closed

Compilation error in Debian 9 #31

ssinyagin opened this issue Nov 12, 2017 · 3 comments

Comments

@ssinyagin
Copy link

Under Debian 9.1, something is wrong with OpenSSL headers:

Package: openssl                         
Version: 1.1.0f-3+deb9u1
State: installed

"make" output at the time of the error:

g++ -c -m64 -pipe -fstack-protector-all -D_FORTIFY_SOURCE=2 -Wl,-z,relro -Wl,-z,now -O2 -D_REENTRANT -fdiagnostics-show-option -Wall -Wextra -Wno-ignored-qualifiers -Wformat -Wformat-security -Wno-unused-parameter -Wstack-protector -fPIC -DQT_GUI -DBOOST_THREAD_USE_LIB -DBOOST_SPIRIT_THREADSAFE -DQT_DISABLE_DEPRECATED_BEFORE=0 -DUSE_UPNP=1 -DSTATICLIB -DUSE_DBUS -DHAVE_BUILD_INFO -DLINUX -DQT_NO_DEBUG -DQT_WIDGETS_LIB -DQT_GUI_LIB -DQT_DBUS_LIB -DQT_CORE_LIB -Isrc -Isrc/json -Isrc/qt -Isrc/leveldb/include -Isrc/leveldb/helpers -isystem /usr/include/x86_64-linux-gnu/qt5 -isystem /usr/include/x86_64-linux-gnu/qt5/QtWidgets -isystem /usr/include/x86_64-linux-gnu/qt5/QtGui -isystem /usr/include/x86_64-linux-gnu/qt5/QtDBus -isystem /usr/include/x86_64-linux-gnu/qt5/QtCore -Ibuild -Ibuild -I/usr/lib/x86_64-linux-gnu/qt5/mkspecs/linux-g++-64 -o build/txdb-leveldb.o src/txdb-leveldb.cpp
In file included from src/main.h:8:0,
                 from src/kernel.h:7,
                 from src/txdb-leveldb.cpp:17:
src/bignum.h:57:24: error: invalid use of incomplete type ‘BIGNUM {aka struct bignum_st}’
 class CBigNum : public BIGNUM
                        ^~~~~~
In file included from /usr/include/openssl/bn.h:32:0,
                 from src/bignum.h:13,
                 from src/main.h:8,
                 from src/kernel.h:7,
                 from src/txdb-leveldb.cpp:17:
/usr/include/openssl/ossl_typ.h:80:16: note: forward declaration of ‘BIGNUM {aka struct bignum_st}’
 typedef struct bignum_st BIGNUM;
                ^~~~~~~~~
In file included from src/main.h:8:0,
                 from src/kernel.h:7,
                 from src/txdb-leveldb.cpp:17:
src/bignum.h: In constructor ‘CBigNum::CBigNum()’:
src/bignum.h:62:21: error: ‘BN_init’ was not declared in this scope
         BN_init(this);

(about a hundred lines of errors further down)

@dmzpkts
Copy link

dmzpkts commented Jan 7, 2018

Also experiencing the same build errors on debian 9 on a clean install

@dmzpkts
Copy link

dmzpkts commented Jan 7, 2018

May be related to this, and needing an openssl OLDER than 1.1.0 and boost 1.60

bitshares/bitshares-core#327

Looks like im setting up a ubuntu 16.04 container. This doesnt look simple.

@TheQuantumPhysicist
Copy link
Collaborator

TheQuantumPhysicist commented Jan 10, 2018

This is because you're using OpenSSL 1.1.0, where Neblio uses OpenSSL 1.0.2. You have two options:

  1. Compile OpenSSL 1.0.2 yourself, and link to it in neblio-qt.pro. This is a script that will do it for you. Then run qmake this way:
qmake "OPENSSL_INCLUDE_PATH=/path/to/openssl_build/include/" "OPENSSL_LIB_PATH=/path/to/openssl_build/lib/" /path/to/build/in

then make.
2. Install OpenSSL 1.0.2 on your Debian using the command sudo apt-get install libssl1.0.2. Be careful because this might break dependencies in your system, as some other programs use OpenSSL 1.1.0, and both SSL versions can't coexist. Do this only if you know what you're doing.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants