Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 610550 - net-libs/gnutls-3.5.9-r1: depends on sys-devel/gcc and >=net-dns/libidn2-0.16-r1
Summary: net-libs/gnutls-3.5.9-r1: depends on sys-devel/gcc and >=net-dns/libidn2-0.16-r1
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Crypto team [DISABLED]
URL:
Whiteboard:
Keywords:
Depends on: 609180
Blocks:
  Show dependency tree
 
Reported: 2017-02-22 12:04 UTC by Fabian Groffen
Modified: 2017-02-23 18:05 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 Fabian Groffen gentoo-dev 2017-02-22 12:04:34 UTC
Hi,

I noticed latest gnutls depends explicitly on libidn2-0.16, which is broken (and masked) on any platform lacking <error.h>.   I tried compiling gnutls against libidn2-0.11, and it seems to work fine.  I also could not find any reference in gnutls docs about this dependency.  Is there a reason for depending on this explicit version?

Another thing I noticed is that it pulls in gcc.  On platforms where gcc is not the default compiler (but Clang instead) this is kind of annoying.  I'm not sure why it needs a compiler as rdep, but assuming it needs this, would it be ok to change this into an or-case with clang/llvm instead?

Thanks!
Comment 1 Alon Bar-Lev (RETIRED) gentoo-dev 2017-02-22 20:39:31 UTC
For idn: As any non-maintainer commits... bug#609180 created the explicit dependency of idn and also did not enable in package the proper settings.
Comment 2 Alon Bar-Lev (RETIRED) gentoo-dev 2017-02-22 20:40:47 UTC
For the gcc, we probably need some cc virtual with cxx USE, any recommendation how to make sure cxx is available in system?
Comment 3 Fabian Groffen gentoo-dev 2017-02-23 09:50:47 UTC
Is this because libstdc++ needs to be around?
Comment 4 Alon Bar-Lev (RETIRED) gentoo-dev 2017-02-23 09:54:15 UTC
This is a generic issue...
A package has cxx USE flag to build C++ library or whatever.
The C compiler has a USE flag to enable or disable C++.
How can we maintain integrity of the system?
We do not have something like a virtual/cc[cxx] to depend on or even virtual/cxx, right?
Comment 5 Fabian Groffen gentoo-dev 2017-02-23 09:58:27 UTC
Errr, yes, but then it should be a library virtual/libcxx or something.  Larger problem, which we now deal with by Portage's preserve-libs feature, such that if you upgrade/reinstall gcc without cxx, it keeps the lib around.  (Or any lib in that way.)

I think you should simply drop the gcc[cxx] depend.
Comment 6 Alon Bar-Lev (RETIRED) gentoo-dev 2017-02-23 12:09:56 UTC
Not sure how I can remove this. gcc is currently the only one that is actually supported, if it should be ignored package.provided can be used.
Comment 7 Fabian Groffen gentoo-dev 2017-02-23 12:14:26 UTC
I'll try to build/run it with Clang.  What I understand from your comment is that that doesn't work, I question that.
Comment 8 Fabian Groffen gentoo-dev 2017-02-23 12:26:10 UTC
gnutls compiles and links fine with clang/llvm and libc++.

So it seems to me you can express this as
|| ( sys-devel/gcc[cxx?] sys-devel/clang )
Comment 9 Fabian Groffen gentoo-dev 2017-02-23 12:28:16 UTC
FWIW: other packages that use c++ compilers/support don't depend on a compiler for that, for instance ncurses which is a direct @system dependency package.
Comment 10 Alon Bar-Lev (RETIRED) gentoo-dev 2017-02-23 18:05:49 UTC
OK