Recent engines do not work on Manjaro/Arch Linux.

Recent engines do not work on Manjaro/Arch Linux.

Discuss the source code and development of Spring Engine in general from a technical point of view. Patches go here too.

Moderator: Moderators

Post Reply
varikonniemi
Posts: 447
Joined: 03 Jul 2011, 11:54

Recent engines do not work on Manjaro/Arch Linux.

Post by varikonniemi » 10 Jun 2018, 19:51

Recent engine versions have started depending on an outdated? library, to make spring work on Arch based distros one has to install libcurl-compat and make a launch script like this

Code: Select all

#! /bin/bash

LD_PRELOAD=/usr/lib/libcurl.so.3 '/home/varikonniemi/.spring/engine/104.0.1-531-gab3f84f maintenance/spring' $1
otherwise:

Code: Select all

[varikonniemi@varikonniemi-pc ~]$ springlobby
...
/home/varikonniemi/.spring/engine/104.0.1-557-g1487736 maintenance/spring: /usr/lib/libcurl.so.4: version `CURL_OPENSSL_3' not found (required by /home/varikonniemi/.spring/engine/104.0.1-557-g1487736 maintenance/spring)
The last known good version i have seen is 104.0.1-413-gd902a7b with 104.0.1-531-gab3f84f being broken.
0 x

abma
Spring Developer
Posts: 3555
Joined: 01 Jun 2009, 00:08

Re: Recent engines do not work on Manjaro/Arch Linux.

Post by abma » 21 Jun 2018, 11:32

its vice versa:

newer spring versions link to libcurl.so.4 which means on a debian based system libcurl4 must be installed.
0 x

gajop
Moderator
Posts: 3023
Joined: 05 Aug 2009, 20:42

Re: Recent engines do not work on Manjaro/Arch Linux.

Post by gajop » 21 Jun 2018, 11:50

New Ubuntu also uses new libcurl. It's clear to me this should be distributed. Asking users to install *any* libcurl is a barrier.

I tried to make it statically compile but I failed. I'll try again later.
0 x

varikonniemi
Posts: 447
Joined: 03 Jul 2011, 11:54

Re: Recent engines do not work on Manjaro/Arch Linux.

Post by varikonniemi » 05 Aug 2018, 22:44

The question people should be asking is wtf is wrong with libcurl, if a version compiled with one version is not working with a system that has version+1 ? Breaking backwards compatibility is insane, it should be curl2 or something.
0 x

kazhad
Posts: 1
Joined: 22 Sep 2018, 13:51

Re: Recent engines do not work on Manjaro/Arch Linux.

Post by kazhad » 22 Sep 2018, 14:30

I have the same problem on Ubuntu 18.04 and cannot start recent engine versions. I tried 104.0.1-567-gc484c10 and 104.0.1-718-gc76769c. (104.0 is starting.)
On Ubuntu 18.04 there is no libcurl-compat package and libcurl3 cannot be installed parallel to libcurl4. Therefore, I did not find a workaround to start spring.

I get the following error:
.spring/engine/104.0.1-718-gc76769c maintenance/spring: /usr/lib/x86_64-linux-gnu/libcurl.so.4: version `CURL_OPENSSL_3' not found (required by .spring/engine/104.0.1-718-gc76769c maintenance/spring)


I looked into the bug report in Ubuntu https://bugs.launchpad.net/ubuntu/+sour ... ug/1754294 which reveals that the issue affects many programs.
What I got from there
  • libcurl3 already provided the symlink 'libcurl.so.4'
  • libcurl3 has a 'curl_version@@CURL_OPENSSL_3' (symbol)
  • libcurl4 provides the symlink 'libcurl.so.4'
  • libcurl4 has a 'curl_version@@CURL_OPENSSL_4' (symbol)
  • libcurl3 and libcurl4 cannot be installed together (because of the 'libcurl.so.4' symlink)
  • It is a packaging issue (ubuntu or debian), curl itself (source) is backwards compatible.
I do not fully understand the version symbol, but I think a solution would be to use CURL_OPENSSL_4 when linking against 'libcurl.so.4' and not CURL_OPENSSL_3.
Can you check again if such a change would be possible?
0 x

Kloot
Spring Developer
Posts: 1865
Joined: 08 Oct 2006, 16:58

Re: Recent engines do not work on Manjaro/Arch Linux.

Post by Kloot » 22 Sep 2018, 17:28

Nope: until someone updates the linux buildbots (which will fix the situation for users on any distro shipping libcurl4, but break it in the other direction for all older systems with libcurl3 installed), your only workaround is to compile Spring from source.
0 x

User avatar
ThinkSome
Posts: 291
Joined: 14 Jun 2015, 13:36

Re: Recent engines do not work on Manjaro/Arch Linux.

Post by ThinkSome » 22 Sep 2018, 18:22

Can't we have two buildbots in parallel? Checking for libcurl version before downloading engine would also be rather simple.
0 x


Post Reply

Return to “Engine”