I am trying to use QNetworkAccessManager with SSL but it is not working.
qDebug() << "Support SSL: " << QSslSocket::supportsSsl()
<< "\nLib Version Number: " << QSslSocket::sslLibraryVersionNumber()
<< "\nLib Version String: " << QSslSocket::sslLibraryVersionString()
<< "\nLib Build Version Number: " << QSslSocket::sslLibraryBuildVersionNumber()
<< "\nLib Build Version String: " << QSslSocket::sslLibraryBuildVersionString();
Result is:
Support SSL: false
Lib Version Number: 0
Lib Version String: ""
Lib Build Version Number: 269488175
Lib Build Version String: "OpenSSL 1.1.1b 26 Feb 2019"
I have tried to install openssl openssl-1.1.1c.tar.gz from https://www.openssl.org/source/
But this didn't work.
https://doc.qt.io/qt-5/qsslsocket.html
QString QSslSocket::sslLibraryVersionString() Returns the version
string of the SSL library in use. Note that this is the version of the
library in use at run-time not compile time. If no SSL support is
available then this will return an empty value.
QString QSslSocket::sslLibraryBuildVersionString() Returns the
version string of the SSL library in use at compile time. If no SSL
support is available then this will return an empty value.
So you have Qt with the OpenSSL, but you have not OpenSSL loaded correctly run-time.
You could use third party OpenSSL related binaries https://wiki.openssl.org/index.php/Binaries (or compile manually from the https://www.openssl.org/source/)
After installing, check that OpenSSL binaries are available for your application (added to the PATH), and you need to provide the OpenSSL binaries for your deployed application.
OpenSSL x64 v1.1 binaries are libcrypto-1_1-x64.dll and libssl-1_1-x64.dll
I followed this other reply downloading: https://bintray.com/vszakats/generic/openssl/1.1.1g and made sure the PATH binary location precedes System32 (ie. Windows). Everything worked fine. QT does document this:
https://doc.qt.io/qt-5/windows-requirements.html#ssl
One thing I noticed looking into this, QT does not like the cygwin version of OpenSSL (Windows apps rarely do). However if your using this legitimately(ie. non-test/dev) I would suggest you master your own installation of OpenSSL instead of relying on thirdparty compilations.
Related
I'm trying to work my way through the pyqtdeploy documentation, trying to build the pyqt-demo project.
My system is an Ubuntu 18.04 (fresh installation, up-to-date)
$ uname -a :
Linux sui 4.15.0-39-generic #42-Ubuntu SMP Tue Oct 23 15:48:01 UTC 2018 x86_64 x86_64 x86_64 GNU/Linux
I'm using pyqtdeploy v. 2.3.
I downloaded every file required by the build(*) but I have a problem with the Qt tarball : I downloaded https://download.qt.io/archive/qt/5.11/5.11.1/single/qt-everywhere-src-5.11.1.tar.xz, not knowing if it was the right file to be used.
... and this is what I got:
$ python3 build-demo.py --verbose --source-dir=[skipped] --installed-qt-dir=[skipped]
[skipped]Creating qmake...
Done.
Info: creating super cache file [skipped]/sysroot-linux-64/build/qt-everywhere-src-5.11.1/.qmake.super
Info: creating stash file [skipped]/demo/sysroot-linux-64/build/qt-everywhere-src-5.11.1/.qmake.stash
Error: Qt license file was not found!
Note: Also available for Linux: linux-clang linux-icc
ERROR: You are not licensed to use this software.
pyqtdeploy-sysroot: Execution failed: returned exit code 3
I'm 100% sure the qt-*.tar.xz file is found since an message appears, saying that the file is unpacked.
I'm obviously missing something important : should I use a file like qt-everywhere-opensource-src-5.11.1.tar.xz although I can't find such a file ?
Any help would be appreciated !
(*) required tarballs:
python : https://www.python.org/ftp/python/3.7.1/Python-3.7.1.tar.xz
at https://www.python.org/downloads/release/python-371/
qt : https://download.qt.io/archive/qt/5.11/5.11.1/single/qt-everywhere-src-5.11.1.tar.xz at https://download.qt.io/archive/qt/5.11/5.11.1/single/
openssl : https://www.openssl.org/source/openssl-1.1.1.tar.gz at
https://www.openssl.org/source/
zlib : https://zlib.net/zlib-1.2.11.tar.gz at https://zlib.net/
sip : https://sourceforge.net/projects/pyqt/files/sip/sip-4.19.13/sip-4.19.13.tar.gz at https://riverbankcomputing.com/software/sip/download
PyQt5 : https://sourceforge.net/projects/pyqt/files/PyQt5/PyQt-5.11.3/PyQt5_gpl-5.11.3.tar.gz at https://www.riverbankcomputing.com/software/pyqt/download5
PyQt3D : https://sourceforge.net/projects/pyqt/files/PyQt3D/PyQt3D-5.11.3/PyQt3D_gpl-5.11.3.tar.gz at https://www.riverbankcomputing.com/software/pyqt3d/download
PyQtChart : https://sourceforge.net/projects/pyqt/files/PyQtChart/PyQtChart-5.11.3/PyQtChart_gpl-5.11.3.tar.gz at https://www.riverbankcomputing.com/software/pyqtchart/download
PyQtDataVisualization : https://sourceforge.net/projects/pyqt/files/PyQtDataVisualization/PyQtDataVisualization-5.11.3/PyQtDataVisualization_gpl-5.11.3.tar.gz at https://www.riverbankcomputing.com/software/pyqtdatavisualization/download
PyQtPurchasing : https://sourceforge.net/projects/pyqt/files/PyQtPurchasing/PyQtPurchasing-5.11.3/PyQtPurchasing_gpl-5.11.3.tar.gz at
https://www.riverbankcomputing.com/software/pyqtpurchasing/download
QScintilla : https://sourceforge.net/projects/pyqt/files/QScintilla2/QScintilla-2.10.8/QScintilla_gpl-2.10.8.tar.gz at https://www.riverbankcomputing.com/software/qscintilla/download
Fixed since pyqtdeploy-2.3.1.dev1811241346. See here for Phil Thomson's answer and here to download the last snapshot.
I am getting sqlite3.dll not found error at Autohotkey app. I already have sqlite3.dll file in the Project at sqlite3.dll
The error is produced here SQLite_L.ahk#L107 :
if(FileExist(sqliteDllPath)){
DLL := DllCall("LoadLibrary", "Str", sqliteDllPath)
if(!DLL)
throw Exception("Can't load " . sqliteDllPath . "! (token:18-10-12_11-52. BTW DllCall is in AHK v2 is case sensitive)", -1)
Within this application, i worked without problem at
64-Bit Windows 10 10.0 lenovo t540p (Admin-Account).
Also worked for others in the circle of friends (not Admin-Account).
A user reported my this error into the AHK-Forum.
My first Steps:
During my recherche i found:
[DllCall is in AHK v2 is case sensitive][3]
I guess he'll use the version 2.
So everywhere I changed SQLite3.dll to sqlite3.dll
But Today i got this error at another Laptop (fresh downloadet from github).
I have therefore unpacked the project in different directories.
[3]: https://autohotkey.com/boards/viewtopic.php?t=3280 "DllCall is in AHK v2 is case sensitive". No success.
the SQLite dll is 64-bit DLL (sha1: 9fad624c1aa1c0c9ba20230f2e176fac305edac5)
but installed was a 32-bit AHK
A_Is64bitOS [v1.1.08+]: Contains 1 (true) if the OS is 64-bit
A_PtrSize [v1.0.90+]: Contains the size of a pointer, in bytes. if the AHK is 64-bit 8.
If ahk is updated to 64 bit, this error message disappears.
Ideally, this should also be checked in the script.
ahkIs64version := (A_PtrSize=8 ? "64-bit" : "32-bit")
MsgBox % "Script is MsgBox % "Script is . (ahkIs64version ? "64-bit" : "32-bit")
if(!ahkIs64version)
MsgBox,% "Error: AHK Version (32-bit) not match to Sqlite Version (64 bit). Please update your ahk-Version or choose another Sqlite Version"
I have a development shell with a buildInputs entry that includes qt55.qtbase. This works great.
Today, I got a seg fault that happens in a qt library and I'd like qt libraries with debug symbols.
I took a look at nixpkgs/pkgs/development/libraries/qt-5/5.5/default.nix and saw that it takes a parameter developerBuild.
I've introduced parameters into buildInputsof simple shells like this before with callPackage, but the construction of the qt packages is way over my head and I'm unable to produce a valid nix file for the shell.
How can I create a development shell for qt 5.5 software development that installs the qt libraries with debug symbols?
use override (see https://nixos.org/nixpkgs/manual/#sec-pkg-override), so in your shell.nix/default.nix:
let qtBaseWithDebug = qt55.base.override { developerBuild = true; }; in
...
buildInputs = [ ... qtBaseWithDebug ... ];
...
btw, you can see the parameters of packages at http://schmitthenner.eu/nixos-homepage/nixos/packages.html (although it's a little out of date currently)
I am running Robot Framework 2.8.7 (Python 2.6.6 on win32) on my laptop and VM
Laptop: Windows 7 Enterprise
VM: Windows Embedded Standard
The post command works in Postmon for laptop and VM
however when I run a test case post command from Laptop, the Post works fine.
The VM test case Post command gives a response of 400. The 400 response is a bad request.
Both Laptop and VM have the same environment variable settings, same Post test case files.
This is the Post command:
#
${tmp} Set Variable Basic${SPACE}dmVyaXNlcTpWZVJpU2VRNTc0Lg==
${headers}=
... Create Dictionary Content-Type application/json Authorization ${tmp}
#
# read the raw data
${file_data}= Get Binary File ${jFileName}
Log To Console ${file_data}
Log *Posting Data*: ${file_data}
${result}= Post Request webapiuri / data=${file_data} headers=${headers}
Any idea why the VM robot framework response is a 400 (Bad request)?
Solved the problem by uninstalling a current version of robotframework-requests and installing an older version 0.3.8 robotframework-requests
For some reason, the newer version would change the way the json file was being sent to the Tomcat. Now it works great! :)
pip uninstall robotframework-requests
pip install robotframework-requests-0.3.8.tar.gz
T
I'm trying setup an environment to cross-compile my projects from ubuntu to windows.
Looking around I managed to compile qt through mxe, now the problem is I can't get it to work inside qtcreator.
Being specific, I added in QtVersion tab
/home/user_name/mxe/usr/i686-w64-mingw32.static/qt5/bin/qmake
which has the following attributes
Name: Qt 5.4.0 (qt5)
ABI: x86-windows-unknown-pe-32bit
Source: /home/snake91/mxe/usr/i686-w64-mingw32.static/qt5
mkspec: win32-g++
qmake: /home/snake91/mxe/usr/i686-w64-mingw32.static/qt5/bin/qmake
Version: 5.4.0
QMAKE_SPEC linux-g++
QMAKE_VERSION 3.0
QMAKE_XSPEC win32-g++
QT_HOST_BINS /home/snake91/mxe/usr/i686-w64-mingw32.static/qt5/bin
QT_HOST_DATA /home/snake91/mxe/usr/i686-w64-mingw32.static/qt5
QT_HOST_LIBS /home/snake91/mxe/usr/i686-w64-mingw32.static/qt5/lib
QT_HOST_PREFIX /home/snake91/mxe/usr/i686-w64-mingw32.static/qt5
QT_INSTALL_ARCHDATA /home/snake91/mxe/usr/i686-w64-mingw32.static/qt5
QT_INSTALL_BINS /home/snake91/mxe/usr/i686-w64-mingw32.static/qt5/bin
QT_INSTALL_CONFIGURATION /home/snake91/mxe/usr/i686-w64-mingw32.static/qt5/etc/xdg
QT_INSTALL_DATA /home/snake91/mxe/usr/i686-w64-mingw32.static/qt5
QT_INSTALL_DEMOS /home/snake91/mxe/usr/i686-w64-mingw32.static/qt5/examples
QT_INSTALL_DOCS /home/snake91/mxe/usr/i686-w64-mingw32.static/qt5/doc
QT_INSTALL_EXAMPLES /home/snake91/mxe/usr/i686-w64-mingw32.static/qt5/examples
QT_INSTALL_HEADERS /home/snake91/mxe/usr/i686-w64-mingw32.static/qt5/include
QT_INSTALL_IMPORTS /home/snake91/mxe/usr/i686-w64-mingw32.static/qt5/imports
QT_INSTALL_LIBEXECS /home/snake91/mxe/usr/i686-w64-mingw32.static/qt5/bin
QT_INSTALL_LIBS /home/snake91/mxe/usr/i686-w64-mingw32.static/qt5/lib
QT_INSTALL_PLUGINS /home/snake91/mxe/usr/i686-w64-mingw32.static/qt5/plugins
QT_INSTALL_PREFIX /home/snake91/mxe/usr/i686-w64-mingw32.static/qt5
QT_INSTALL_QML /home/snake91/mxe/usr/i686-w64-mingw32.static/qt5/qml
QT_INSTALL_TESTS /home/snake91/mxe/usr/i686-w64-mingw32.static/qt5/tests
QT_INSTALL_TRANSLATIONS /home/snake91/mxe/usr/i686-w64-mingw32.static/qt5/translations
QT_SYSROOT
QT_VERSION 5.4.0
I tried to add every file in ../mxe/usr/bin directory as compiler but I always receive the same msg: "The compiler xxxxxx cannot produce code for this QT version"
Note that I simply gave make qt5, without arguments...
ps of course I set the "new" qt version also in the kit tab
Open QtCreator and go to Tools->Options->Build&Run->Compilers menu then change the default ABI value of installed appropriate compiler to what you see in the spec output of the toolchain: x86-unknown-unknown-32bit to x86-windows-unknown-pe-32bit.