Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 662932 - dev-lang/rust{-bin}[cargo] does not pull in cargo RDEPEND
Summary: dev-lang/rust{-bin}[cargo] does not pull in cargo RDEPEND
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal
Assignee: Gentoo Rust Project
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-08-06 10:09 UTC by tt_1
Modified: 2018-08-08 13:30 UTC (History)
2 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 tt_1 2018-08-06 10:09:08 UTC
I ran into this, because emerge --depclean claimed that no package pulled in libssh2 and http-parser. On a fresh stage3, this happens: 


emerge -pv =virtual/rust-1.28.0 =virtual/cargo-1.28.0 =dev-lang/rust-bin-1.28.0 

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild  N     ] app-eselect/eselect-rust-0.3_pre20150428::gentoo  0 KiB
[ebuild  N    ~] dev-lang/rust-bin-1.28.0:stable::gentoo  USE="cargo -doc -rustfmt" 0 KiB
[ebuild  N    ~] virtual/rust-1.28.0::gentoo  0 KiB
[ebuild  N    ~] virtual/cargo-1.28.0::gentoo  0 KiB

Total: 4 packages (4 new), Size of downloads: 0 KiB

in case of dev-lang/rust: 

Calculating dependencies... done!
[ebuild  N     ] app-eselect/eselect-rust-0.3_pre20150428::gentoo  0 KiB
[ebuild  N     ] dev-libs/jemalloc-3.6.0::gentoo  USE="-debug -static-libs -stats" ABI_X86="(64) -32 (-x32)" 0 KiB
[ebuild  N     ] app-crypt/rhash-1.3.5::gentoo  USE="nls ssl -debug -libressl -static-libs" ABI_X86="(64) -32 (-x32)" 0 KiB
[ebuild  N     ] app-arch/libarchive-3.3.1:0/13::gentoo  USE="acl bzip2 e2fsprogs iconv lzma threads xattr zlib -expat -libressl -lz4 -lzo -nettle -static-libs" ABI_X86="(64) -32 (-x32)" 0 KiB
[ebuild  N     ] dev-util/cmake-3.9.6::gentoo  USE="ncurses -doc -emacs -qt5 -server -system-jsoncpp {-test}" 0 KiB
[ebuild  N    ~] dev-lang/rust-1.28.0:stable/1.28::gentoo  USE="cargo jemalloc -debug -doc -rls -rustfmt -wasm" ABI_X86="(64) -32 (-x32)" LLVM_TARGETS="(X86) -AArch64 -AMDGPU -ARM -BPF -Hexagon -Lanai -MSP430 -Mips -NVPTX -PowerPC -Sparc -SystemZ -XCore" 54.531 KiB
[ebuild  N    ~] virtual/rust-1.28.0::gentoo  0 KiB
[ebuild  N    ~] virtual/cargo-1.28.0::gentoo  0 KiB
Comment 1 tt_1 2018-08-06 12:29:58 UTC
I wonder, if cargo from dev-lang/rust{-bin} is fully statically linked? And therefore, you're right about not pulling in the cargo RDEPEND stuff? Because there are no compile time issues with the lack of libssh2 and http-parser at compile time. Maybe you want to double check the crypto stuff, libressl and the case of curl built with something else but openssl?
Comment 2 Dirkjan Ochtman (RETIRED) gentoo-dev 2018-08-07 07:51:51 UTC
I think this is probably a real issue:

djc@enrai ~ $ equery b /usr/bin/cargo
 * Searching for /usr/bin/cargo ... 
dev-lang/rust-1.28.0 (/usr/bin/cargo-1.28.0)
djc@enrai ~ $ ldd /usr/bin/cargo
	linux-vdso.so.1 (0x00007fff9a4ae000)
	libhttp_parser.so.2.8 => /usr/lib64/libhttp_parser.so.2.8 (0x00007f35acd6d000)
	libssh2.so.1 => /usr/lib64/libssh2.so.1 (0x00007f35acb40000)
	libcurl.so.4 => /usr/lib64/libcurl.so.4 (0x00007f35ac8d1000)
	libssl.so.1.0.0 => /usr/lib64/libssl.so.1.0.0 (0x00007f35ac663000)
	libcrypto.so.1.0.0 => /usr/lib64/libcrypto.so.1.0.0 (0x00007f35ac229000)
	libz.so.1 => /lib64/libz.so.1 (0x00007f35ac012000)
	libdl.so.2 => /lib64/libdl.so.2 (0x00007f35abe0e000)
	librt.so.1 => /lib64/librt.so.1 (0x00007f35abc06000)
	libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f35ab9e6000)
	libgcc_s.so.1 => /usr/lib/gcc/x86_64-pc-linux-gnu/7.3.0/libgcc_s.so.1 (0x00007f35ab7cf000)
	libc.so.6 => /lib64/libc.so.6 (0x00007f35ab40d000)
	/lib64/ld-linux-x86-64.so.2 (0x00007f35ad9d1000)
	libm.so.6 => /lib64/libm.so.6 (0x00007f35ab0bb000)
Comment 3 Larry the Git Cow gentoo-dev 2018-08-07 08:05:27 UTC
The bug has been closed via the following commit(s):

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

commit 37996d8ff1bded532518f4d9291c131c6e2a9ef1
Author:     Dirkjan Ochtman <djc@gentoo.org>
AuthorDate: 2018-08-07 08:04:49 +0000
Commit:     Dirkjan Ochtman <djc@gentoo.org>
CommitDate: 2018-08-07 08:05:19 +0000

    dev-lang/rust: include cargo run-time dependencies
    
    Closes: https://bugs.gentoo.org/662932
    Package-Manager: Portage-2.3.40, Repoman-2.3.9

 dev-lang/rust/rust-1.28.0-r1.ebuild | 277 ++++++++++++++++++++++++++++++++++++
 1 file changed, 277 insertions(+)
Comment 4 tt_1 2018-08-07 11:18:05 UTC
rust-bin does not need this?
Comment 5 Dirkjan Ochtman (RETIRED) gentoo-dev 2018-08-07 12:41:00 UTC
You're right, it does -- but I'll coalesce the fix with one for bug 662482.
Comment 6 Larry the Git Cow gentoo-dev 2018-08-08 13:30:00 UTC
The bug has been closed via the following commit(s):

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

commit 598ec1ea3e6164061dea2f0f6d5ff4a7b74e3a50
Author:     Dirkjan Ochtman <djc@gentoo.org>
AuthorDate: 2018-08-08 13:19:36 +0000
Commit:     Dirkjan Ochtman <djc@gentoo.org>
CommitDate: 2018-08-08 13:29:51 +0000

    dev-lang/rust-bin: add run-time Cargo deps, fix eselect provider
    
    Closes: https://bugs.gentoo.org/662842
    Closes: https://bugs.gentoo.org/662932
    Package-Manager: Portage-2.3.40, Repoman-2.3.9

 dev-lang/rust-bin/rust-bin-1.28.0-r1.ebuild | 161 ++++++++++++++++++++++++++++
 1 file changed, 161 insertions(+)