Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 749381 - dev-lang/rust-1.47.0-r1: cargo: error while loading shared libraries: libgit2.so.1.0
Summary: dev-lang/rust-1.47.0-r1: cargo: error while loading shared libraries: libgit2...
Status: CONFIRMED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo Rust Project
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2020-10-16 04:48 UTC by Georgy Yakovlev
Modified: 2020-12-11 14:57 UTC (History)
4 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Georgy Yakovlev gentoo-dev 2020-10-16 04:48:15 UTC
because if libgit2 changes soname, system-bootstrap rust
will be unable to rebuild itself portage triggers rebuild after slotchange.

cargo: error while loading shared libraries: libgit2.so.1.0

reported by user here. https://bugs.gentoo.org/749255#c7
Comment 1 Georgy Yakovlev gentoo-dev 2020-10-21 22:03:07 UTC
if someone hits it - rollback to libgit2 version was build with (probably 1.0.1), and it will work again.
Comment 2 Carlos Konstanski 2020-11-25 16:42:07 UTC
Both dev-lang/rust and virtual/rust are still trying to pull in >=dev-libs/libgit2-1.1.0:= . The ebuilds need to fixed to allow libgit2-1.0.x to be utilized.
Comment 3 Georgy Yakovlev gentoo-dev 2020-11-25 18:09:34 UTC
(In reply to Carlos Konstanski from comment #2)
> Both dev-lang/rust and virtual/rust are still trying to pull in
> >=dev-libs/libgit2-1.1.0:= . The ebuilds need to fixed to allow
> libgit2-1.0.x to be utilized.

rust-1.47 has
>=dev-libs/libgit2-0.99:=

rust-1.48 has
>=dev-libs/libgit2-1.1.0:=


both are correct, what should be fixed here?
dependencies reflect at least exact version bundled with libgit-sys crate upstream ships in vendor directory.

in fact, 1.47 should pull at least version 1.0.0
Comment 4 Larry the Git Cow gentoo-dev 2020-11-25 20:17:45 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e0899133bf373f531be502ed292a86e16a7b6347

commit e0899133bf373f531be502ed292a86e16a7b6347
Author:     Georgy Yakovlev <gyakovlev@gentoo.org>
AuthorDate: 2020-11-25 19:06:20 +0000
Commit:     Georgy Yakovlev <gyakovlev@gentoo.org>
CommitDate: 2020-11-25 20:13:14 +0000

    dev-lang/rust: revbump 1.47.0, fix several issues
    
    Don't depend on system libgit2 to avoid abi nightmare.
    
    Bug: https://bugs.gentoo.org/749381
    Package-Manager: Portage-3.0.10, Repoman-3.0.2
    Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org>

 dev-lang/rust/rust-1.47.0-r2.ebuild | 615 ++++++++++++++++++++++++++++++++++++
 1 file changed, 615 insertions(+)
Comment 5 Georgy Yakovlev gentoo-dev 2020-11-25 20:23:34 UTC
anyway, should be fixed soon.  new versions no longer depend on libgit2 at all.
Comment 6 Carlos Konstanski 2020-11-25 23:53:54 UTC
The following is from a rust-1.48 build. It's invoking 1.47 during the build, and that might be why the libgit2.so version mismatch is happening.

>>> Compiling source in /var/tmp/portage/dev-lang/rust-1.48.0/work/rustc-1.48.0-src ...
running: /usr/lib/rust/1.47.0/bin/cargo build --manifest-path /var/tmp/portage/dev-lang/rust-1.48.0/work/rustc-1.48.0-src/src/bootstrap/Cargo.toml --verbose --locked --frozen
/usr/lib/rust/1.47.0/bin/cargo: error while loading shared libraries: libgit2.so.1.0: cannot open shared object file: No such file or directory
Comment 7 Georgy Yakovlev gentoo-dev 2020-11-26 01:23:29 UTC
yeah I get it. you may need to either temporary install old libgit or set USE=-system-bootstrap to work around it.
that's exactly the primary reason I removed libgit dependency and force it use internal one, not the system one.