Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 667516 - net-misc/curl-7.61.1 USE=ssh should not depend on net-libs/libssh2[static-libs]
Summary: net-misc/curl-7.61.1 USE=ssh should not depend on net-libs/libssh2[static-libs]
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All All
: Normal normal (vote)
Assignee: Anthony Basile
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-10-01 21:18 UTC by Arfrever Frehtes Taifersar Arahesis
Modified: 2018-12-24 15:56 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 Arfrever Frehtes Taifersar Arahesis 2018-10-01 21:18:40 UTC
net-misc/curl-7.61.1 has this dependency:
  ssh? ( net-libs/libssh2[static-libs?,${MULTILIB_USEDEP}] )


net-libs/libssh2-1.8.0-r2 has deleted "static-libs" USE flag:
https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=d866d4705e1e4a092579a31df2815e3407950a19


This results in Portage not allowing upgrade of net-libs/libssh2 when net-misc/curl[ssh] is installed:

"""
WARNING: One or more updates/rebuilds have been skipped due to a dependency conflict:

net-libs/libssh2:0

  (net-libs/libssh2-1.8.0-r2:0/0::gentoo, ebuild scheduled for merge) conflicts with
    net-libs/libssh2[abi_x86_64(-)] required by (net-misc/curl-7.61.1:0/0::gentoo, ebuild scheduled for merge)
"""


Maybe the solution would be to restore "static-libs" USE flag, potentially after patching build system of 
net-libs/libssh2...
Comment 1 Jeroen Roovers (RETIRED) gentoo-dev 2018-10-02 10:16:04 UTC
(In reply to Arfrever Frehtes Taifersar Arahesis from comment #0)
> net-misc/curl-7.61.1 has this dependency:
>   ssh? ( net-libs/libssh2[static-libs?,${MULTILIB_USEDEP}] )

Gentoo has a long established rule that static linking against other packages is bad. Why does net-misc/curl have this in the first place?

It seems to link to the dynamic library just fine:

ET_DYN libidn2.so.0,libssh2.so.1,libnettle.so.6,libgnutls.so.30,libgssapi_krb5.so.2,libz.so.1,libpthread.so.0,libc.so.6 image/usr/lib64/libcurl.so.4.5.0

Was someone working around a build system bug at the time or even now?
Comment 2 Arfrever Frehtes Taifersar Arahesis 2018-10-02 20:31:48 UTC
This USE dependency is "static-libs?", not "static-libs", which probably indicates that libcurl static library would need libssh2 static library at link time.
However when a USE flag is not in IUSE, then this type of dependency is not satisfied (when using current implementation of dependency resolver in Portage) even for users with USE="-static-libs".
(I have USE="-static-libs".)
Comment 3 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2018-10-02 21:13:44 UTC
...which is the behavior required by the PMS, and which is why the person removing the USE flag should have fixed the reverse dependencies first.
Comment 4 Stefan Briesenick 2018-12-24 12:03:16 UTC
ping.

please fix either way. Thanks!
Comment 5 Anthony Basile gentoo-dev 2018-12-24 15:31:29 UTC
(In reply to Michał Górny from comment #3)
> ...which is the behavior required by the PMS, and which is why the person
> removing the USE flag should have fixed the reverse dependencies first.

would just dropping the static-libs? be sufficient, so that it reads

  ssh? ( net-libs/libssh2[${MULTILIB_USEDEP}] )
Comment 6 Anthony Basile gentoo-dev 2018-12-24 15:53:06 UTC
(In reply to Anthony Basile from comment #5)
> (In reply to Michał Górny from comment #3)
> > ...which is the behavior required by the PMS, and which is why the person
> > removing the USE flag should have fixed the reverse dependencies first.
> 
> would just dropping the static-libs? be sufficient, so that it reads
> 
>   ssh? ( net-libs/libssh2[${MULTILIB_USEDEP}] )

actually i just looked, static-libs was removed from the unstable version of libssh2, so i'm going to drop static-libs from the unstable version of curl and that should solve the problem for anyone running ~arch.
Comment 7 Anthony Basile gentoo-dev 2018-12-24 15:56:26 UTC
done, reopen if you are still having issues.