Solved QSslSocket Crosscompile Beaglebone
-
Hi and welcome to devnet,
Did you build Qt with OpenSSL support ?
-
Not explicitly. My understanding is that it was enabled by default for using shared libs.
-
If I put -openssl in my config file and give it the path to the header files using "I" , I get this error:
ERROR: Feature 'openssl-runtime' was enabled, but the pre-condition '!features.securetransport && libs.openssl_headers' failed. -
Do you have the OpenSSL development package installed in the sysroot you use to cross-compile Qt ?
-
@SGaist I do. In this folder: /home/parallels/arm-toolchain/sysroot-glibc-linaro-2.25-2019.12-arm-linux-gnueabihf/usr/include/openssl
-
@SGaist I figured this out. I was only using the openssl headers, also needed crypto and internal folders.
-
@jwalton49 Great, so if your issue is solved please don't forget to mark your post as such!
-
@Pablo-J-Rogina Well, that got me through running Configure but when I try to build QT I get this error:
Required feature library for file /home/parallels/Qt5.12.4/5.12.4/Src/qtbase/include/QtCore/../../src/corelib/plugin/qlibrary.h not available.
I'm not sure if this should be a new issue or not. It must be openssl related, builds normally if I don't use -openssl.
-
Hi @jwalton49,
AFAIK, the OpenSSL libs are loaded at runtime, so I would not wonder QLibrary is required.
Did you configure your build without QLibrary?
Regards
-
-
Two things:
- Please update to the latest 5.12 release, there where some bug fixes one of which fixed QSerialPort
- Use out of source builds, so if you have to start from scratch you just need to nuke the build folder and the sources stay clean.
Based on that, please do a clean build so you can check the build logs for the OpenSSL failure.
By the way, which version of OpenSSL do you have ?
-
I'm using OpenSSL version 1.1.0l.
I delete all folders for every build. I'll upgrade my QT version. Thanks. -
Then if possible, update also OpenSSL though current versions of Qt supports both.
I currently don't remember if you have an option to tell which version of OpenSSL to look for. Check with the --help option just in case. Helping detection might simplify your life. -
@SGaist I have to put this aside for a few days but I did upgrade to QT12.5.6 and OpenSSL version 1.1.1d and I'm back to the original problem of:
ERROR: Feature 'openssl-runtime' was enabled, but the pre-condition '!features.securetransport && libs.openssl_headers' failed.I'll research this further but have to get to something else right now.
-
You should check the configuration tests logs. That should give you the information about what exactly is failing.
-
@SGaist I have this all working now. Here is the setup for config that I used.
configure -v -openssl-runtime -no-pkg-config -opensource -platform linux-g++ -debug -release -device linux-beagleboard-g++
-prefix /QtForBBB OPENSSL_PREFIX=/home/parallels/tools/openssl
-sysroot ~/arm-toolchain/sysroot-glibc-linaro-2.25-2019.12-arm-linux-gnueabihf
-device-option CROSS_COMPILE=/opt/arm-toolchain/gcc-linaro-7.5.0-2019.12-x86_64_arm-linux-gnueabihf/bin/arm-linux-gnueabihf-
-nomake tests -nomake examples -no-opengl -no-xcb -no-eglfs -I /home/parallels/arm-toolchain/sysroot-glibc-linaro-2.25-2019.12-arm-linux-gnueabihf/usr/include -L /home/parallels/arm-toolchain/sysroot-glibc-linaro-2.25-2019.12-arm-linux-gnueabihf/usr/lib/openssl