diff options
author | Andre Hartmann <aha_1980@gmx.de> | 2020-10-14 18:54:50 +0200 |
---|---|---|
committer | André Hartmann <aha_1980@gmx.de> | 2020-10-16 08:27:15 +0000 |
commit | f49a99f03608f5eb294896a4a039bc9badbc64c6 (patch) | |
tree | 5a4f585d6499c86732a96d5e40e0f57bb0db9c57 /src | |
parent | a69e258f0307833dc75deef930021fc8413e4d9d (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.cpp | 10 |
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); |