You are not logged in.

#1 2019-02-09 14:29:41

x-yuri
Member
Registered: 2013-01-06
Posts: 160

[SOLVD] toggldesktop: libssl.so.1.1: version `OPENSSL_1_1_1' not found

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

#2 2019-02-09 16:04:28

loqs
Member
Registered: 2014-03-06
Posts: 17,321

Re: [SOLVD] toggldesktop: libssl.so.1.1: version `OPENSSL_1_1_1' not found

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

#3 2019-02-09 16:04:33

Scimmia
Fellow
Registered: 2012-09-01
Posts: 11,544

Re: [SOLVD] toggldesktop: libssl.so.1.1: version `OPENSSL_1_1_1' not found

Get rid of the bundled lib.

Offline

#4 2019-02-09 17:35:47

loqs
Member
Registered: 2014-03-06
Posts: 17,321

Re: [SOLVD] toggldesktop: libssl.so.1.1: version `OPENSSL_1_1_1' not found

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

Board footer

Powered by FluxBB