What Qt specific files exactly do I need to add when deploying?
-
Hallo, I am also running into the issue of "[qt/stdout] ERROR: Could not find dependency: libmimerapi.so".
Well, I am using SQL in my Qt project and it is running fine. But I also can't fine a file "libmimerapi.so" on my hard disk.
Anyone solved this problem already? -
Hallo, I am also running into the issue of "[qt/stdout] ERROR: Could not find dependency: libmimerapi.so".
Well, I am using SQL in my Qt project and it is running fine. But I also can't fine a file "libmimerapi.so" on my hard disk.
Anyone solved this problem already?@Volker75
https://github.com/linuxdeploy/linuxdeploy-plugin-qt/issues/150For some reason, linuxdeploy-plugin-qt started deploying the Qt6Sql module even though I do not use SQL anywhere in my project. This would not be a problem normally, but also if I run the linuxdeploy twice it fails on the second run because it is unable to locate libmimerapi.so
Something in your bundle must link to Qt6Sql. That's the only reason why this plugin would start shipping those files
-
@Volker75
https://github.com/linuxdeploy/linuxdeploy-plugin-qt/issues/150For some reason, linuxdeploy-plugin-qt started deploying the Qt6Sql module even though I do not use SQL anywhere in my project. This would not be a problem normally, but also if I run the linuxdeploy twice it fails on the second run because it is unable to locate libmimerapi.so
Something in your bundle must link to Qt6Sql. That's the only reason why this plugin would start shipping those files
-
@JonB hmm... not sure if that helps me, because I AM USING SQL. I can't skip that. I need SQL in my Qt project. And SQL is running fine if I run my application, but I can't deploy.
Thank you for the link. I will observe it.@Volker75 If you don't need mimersql plugin then remove this sql plugin (the
.so
file) and try again. Does linuxdeployqt works then as expected? -
@Volker75 If you don't need mimersql plugin then remove this sql plugin (the
.so
file) and try again. Does linuxdeployqt works then as expected?@Christian-Ehrlicher Good question. I am using mySQL und SQLite. I just deleted the mimersql from the Qt folder and now linuxdeploy run into the next missing one:
[qt/stdout] ERROR: Could not find dependency: libQt6SerialPort.so.6I am not using SerialPort stuff and I didn't added that in my project file.
hmm...
Ok, I will delete that also or try the new Qt 6.7 beta. I will let you know more later. -
@Christian-Ehrlicher Good question. I am using mySQL und SQLite. I just deleted the mimersql from the Qt folder and now linuxdeploy run into the next missing one:
[qt/stdout] ERROR: Could not find dependency: libQt6SerialPort.so.6I am not using SerialPort stuff and I didn't added that in my project file.
hmm...
Ok, I will delete that also or try the new Qt 6.7 beta. I will let you know more later.@Volker75 said in What Qt specific files exactly do I need to add when deploying?:
I am not using SerialPort stuff and I didn't added that in my project file.
I would guess you link against it somewhere. Please take a look with
ldd
which dependencies your executable has. -
@Volker75 said in What Qt specific files exactly do I need to add when deploying?:
I am not using SerialPort stuff and I didn't added that in my project file.
I would guess you link against it somewhere. Please take a look with
ldd
which dependencies your executable has.@Christian-Ehrlicher No, I am not using the serial stuff. It wasn't even installed, so I wasn't able to delete it.
I installed Qt 6.7.0 and also added that serial plugin. Now it finished the linuxdeploy. :-)
I will try without the serial plugin tomorrow, since i didn't add that in the project file and it is also not visible with "ldd". So it should work without.
Thank you for your help.
Have a nice weekend. -
@Volker75 said in What Qt specific files exactly do I need to add when deploying?:
I am not using SerialPort stuff and I didn't added that in my project file.
I would guess you link against it somewhere. Please take a look with
ldd
which dependencies your executable has.@Christian-Ehrlicher @Volker75 Im having the same problem: im trying to deploy my qt project in ubuntu 20.04 with linuxdeployqt, my project (https://github.com/GabR36/QEstoqueLoja) uses sqlite and have the following in cmakelists.txt:
find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Widgets LinguistTools Sql) find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Widgets LinguistTools Sql)
my first try was the following:
./linuxdeployqt-continuous-x86_64.AppImage qestoqueloja/QEstoqueLoja -verbose=2 -qmake=/home/gabriel/Qt/6.6.1/gcc_64/bin/qmake ... ERROR: ldd outputLine: "libmimerapi.so => not found" ERROR: for binary: "/home/gabriel/Qt/6.6.1/gcc_64/plugins/sqldrivers/libqsqlmimer.so"
the ldd:
ldd /home/gabriel/Qt/6.6.1/gcc_64/plugins/sqldrivers/libqsqlmimer.so ... libmimerapi.so => not found ...
then i tried removing libqsqlmimer.so from qt folder and the following was the result of the same linuxdeployqt command from before:
... ERROR: ldd outputLine: "libodbc.so.2 => not found" ERROR: for binary: "/home/gabriel/Qt/6.6.1/gcc_64/plugins/sqldrivers/libqsqlodbc.so"
i removed it too then:
ERROR: ldd outputLine: "libpq.so.5 => not found" ERROR: for binary: "/home/gabriel/Qt/6.6.1/gcc_64/plugins/sqldrivers/libqsqlpsql.so"
i also removed it and try linuxdeployqt again which worked without errors but the executable in the directory still does not run, saying it does not found shared library.
-
@Christian-Ehrlicher @Volker75 Im having the same problem: im trying to deploy my qt project in ubuntu 20.04 with linuxdeployqt, my project (https://github.com/GabR36/QEstoqueLoja) uses sqlite and have the following in cmakelists.txt:
find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Widgets LinguistTools Sql) find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Widgets LinguistTools Sql)
my first try was the following:
./linuxdeployqt-continuous-x86_64.AppImage qestoqueloja/QEstoqueLoja -verbose=2 -qmake=/home/gabriel/Qt/6.6.1/gcc_64/bin/qmake ... ERROR: ldd outputLine: "libmimerapi.so => not found" ERROR: for binary: "/home/gabriel/Qt/6.6.1/gcc_64/plugins/sqldrivers/libqsqlmimer.so"
the ldd:
ldd /home/gabriel/Qt/6.6.1/gcc_64/plugins/sqldrivers/libqsqlmimer.so ... libmimerapi.so => not found ...
then i tried removing libqsqlmimer.so from qt folder and the following was the result of the same linuxdeployqt command from before:
... ERROR: ldd outputLine: "libodbc.so.2 => not found" ERROR: for binary: "/home/gabriel/Qt/6.6.1/gcc_64/plugins/sqldrivers/libqsqlodbc.so"
i removed it too then:
ERROR: ldd outputLine: "libpq.so.5 => not found" ERROR: for binary: "/home/gabriel/Qt/6.6.1/gcc_64/plugins/sqldrivers/libqsqlpsql.so"
i also removed it and try linuxdeployqt again which worked without errors but the executable in the directory still does not run, saying it does not found shared library.
@gabr369 said in What Qt specific files exactly do I need to add when deploying?:
it does not found shared library
Which library?
-
@Christian-Ehrlicher @Volker75 Im having the same problem: im trying to deploy my qt project in ubuntu 20.04 with linuxdeployqt, my project (https://github.com/GabR36/QEstoqueLoja) uses sqlite and have the following in cmakelists.txt:
find_package(QT NAMES Qt6 Qt5 REQUIRED COMPONENTS Widgets LinguistTools Sql) find_package(Qt${QT_VERSION_MAJOR} REQUIRED COMPONENTS Widgets LinguistTools Sql)
my first try was the following:
./linuxdeployqt-continuous-x86_64.AppImage qestoqueloja/QEstoqueLoja -verbose=2 -qmake=/home/gabriel/Qt/6.6.1/gcc_64/bin/qmake ... ERROR: ldd outputLine: "libmimerapi.so => not found" ERROR: for binary: "/home/gabriel/Qt/6.6.1/gcc_64/plugins/sqldrivers/libqsqlmimer.so"
the ldd:
ldd /home/gabriel/Qt/6.6.1/gcc_64/plugins/sqldrivers/libqsqlmimer.so ... libmimerapi.so => not found ...
then i tried removing libqsqlmimer.so from qt folder and the following was the result of the same linuxdeployqt command from before:
... ERROR: ldd outputLine: "libodbc.so.2 => not found" ERROR: for binary: "/home/gabriel/Qt/6.6.1/gcc_64/plugins/sqldrivers/libqsqlodbc.so"
i removed it too then:
ERROR: ldd outputLine: "libpq.so.5 => not found" ERROR: for binary: "/home/gabriel/Qt/6.6.1/gcc_64/plugins/sqldrivers/libqsqlpsql.so"
i also removed it and try linuxdeployqt again which worked without errors but the executable in the directory still does not run, saying it does not found shared library.
-
@jsulm i dont know, its simply an alert from gnome or something, which says: 'there isnt app for file: "shared library" <find program> <Ok>.
-
There are 2 variants:
Delete the other stuff from the qt folder.Or install the libaries.
You need to install this one if you don't want to delete them:
sudo apt install libodbc-dev
sudo apt install libpq-dev
sudo apt install libmysqlclient-dev
sudo apt install libqsqlmimer-dev -
There are 2 variants:
Delete the other stuff from the qt folder.Or install the libaries.
You need to install this one if you don't want to delete them:
sudo apt install libodbc-dev
sudo apt install libpq-dev
sudo apt install libmysqlclient-dev
sudo apt install libqsqlmimer-dev@Volker75 i tried install those libraries but libodbc-dev and libqsqlmimer-dev doesnt seem to be in ubunto 20.04 repo. (not found)
but i find something interesting:the app runs if you call it by terminal, like:
./qestoqueloja/QEstoqueLoja
and i tried now with all sql plugins .so in qt folder and despise the error given by linuxdeployqt (ERROR: ldd outputLine: "libmimerapi.so => not found"), the program runs like intended with sqlite db and all (but the sqlite db remains in the folder where i called the executable, which i think is my code fault or something).
trying linuxdeployqt with all sql plugins deleted in qt folder doesnt give errors and also can be called with just terminal and not ubuntu file manager. but the database doesnt work.
now i have to find a way to run the program in file manager, not just terminal. -
@Volker75 i tried install those libraries but libodbc-dev and libqsqlmimer-dev doesnt seem to be in ubunto 20.04 repo. (not found)
but i find something interesting:the app runs if you call it by terminal, like:
./qestoqueloja/QEstoqueLoja
and i tried now with all sql plugins .so in qt folder and despise the error given by linuxdeployqt (ERROR: ldd outputLine: "libmimerapi.so => not found"), the program runs like intended with sqlite db and all (but the sqlite db remains in the folder where i called the executable, which i think is my code fault or something).
trying linuxdeployqt with all sql plugins deleted in qt folder doesnt give errors and also can be called with just terminal and not ubuntu file manager. but the database doesnt work.
now i have to find a way to run the program in file manager, not just terminal.@gabr369 I am using Kubuntu 22.04. I don't know how to install that mimerapi. Looks like it is commercial only. I deleted it and it looks like running fine on my computer.
My "problem" is still, that linuxdeploy want to have the serial library. I don't understand why that is needed in my project. I don't use that library. "problem", because I can just add it and then it is running fine. But in fact i don't want to add it, since i shouldn't need it.
I am using QT += widgets, printsupport, sql, network and (sadly) webenginewidgets.
Maybe the serial stuff is needed by one of that? -
@gabr369 I am using Kubuntu 22.04. I don't know how to install that mimerapi. Looks like it is commercial only. I deleted it and it looks like running fine on my computer.
My "problem" is still, that linuxdeploy want to have the serial library. I don't understand why that is needed in my project. I don't use that library. "problem", because I can just add it and then it is running fine. But in fact i don't want to add it, since i shouldn't need it.
I am using QT += widgets, printsupport, sql, network and (sadly) webenginewidgets.
Maybe the serial stuff is needed by one of that? -
@Volker75 hi,
It comes from the webengine module that requires the positioning module that requires serialport module (among others).
@SGaist Ok. Thank you. Sadly I need the webengine stuff only, because QTextDocument doesn't support some basic stuff (Right to left of tables, width and height of cells). By that my compressed project file size increase from less then 20MB to over 140MB :-(
The other thing why I don't like the webengine stuff too much is, because it makes trouble with Windows. I can compile it only with MVC but not with gcc. I know it is written in the documentation that gcc is not supported on Windows. I just wonder a bit if that might change soon, since under Linux gcc and webengine works fine. The problem with MVC is, that the runtime of my application is around 2 times slower if i compile it with Microsoft compiler. gcc is much faster and my application is sadly very time critical :-(
Anybody knows if anyone is trying to fix that compiling problem of the webengine with gcc under Windows? -
@Volker75 i tried install those libraries but libodbc-dev and libqsqlmimer-dev doesnt seem to be in ubunto 20.04 repo. (not found)
but i find something interesting:the app runs if you call it by terminal, like:
./qestoqueloja/QEstoqueLoja
and i tried now with all sql plugins .so in qt folder and despise the error given by linuxdeployqt (ERROR: ldd outputLine: "libmimerapi.so => not found"), the program runs like intended with sqlite db and all (but the sqlite db remains in the folder where i called the executable, which i think is my code fault or something).
trying linuxdeployqt with all sql plugins deleted in qt folder doesnt give errors and also can be called with just terminal and not ubuntu file manager. but the database doesnt work.
now i have to find a way to run the program in file manager, not just terminal.@gabr369 I found another issue: I cant make appimages with linuxdeployqt, here is the result:
./linuxdeployqt-continuous-x86_64.AppImage qestoqueloja-linux/QEstoqueLoja -verbose=2 -qmake=/home/gabriel/Qt/6.6.1/gcc_64/bin/qmake -appimage ... ERROR: ldd outputLine: "libmimerapi.so => not found" ERROR: for binary: "/home/gabriel/Qt/6.6.1/gcc_64/plugins/sqldrivers/libqsqlmimer.so" ERROR: Please ensure that all libraries can be found by ldd. Aborting.
and this time the appimage file is not even generated.
-
@gabr369 I found another issue: I cant make appimages with linuxdeployqt, here is the result:
./linuxdeployqt-continuous-x86_64.AppImage qestoqueloja-linux/QEstoqueLoja -verbose=2 -qmake=/home/gabriel/Qt/6.6.1/gcc_64/bin/qmake -appimage ... ERROR: ldd outputLine: "libmimerapi.so => not found" ERROR: for binary: "/home/gabriel/Qt/6.6.1/gcc_64/plugins/sqldrivers/libqsqlmimer.so" ERROR: Please ensure that all libraries can be found by ldd. Aborting.
and this time the appimage file is not even generated.
@gabr369 Yes. Like i wrote above I deleted that file. As far as i understood that is "only" an other commercial sql api that was introduced with Qt 6.6.
You can download a test version for development here:
https://developer.mimer.com/products/downloads/mimer-sql-for-linux/But if i understood correct, then you need to buy a license if you want to use it. That is why i didn't tried it and only deleted the file from the qt plugin folder.