summaryrefslogtreecommitdiffstats
path: root/src/plugins/canbus/socketcan/libsocketcan.cpp
diff options
context:
space:
mode:
authorAndre Hartmann <aha_1980@gmx.de>2020-10-14 18:54:50 +0200
committerAndre Hartmann <aha_1980@gmx.de>2020-10-15 17:19:37 +0200
commit9bea986b870e54bd04ccd23f2d204fbae16994b4 (patch)
tree9cfe5c0d5e0d4b2ec066ae1e865775fe80bed08c /src/plugins/canbus/socketcan/libsocketcan.cpp
parent5aad121baf7db08c2ebc7ef5f12cc873b15598cd (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.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);