summaryrefslogtreecommitdiffstats
path: root/src
diff options
context:
space:
mode:
authorAndre Hartmann <aha_1980@gmx.de>2020-10-14 18:54:50 +0200
committerAndré Hartmann <aha_1980@gmx.de>2020-10-16 08:27:15 +0000
commitf49a99f03608f5eb294896a4a039bc9badbc64c6 (patch)
tree5a4f585d6499c86732a96d5e40e0f57bb0db9c57 /src
parenta69e258f0307833dc75deef930021fc8413e4d9d (diff)
SocketCAN: Fix loading libsocketcan on Debian
If only the package libsocketcan2 is installed, no symlink libsocketcan.so -> libsocketcan.so.2 is created. Therefore loading the library fails. In that case, retry with explicit version number given. [ChangeLog][Plugins][SocketCAN] Fixed that libsocketcan could not be loaded when no symlink libsocketcan.so -> libsocketcan.so.2 was present. Fixes: QTBUG-87328 Change-Id: I815707aa7066fe0e27e702edc316d93c1418ca6d Reviewed-by: Alex Blasche <alexander.blasche@qt.io> Reviewed-by: Denis Shienkov <denis.shienkov@gmail.com> (cherry picked from commit 9bea986b870e54bd04ccd23f2d204fbae16994b4)
Diffstat (limited to 'src')
-rw-r--r--src/plugins/canbus/socketcan/libsocketcan.cpp10
1 files changed, 7 insertions, 3 deletions
diff --git a/src/plugins/canbus/socketcan/libsocketcan.cpp b/src/plugins/canbus/socketcan/libsocketcan.cpp
index c6144db..acc29c7 100644
--- a/src/plugins/canbus/socketcan/libsocketcan.cpp
+++ b/src/plugins/canbus/socketcan/libsocketcan.cpp
@@ -87,10 +87,14 @@ LibSocketCan::LibSocketCan(QString *errorString)
{
#if QT_CONFIG(library)
auto resolveSymbols = [](QLibrary *library) {
+ const QString libName = QStringLiteral("socketcan");
if (!library->isLoaded()) {
- library->setFileName(QStringLiteral("socketcan"));
- if (!library->load())
- return false;
+ library->setFileName(libName);
+ if (!library->load()) {
+ library->setFileNameAndVersion(libName, 2);
+ if (!library->load())
+ return false;
+ }
}
RESOLVE_SYMBOL(can_do_start);