diff options
author | Andre Hartmann <aha_1980@gmx.de> | 2020-10-14 18:54:50 +0200 |
---|---|---|
committer | Andre Hartmann <aha_1980@gmx.de> | 2020-10-15 17:19:37 +0200 |
commit | 9bea986b870e54bd04ccd23f2d204fbae16994b4 (patch) | |
tree | 9cfe5c0d5e0d4b2ec066ae1e865775fe80bed08c /src/plugins/canbus/socketcan/libsocketcan.cpp | |
parent | 5aad121baf7db08c2ebc7ef5f12cc873b15598cd (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>
Diffstat (limited to 'src/plugins/canbus/socketcan/libsocketcan.cpp')
-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); |