You are not logged in.
Hi,
I'm trying to make toggldesktop package work. Right now it doesn't start:
$ toggldesktop
$ /opt/toggldesktop/TogglDesktop: /home/yuri/build/toggldesktop/src/toggldesktop-7.4.347/src/ui/linux/TogglDesktop/../../../lib/linux/TogglDesktopLibrary/build/release/libssl.so.1.1: version `OPENSSL_1_1_1' not found (required by /usr/lib/libQt5Network.so.5)
What I've found (toggldesktop ultimately executes /opt/toggldesktop/TogglDesktop):
$ LD_DEBUG=all /usr/lib/ld-linux-x86-64.so.2 /opt/toggldesktop/TogglDesktop |& grep OPENSSL
5981: checking for version `OPENSSL_1_1_0' in file /home/yuri/build/toggldesktop/src/toggldesktop-7.4.347/src/ui/linux/TogglDesktop/../../../lib/linux/TogglDesktopLibrary/build/release/libcrypto.so.1.1 [0] required by file /usr/lib/libQt5Network.so.5 [0]
5981: checking for version `OPENSSL_1_1_1' in file /home/yuri/build/toggldesktop/src/toggldesktop-7.4.347/src/ui/linux/TogglDesktop/../../../lib/linux/TogglDesktopLibrary/build/release/libssl.so.1.1 [0] required by file /usr/lib/libQt5Network.so.5 [0]
5981: /home/yuri/build/toggldesktop/src/toggldesktop-7.4.347/src/ui/linux/TogglDesktop/../../../lib/linux/TogglDesktopLibrary/build/release/libssl.so.1.1: error: version lookup error: version `OPENSSL_1_1_1' not found (required by /usr/lib/libQt5Network.so.5) (continued)
/opt/toggldesktop/TogglDesktop: /home/yuri/build/toggldesktop/src/toggldesktop-7.4.347/src/ui/linux/TogglDesktop/../../../lib/linux/TogglDesktopLibrary/build/release/libssl.so.1.1: version `OPENSSL_1_1_1' not found (required by /usr/lib/libQt5Network.so.5)
5981: checking for version `OPENSSL_1_1_0' in file /home/yuri/build/toggldesktop/src/toggldesktop-7.4.347/src/ui/linux/TogglDesktop/../../../lib/linux/TogglDesktopLibrary/build/release/libssl.so.1.1 [0] required by file /usr/lib/libQt5Network.so.5 [0]
5981: checking for version `OPENSSL_1_1_0' in file /home/yuri/build/toggldesktop/src/toggldesktop-7.4.347/src/ui/linux/TogglDesktop/../../../lib/linux/TogglDesktopLibrary/build/release/libcrypto.so.1.1 [0] required by file /home/yuri/build/toggldesktop/src/toggldesktop-7.4.347/src/ui/linux/TogglDesktop/../../../lib/linux/TogglDesktopLibrary/build/release/libPocoNetSSL.so.60 [0]
5981: checking for version `OPENSSL_1_1_0' in file /home/yuri/build/toggldesktop/src/toggldesktop-7.4.347/src/ui/linux/TogglDesktop/../../../lib/linux/TogglDesktopLibrary/build/release/libssl.so.1.1 [0] required by file /home/yuri/build/toggldesktop/src/toggldesktop-7.4.347/src/ui/linux/TogglDesktop/../../../lib/linux/TogglDesktopLibrary/build/release/libPocoNetSSL.so.60 [0]
5981: checking for version `OPENSSL_1_1_0' in file /home/yuri/build/toggldesktop/src/toggldesktop-7.4.347/src/ui/linux/TogglDesktop/../../../lib/linux/TogglDesktopLibrary/build/release/libssl.so.1.1 [0] required by file /home/yuri/build/toggldesktop/src/toggldesktop-7.4.347/src/ui/linux/TogglDesktop/../../../lib/linux/TogglDesktopLibrary/build/release/libPocoCrypto.so.60 [0]
5981: checking for version `OPENSSL_1_1_0' in file /home/yuri/build/toggldesktop/src/toggldesktop-7.4.347/src/ui/linux/TogglDesktop/../../../lib/linux/TogglDesktopLibrary/build/release/libcrypto.so.1.1 [0] required by file /home/yuri/build/toggldesktop/src/toggldesktop-7.4.347/src/ui/linux/TogglDesktop/../../../lib/linux/TogglDesktopLibrary/build/release/libPocoCrypto.so.60 [0]
5981: checking for version `OPENSSL_1_1_0d' in file /home/yuri/build/toggldesktop/src/toggldesktop-7.4.347/src/ui/linux/TogglDesktop/../../../lib/linux/TogglDesktopLibrary/build/release/libcrypto.so.1.1 [0] required by file /home/yuri/build/toggldesktop/src/toggldesktop-7.4.347/src/ui/linux/TogglDesktop/../../../lib/linux/TogglDesktopLibrary/build/release/libssl.so.1.1 [0]
5981: checking for version `OPENSSL_1_1_0f' in file /home/yuri/build/toggldesktop/src/toggldesktop-7.4.347/src/ui/linux/TogglDesktop/../../../lib/linux/TogglDesktopLibrary/build/release/libcrypto.so.1.1 [0] required by file /home/yuri/build/toggldesktop/src/toggldesktop-7.4.347/src/ui/linux/TogglDesktop/../../../lib/linux/TogglDesktopLibrary/build/release/libssl.so.1.1 [0]
5981: checking for version `OPENSSL_1_1_0' in file /home/yuri/build/toggldesktop/src/toggldesktop-7.4.347/src/ui/linux/TogglDesktop/../../../lib/linux/TogglDesktopLibrary/build/release/libcrypto.so.1.1 [0] required by file /home/yuri/build/toggldesktop/src/toggldesktop-7.4.347/src/ui/linux/TogglDesktop/../../../lib/linux/TogglDesktopLibrary/build/release/libssl.so.1.1 [0]
5981: checking for version `OPENSSL_1_1_0' in file /home/yuri/build/toggldesktop/src/toggldesktop-7.4.347/src/ui/linux/TogglDesktop/../../../lib/linux/TogglDesktopLibrary/build/release/libcrypto.so.1.1 [0] required by file /usr/lib/libssh.so.4 [0]
$ objdump -x /usr/lib/libQt5Network.so.5
...
Version References:
...
required from libssl.so.1.1:
0x066d1f11 0x00 29 OPENSSL_1_1_1
0x066d1f10 0x00 19 OPENSSL_1_1_0
...
// libQt5Network.so.5 from version 5.11 doesn't have OPENSSL_1_1_1 line as opposed to the one from 5.12
$ LD_DEBUG=all /usr/lib/ld-linux-x86-64.so.2 /opt/toggldesktop/TogglDesktop |& egrep 'lib(ssl|crypto)' | fgrep 'needed by'
12420: file=libssl.so.1.1 [0]; needed by /usr/lib/libQt5Network.so.5 [0]
12420: file=libcrypto.so.1.1 [0]; needed by /usr/lib/libQt5Network.so.5 [0]
So, toggldesktop comes with its own openssl for one reason or another. Openssl 1.1.0 for that matter. But libQt5Network.so.5 needs openssl 1.1.1. I could probably try to downgrade qt5-base, but that would probably require downgrading all the reverse dependencies. About 60 packages in my case. And the other users would have to replicate the procedure.
What would you suggest? Thanks in advance.
Last edited by x-yuri (2019-02-09 22:46:32)
Offline
Have you tried updating the pkgver to 7.4.347?
Make the changes needed for the switch from make to cmake and then I believe it should use the system openssl.
Offline
Get rid of the bundled lib.
Offline
Updated to 7.4.347 use system openssl, poco, lua, jsoncpp. Updated production.patch to apply. Added jsoncpp.patch to use pkg-config to detect jsoncpp. Only build tested.
# Maintainer: Samuel Walladge <samuel at swalladge dot id dot au>
# Contributor: Karel Louwagie <karel@louwagie.net>
# Contributor: Serge Pavlyuk <flopss at gmail dot com>
# Contributor: phi-mah
pkgname=toggldesktop
pkgver=7.4.347
pkgrel=1
pkgdesc="Toggl time tracking software"
arch=('x86_64')
url="https://github.com/toggl/toggldesktop"
license=('BSD')
depends=('libxss'
'qt5-base'
'qt5-webengine'
'qt5-x11extras'
'openssl'
'poco'
'lua'
'jsoncpp'
)
makedepends=('cmake')
source=("${pkgname}-${pkgver}.tar.gz::https://github.com/toggl/toggldesktop/archive/v${pkgver}.tar.gz"
"production.patch"
'jsoncpp.patch')
sha512sums=('d6dbbef0039f9f4b0e5a560d716cb1dcfb9e4d7bb2b590b89269e3cc1625a0e58ab73bbc5a8df852e420f6422aa031b47df5b6a3bf12e01fb07d5a4aca92a09e'
'90ed77b0c2b6708c256e5f8fd74d37275cd85ccb81b6eeffa96f6adb22441b853386d6b16a157522d77820a032daf044917d2fb885a15502d218e3e48458e75a'
'1b340bf5df760c47b0a8c7ba46c783ed2821ef4336d350a346782e74f0308ec96d350a6fe7acee59441f24b42ee55904095beba1162ac49de6418a7cfd139e63')
conflicts=('toggldesktop-bin' 'toggl-bin')
prepare() {
cd "${pkgname}-${pkgver}"
# patch to build for production
# https://github.com/toggl/toggldesktop/wiki/Building-Toggl-Desktop-from-source-for-usage-with-live-servers
# msg2 "production patch"
patch -p1 < ../production.patch
patch -p1 < ../jsoncpp.patch
}
build() {
mkdir -p build
cd build
cmake ../${pkgname}-${pkgver} -DCMAKE_INSTALL_PREFIX=/usr
make
}
package() {
cd build
make DESTDIR="$pkgdir/" install
cd "../${pkgname}-${pkgver}"
# license file in standard location
install -Dm644 LICENSE "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
# out="${pkgdir}/opt/${pkgname}"
# Copy README
# install -Dm644 src/ui/linux/README ${out}
}
# vim:set ts=2 sw=2 et:
diff --git a/src/context.cc b/src/context.cc
index 7c9f0fb..8d839ab 100644
--- a/src/context.cc
+++ b/src/context.cc
@@ -76,7 +76,7 @@ Context::Context(const std::string app_name, const std::string app_version)
, idle_(&ui_)
, last_sync_started_(0)
, sync_interval_seconds_(0)
-, update_check_disabled_(false)
+, update_check_disabled_(true)
, trigger_sync_(false)
, trigger_push_(false)
, quit_(false)
@@ -92,9 +92,6 @@ Context::Context(const std::string app_name, const std::string app_version)
Poco::Net::HTTPSStreamFactory::registerFactory();
}
- urls::SetUseStagingAsBackend(
- app_version.find("7.0.0") != std::string::npos);
-
Poco::ErrorHandler::set(&error_handler_);
Poco::Net::initializeSSL();
diff --git a/src/ui/linux/TogglDesktop/TogglDesktop.pro b/src/ui/linux/TogglDesktop/TogglDesktop.pro
index 4bbf84b..cf44f8e 100644
--- a/src/ui/linux/TogglDesktop/TogglDesktop.pro
+++ b/src/ui/linux/TogglDesktop/TogglDesktop.pro
@@ -8,7 +8,7 @@ VERSION = 7.0.0
DEFINES += APP_VERSION=\\\"$$VERSION\\\"
-ENVIRONMENT = "development"
+ENVIRONMENT = "production"
DEFINES += APP_ENVIRONMENT=\\\"$$ENVIRONMENT\\\"
diff --git a/CMakeLists.txt b/CMakeLists.txt
index b52dbb3..f278060 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -36,7 +36,8 @@ if(NOT USE_BUNDLED_LIBRARIES)
include_directories(${LUA_INCLUDE_DIRS})
# Look for JSON
- find_package(jsoncpp CONFIG)
+ pkg_search_module(jsoncpp jsoncpp)
+ include_directories(${jsoncpp_INCLUDE_DIRS})
# Look for Qxt
pkg_search_module(QXT_CORE QxtCore-qt5)
Offline