Giter Site home page Giter Site logo

"cawbird: error while loading shared libraries: ⁨librest-0.7.so⁩.0: cannot open shared object file: No such file or directory" about cawbird HOT 7 CLOSED

ProfP30 avatar ProfP30 commented on August 16, 2024
"cawbird: error while loading shared libraries: ⁨librest-0.7.so⁩.0: cannot open shared object file: No such file or directory"

from cawbird.

Comments (7)

ProfP30 avatar ProfP30 commented on August 16, 2024

Package "Librest" is available from the arch repo at current version 0.9.1-1 but not installed.
Installing it changes nothing on the behaviour of Cawbird.

from cawbird.

CodedOre avatar CodedOre commented on August 16, 2024

Is the librest package Arch provides compiled for libsoup 3? If yes, that's the issue: Cawbird still is on libsoup 2, and as far as I'm aware you can't mix libsoup 2 and 3 in the same program. However librest can only compiled for version 2 or 3, not both, so Arch probably picked the newer one.

Edit: Just checked on Arch's package website and yes, the librest package seems to use libsoup 3, so there's the issue.

See #464 as an related issue.

from cawbird.

IBBoard avatar IBBoard commented on August 16, 2024

Yeah, sounds like it's a librest change if Arch has 0.9.1 in the repos (although the dependencies seem a bit broken if it's not pulled in a 0.8 version or said you've got to remove Cawbird, which is what I'd expect on Deb and RPM-based systems)

The problem is that all versions of Ubuntu up to 22.04, Debian up to Bullseye, all versions of CenOS, Fedora up to 36 and all openSUSE Leap versions still only have (and will only have) v0.8 and so migrating to 0.9 breaks our compatibility for them.

I understand they might have wanted to make breaking changes, but it's a very blinkered view that every app in a distro will be on one version of librest or the other and there won't be ones trying to use the newer/older version.

from cawbird.

IBBoard avatar IBBoard commented on August 16, 2024

I had a quick poke around at this because it had been a while since I'd looked at librest and I'd forgotten where we were.

librest 0.9 removed OAuth1 support because "By today most providers should allow to authenticate with OAuth 2.0 and therefore i removed the OAuthProxy from librest" (emphasis mine). The Twitter v1 API doesn't support OAuth 2.

So we could have done conditional code to handle any API changes and supported both versions of the library. Except that librest killed off the part of the API that still works with Twitter v1 because most providers allow OAuth 2 authentication. Not all. Not even "all but the tiny, niche ones that are bit-rotting after five years of being unsupported and only have two regular users". But 'most'. Apparently Twitter isn't big enough for them to care about compatibility.

And Twitter (still?) haven't made Twitter v2 feature complete with v1, meaning that we couldn't migrate any sooner that CodedOre's rewrite.

I'm going to have to close this as "can't fix" and "external". People have to either wait for Cawbird 2.0 or get their distro to somehow package and release both versions of librest and libsoup (and hope that they don't conflict). Surely that's the point of .so numbers?

from cawbird.

Impeta avatar Impeta commented on August 16, 2024

@IBBoard @ProfP30 My apologizes for pinging, but just wanted to mention that simply installing "rest" (the legacy one) from Arch's extra community repositories solves this!

from cawbird.

IBBoard avatar IBBoard commented on August 16, 2024

That's good to know. I'm glad Arch had both versions available. It seems like some distros (like Debian, surprisingly) are dropping the old version and breaking everything that isn't updated at the same time, so I thought it might not work.

Does suggest that the dependencies in Arch aren't quite right, though. It might be good to tell the packager.

from cawbird.

ProfP30 avatar ProfP30 commented on August 16, 2024

Thanks @Impeta for the info. Just wanted to confirm, that installing "rest" from Arch's extra community repository "workarounds" this issue, cawbird is useable again. Thanks a lot!

from cawbird.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.