JulyIghor / QtBitcoinTrader

Secure multi crypto exchange trading client
https://sourceforge.net/projects/bitcointrader/
732 stars 376 forks source link

Build issue #281

Open hilbert-rozenbaum opened 2 years ago

hilbert-rozenbaum commented 2 years ago

I'm trying to build QTTrader myself and getting this error during 'make' step:

script/rulesmodel.cpp: In member function ‘void RulesModel::swapRows(int, int)’:
script/rulesmodel.cpp:241:15: error: ‘class QList<bool>’ has no member named ‘swapItemsAt’
  241 |     pauseList.swapItemsAt(a, b);
      |               ^~~~~~~~~~~
script/rulesmodel.cpp:242:15: error: ‘class QList<int>’ has no member named ‘swapItemsAt’
  242 |     stateList.swapItemsAt(a, b);
      |               ^~~~~~~~~~~
script/rulesmodel.cpp:243:16: error: ‘class QList<ScriptObject*>’ has no member named ‘swapItemsAt’
  243 |     scriptList.swapItemsAt(a, b);
      |                ^~~~~~~~~~~
script/rulesmodel.cpp:244:16: error: ‘class QList<RuleHolder>’ has no member named ‘swapItemsAt’
  244 |     holderList.swapItemsAt(a, b);
      |                ^~~~~~~~~~~
script/rulesmodel.cpp:245:14: error: ‘class QList<unsigned int>’ has no member named ‘swapItemsAt’
  245 |     doneList.swapItemsAt(a, b);
      |              ^~~~~~~~~~~
make: *** [Makefile:1938: .obj/rulesmodel.o] Error 1

I used exactly the same steps like described here: https://github.com/JulyIghor/QtBitcoinTrader#compilation-on-linux Operating system is Linux Mint 20.3. Packages versions are: libssl-dev:amd64 1.1.1f-1ubuntu2.12 libglu1-mesa-dev:amd64 9.0.1-1build1 qtmultimedia5-dev:amd64 5.12.8-0ubuntu1 qtscript5-dev:amd64 5.12.8+dfsg-0ubuntu1 qt5-qmake:amd64 5.12.8+dfsg-0ubuntu2.1

Can you help me to figure out what I'm doing wrong?

JulyIghor commented 2 years ago

you are doing everything right, but you are using very old Qt version, can you use newer Qt version?

hilbert-rozenbaum commented 2 years ago

I think I can. All libraries where installed from default repositories. What Qt version is recommended?

JulyIghor commented 2 years ago

Latest Qt is recommended, 6.2 Or Qt 5.15 at least

nathanjcoughlin commented 2 years ago

Currently I am using Qt5.9.8 and static compiled openssl-1.1.1k and zlib-1.2.12 in Ubuntu 20.04 Desktop.

"qmake" and "make" finished successfully. after the successful compilation, I executed the product but unexpectedly got the following "openssl" error.

qt.network.ssl: QSslSocket: cannot resolve CRYPTO_num_locks qt.network.ssl: QSslSocket: cannot resolve CRYPTO_set_id_callback qt.network.ssl: QSslSocket: cannot resolve CRYPTO_set_locking_callback qt.network.ssl: QSslSocket: cannot resolve ERR_free_strings qt.network.ssl: QSslSocket: cannot resolve EVP_CIPHER_CTX_cleanup qt.network.ssl: QSslSocket: cannot resolve EVP_CIPHER_CTX_init qt.network.ssl: QSslSocket: cannot resolve sk_new_null qt.network.ssl: QSslSocket: cannot resolve sk_push qt.network.ssl: QSslSocket: cannot resolve sk_free qt.network.ssl: QSslSocket: cannot resolve sk_num qt.network.ssl: QSslSocket: cannot resolve sk_pop_free qt.network.ssl: QSslSocket: cannot resolve sk_value qt.network.ssl: QSslSocket: cannot resolve SSL_library_init qt.network.ssl: QSslSocket: cannot resolve SSL_load_error_strings qt.network.ssl: QSslSocket: cannot resolve SSL_get_ex_new_index qt.network.ssl: QSslSocket: cannot resolve SSLv3_client_method qt.network.ssl: QSslSocket: cannot resolve SSLv23_client_method qt.network.ssl: QSslSocket: cannot resolve SSLv3_server_method qt.network.ssl: QSslSocket: cannot resolve SSLv23_server_method qt.network.ssl: QSslSocket: cannot resolve X509_STORE_CTX_get_chain qt.network.ssl: QSslSocket: cannot resolve OPENSSL_add_all_algorithms_noconf qt.network.ssl: QSslSocket: cannot resolve OPENSSL_add_all_algorithms_conf qt.network.ssl: QSslSocket: cannot resolve SSLeay qt.network.ssl: QSslSocket: cannot resolve SSLeay_version qt.network.ssl: QSslSocket: cannot call unresolved function SSLeay qt.network.ssl: Incompatible version of OpenSSL Segmentation fault (core dumped)

Then I modified the QtBitcoinTrader_Desktop.pro file for the link of the openssl 1.0.2g to the executable. but the issue remained the same and it didn't help me. Why could I got such error and please let me know the good solution. Is that from the Qt or openssl version issue?

JulyIghor commented 2 years ago

Hello. You need to link the same openssl version that used to build specified Qt SDK build.

nathanjcoughlin commented 2 years ago

Thanks for your reply. But how and where can I find that openssl version for the Qt 5.9.8?

JulyIghor commented 2 years ago

Thanks for your reply. But how and where can I find that openssl version for the Qt 5.9.8?

Well, there is only choice: v1.0, v1.1, v2.0, so try other one

nathanjcoughlin commented 2 years ago

I am sorry but there is no v2.0 in openssl tags.

JulyIghor commented 2 years ago

I am sorry but there is no v2.0 in openssl tags.

Anyway your Qt version is outdated, please use 5.15+ or 6.3+ I have tested it on those.