I have a system running redhat 7.9 which I am not allowed to do system changes to. The system does not have openssl installed.
I am trying to configure QT with:
./configure -release -no-ssl -no-openssl
This gives me this error message which I cant seem to resolve:
+ mkdir -p qtbase
+ cd qtbase
+ exec /home/osfas/osmiv/projects/qt/qt-everywhere-src-6.4.2/qtbase/configure -top-level -release -no-ssl -no-openssl
cmake: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory
I am trying to understand how the configuration work but I am struggling.
It took me a while to figure out that the error. ldd cmake revailed a dependency til libssl1.so.1.1
So the error has nothing to do with QT configure
Related
I am trying to compile qt with open ssl statically
I could compile openssl using vs2017 after install perl and configuring it
i used nmake and it worked with -no-shared smoothly.
Then i open the openssl folder and have the following
dll->x64->release>
bin
->c_rehash.pl
->libcrypto-1_1-x64.dll
->libcrypto-1_1-x64.pdb
->libssl-1_1-x64.dll
->libssl-1_1-x64.pdb
->openssl.exe
->openssl.pdb
include
openssl
header files
lib ->libcrypto.lib
->libssl.lib
->ossl_static.pdb
- engines-1_1 -> capi.dll
capi.pdb
padlock.dll
padlock.pdb
Then i opened VS command line
and opened Qt 5.12.4 coder
configure -static -openssl-linked -opengl dynamic -nomake tests -nomake examples -I "T:\openssl\dll\x64\release\include" -L "T:\openssl\dll\x64\release\lib" OPENSSL_LIBS="-lUser32 -lAdvapi32 -lGdi32 -lCrypt32"
I get the following:
error feature 'openssl-linked' was enabled but the pre-condition !features.securetransport && libs.openssl' failed
My machine use Ubuntu OS.
I built Qt 5.5.1 manually against static linking. Configuring the built, specified a path to install to:
$ ./configure -static -prefix /home/myname/qt_src/installed/
Then I moved the built stuff to another Ubuntu machine and tried call qmake from a shell:
$ qmake CONFIG+=release CONFIG-=debug /home/othername/project/q_panorama.pro -r -spec linux-g++
But I stucked with error
Could not find qmake configuration file linux-g++
Trying to fix it, I discovered that qmake's QTDIR (is it?) is incorrect:
$ qmake -v
QMake version 3.0
Using Qt version 5.5.1 in /home/myname/qt_src/installed/
Okay. Try to change special var with qmake -set option (here consider only one of vars - QT_INSTALL_PREFIX, - for simplicity). First, check it's consistency:
$ qmake -query QT_INSTALL_PREFIX
/home/myname/qt_src/installed/
Perform:
$ qmake -set QT_INSTALL_PREFIX "/home/othername/qt_static/"
Check again:
$ qmake -query QT_INSTALL_PREFIX
/home/myname/qt_src/installed/
Why the variable does not modify?
How can I make Manually Built static version of Qt work? Please, help.
Did not find the way to resolve the issue, and thus decided to act with brute force:
Created a user othername in my machine;
Run full build cycle for the path desired (under the user created).
Copied the built stuff to the target machine
PROFIT.
I try to compile Qt from sources, everything goes ok(more or less), except dbus part.
./configure -v -opensource -dbus-linked -arch i386
Configure shows this error:
1 error generated.
make: * [dbus.o] Error 1
D-Bus disabled.
The QtDBus module cannot be enabled because libdbus-1 version 0.93 was not found.
Turn on verbose messaging (-v) to ./configure to see the final report.
If you believe this message is in error you may use the continue
switch (-continue) to ./configure to continue.
I installed dbus 1.6 with Homebrew, but configure tool can't see it. Lib and headers are located in /usr/local/Cellar/d-bus/1.6.18. How to point configure to this location?
Platform is OS X.
Well the problem seems to be that, its not finding the dbus libraries.
Set the path of the library and the includes when you configure, something like this, assuming your dbus libraries and includes are in
/usr/local/Cellar/d-bus/1.6.18
./configure -v -opensource -arch i386 -dbus-linked -L/usr/local/Cellar/d-bus/1.6.18/lib -I/usr/local/Cellar/d-bus/1.6.18/include
where -I will tell qmake to include headers from that path and -L to link to the dbus libraries.
I am trying to build Qt 5 on a Nitrogen6x board powered by an *i.MX6Q`.
I've installed Debian/wheezy on the board and am using an Ubuntu 12.10 machine for cross-compiling.
Configuring Qt works like a charm but I am stuck in the make step.
This is the configure script I run:
./configure -v -opensource -confirm-license -reduce-relocations -no-pch -no-xcb -no-opengl -opengl es2 -qt-libpng -qt-zlib -qt-xkbcommon -qt-xcb -qt-pcre -qt-libjpeg -qt-sql-mysql -optimized-qmake\
-make libs -device imx6 \
-compile-examples \
-device-option CROSS_COMPILE=/home/finn/gcc-linaro-arm-linux-gnueabihf-4.8-2013.10_linux/bin/arm-linux-gnueabi- \
-sysroot /media/finn/d72e3b65-b529-4e5c-9d30-872e1b0c9973 \
-prefix /opt/qt5
And this is the error I receive about 5 minutes into the make process:
/home/finn/gcc-linaro-arm-linux-gnueabihf-4.8-2013.10_linux/bin/../lib/gcc/arm-linux-gnueabihf/4.8.2/../../../../arm-linux-gnueabihf/bin/ld:
/media/finn/d72e3b65-b529-4e5c-9d30-872e1b0c9973/usr/lib/libm.a(mpa.o): relocation R_ARM_THM_MOVW_ABS_NC against `a local symbol' can not be used when making a shared object; recompile with -fPIC
/media/finn/d72e3b65-b529-4e5c-9d30-872e1b0c9973/usr/lib/libm.a: could not read symbols: Bad value
collect2: error: ld returned 1 exit status
I've run into the same error before, when it was trying to access libz.a but adding the qt-zlib parameter to the configure command fixed that issue.
Many articles state that affected applications/libraries should be recompiled, however I don't think that's possible as libm is part of libc6.
I already tried reinstalling it using aptitude remove libc6-dev zlib1g-dev g++-4.6
and apt-get install gcc g++ make flex bison openssl libssl-dev perl perl-base perl-modules libperl-dev build-essential
Sadly this did not fix the problem.
Debian has been installed using the official network installer as well as a Kernel and an Overlay provided by Boundarydevices, the manufacturer of the board.
Does anyone has an idea how to fix this?
My next step would be to install a completely new Debian system but I would really like to avoid that.
Edit
Compiling qtbase with -static option works for me, however I am running into this error when trying to build qtdeclarative during the make step:
/home/finn/gcc-linaro-arm-linux-gnueabihf-4.8-2013.10_linux/bin/../lib/gcc/arm-linux-gnueabihf/4.8.2/../../../../arm-linux-gnueabihf/bin/ld: cannot find crt1.o: No such file or directory
/home/finn/gcc-linaro-arm-linux-gnueabihf-4.8-2013.10_linux/bin/../lib/gcc/arm-linux-gnueabihf/4.8.2/../../../../arm-linux-gnueabihf/bin/ld: cannot find crti.o: No such file or directory
/home/finn/qt/qtbase/lib/libQt5Core.a(qlibrary_unix.o): In function `QLibraryPrivate::load_sys()':
qlibrary_unix.cpp:(.text+0xaac): warning: Using 'dlopen' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
/home/finn/gcc-linaro-arm-linux-gnueabihf-4.8-2013.10_linux/bin/../lib/gcc/arm-linux-gnueabihf/4.8.2/../../../../arm-linux-gnueabihf/bin/ld: cannot find -lqxcb
/home/finn/gcc-linaro-arm-linux-gnueabihf-4.8-2013.10_linux/bin/../lib/gcc/arm-linux-gnueabihf/4.8.2/../../../../arm-linux-gnueabihf/bin/ld: cannot find /lib/arm-linux-gnueabihf/libpthread.so.0
/home/finn/gcc-linaro-arm-linux-gnueabihf-4.8-2013.10_linux/bin/../lib/gcc/arm-linux-gnueabihf/4.8.2/../../../../arm-linux-gnueabihf/bin/ld: cannot find /usr/lib/arm-linux-gnueabihf/libpthread_nonshared.a
collect2: error: ld returned 1 exit status
Edit 2 - Solution
I fixed the problem and successfully compiled Qt.
All I needed to do was reinstall Ubuntu. It sure isn't an elegant solution but it works for me.
A litte late, but I found the problem/solution:
The problem is the sysroot. Normally gcc links to shared libraries. But when it cant find it, gcc uses the static libraries (.a). When you look in [sysroot]/usr/lib/arm-linux-gnueabihf the shared libraries are not in this place. There are only symlinks to /lib/arm-linux-gnueabihf. So gcc looks for the shared libraries on you host-pc, where it can not find them.
Solution
Create just the right symlink. (Here's an example for libglib, the X is the version number)
ln -s [sysroot]/lib/arm-linux-gnueabihf/libglib.so.X \
[sysroot]/usr/lib/arm-linux-gnueabihf/libglib.so
(Dont forget to remove the old symlink and create it after compiling successfully; i just do the following before compiling:
mv file.so file.so.backup
another solution
Another solution is to change the absolut symlinks to relative ones.
For Example, if your library is /lib/arm-linux-gnueabihf/libglib.so.X and you need a link in /usr/lib/arm-linux-gnueabihf/, you just do:
ln -s ../../../lib/arm-linux-gnueabihf/libglib.so.X \
[sysroot]/usr/lib/arm-linux-gnueabihf/libglib.so
libm.a(mpa.o): relocation R_ARM_THM_MOVW_ABS_NC against `a local symbol' can not be used when making a shared object
Translation: you are trying to link non--fPIC compiled object file (mpa.o from libm.a) into a shared library. You can't do that.
You need to either find/install libm.so for your target, or configure qt5 to not build shared library (possibly with --disable-shared option).
I've downloaded qwt-6.0.1 and then tried to install qwt
. First i try to generate MakeFile :
qmake -spec macx-g++
this is ok. When i try to compile sources with make i get after a while
/bin/sh: /Developer/Tools/Qt/moc: No such file or directory
make: *** [moc/moc_qwt_dyngrid_layout.cpp] Error 127
From last versions ,Xcode is installed in Applications folder not in Developer ,Apple deleted this folder it can not be founded. I think here is the issue, but i do not know how to configure this, to make compile process to be successful
Can someone provide a way to install qwt on Mac ?
The commands should be run from the qwt directory where project.pro is in, not in src.
stephen-mac:qwt-6.0.1 stephenc$ qmake -spec macx-g++
stephen-mac:qwt-6.0.1 stephenc$ make
...