Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
Can't emerge net-misc/curl
View unanswered posts
View posts from last 24 hours

 
Reply to topic    Gentoo Forums Forum Index Portage & Programming
View previous topic :: View next topic  
Author Message
Featherfoot
Veteran
Veteran


Joined: 28 Dec 2002
Posts: 1108
Location: Stuart, Florida

PostPosted: Fri May 11, 2012 11:46 pm    Post subject: Can't emerge net-misc/curl Reply with quote

I am having trouble with interpreting the error message while trying to emerge net-misc/curl

Here is the error message:


    bopper download # emerge curl -pv

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

    Calculating dependencies /

    !!! Problem resolving dependencies for net-misc/curl
    ... done!

    !!! The ebuild selected to satisfy "curl" has unmet requirements.
    - net-misc/curl-7.25.0-r1::gentoo USE="idn ipv6 ldap (multilib) ssl threads -ares -kerberos -ssh -static-libs -test" CURL_SSL="nss openssl -axtls -cyassl -gnutls -polarssl"

    The following REQUIRED_USE flag constraints are unsatisfied:
    ssl? ( exactly-one-of ( curl_ssl_axtls curl_ssl_cyassl curl_ssl_gnutls curl_ssl_openssl curl_ssl_nss curl_ssl_polarssl ) )

    The above constraints are a subset of the following complete expression:
    threads? ( !ares ) ssl? ( exactly-one-of ( curl_ssl_axtls curl_ssl_cyassl curl_ssl_gnutls curl_ssl_openssl curl_ssl_nss curl_ssl_polarssl ) )


This is the appropriate entry from /etc/portage/package.use:

    >=net-misc/curl-7.21.4 -ares curl_ssl_nss -gnutls idn ipv6 ldap ssl threads multilib nss openssl
Back to top
View user's profile Send private message
Ant P.
Watchman
Watchman


Joined: 18 Apr 2009
Posts: 6921

PostPosted: Sat May 12, 2012 1:23 am    Post subject: Reply with quote

Did you read the error? Unset openssl or nss, you can't have both. That's what "exactly-one-of" means.
Back to top
View user's profile Send private message
Featherfoot
Veteran
Veteran


Joined: 28 Dec 2002
Posts: 1108
Location: Stuart, Florida

PostPosted: Sat May 12, 2012 4:10 am    Post subject: Reply with quote

When I see the "exactly one of" constraint, I don't see nss and openssl listed in there and that didn't fix it...

The problem was that ssl and openssl were specified and the error message was bogus. The package.use entry that worked was


    >=net-misc/curl-7.21.4 -ares curl_ssl_nss -gnutls idn ipv6 ldap -ssl threads nss openssl


It would have been useful if there were an exactly one of for ssl and openssl.
Back to top
View user's profile Send private message
Hu
Moderator
Moderator


Joined: 06 Mar 2007
Posts: 16697

PostPosted: Sat May 12, 2012 3:45 pm    Post subject: Reply with quote

Featherfoot wrote:
When I see the "exactly one of" constraint, I don't see nss and openssl listed in there and that didn't fix it...

Featherfoot wrote:
Code:
!!! The ebuild selected to satisfy "curl" has unmet requirements.
- net-misc/curl-7.25.0-r1::gentoo USE="idn ipv6 ldap (multilib) ssl threads -ares -kerberos -ssh -static-libs -test" CURL_SSL="nss openssl -axtls -cyassl -gnutls -polarssl"

According to the output you provided, both nss and openssl are listed as CURL_SSL providers. The package.use change you posted originally was incorrect, because it enabled NSS, but did not disable OpenSSL. If you tried something else to fix it, please post that.
Featherfoot wrote:
The problem was that ssl and openssl were specified and the error message was bogus. The package.use entry that worked was

    >=net-misc/curl-7.21.4 -ares curl_ssl_nss -gnutls idn ipv6 ldap -ssl threads nss openssl
No, the error message was correct. Specifying -ssl avoids the problem because now you have no SSL providers, so the REQUIRED_USE is satisfied because the exactly-one-of constraint is never reached.
Featherfoot wrote:
It would have been useful if there were an exactly one of for ssl and openssl.
Could you explain what you mean here? What change to the ebuild are you proposing?
Back to top
View user's profile Send private message
Featherfoot
Veteran
Veteran


Joined: 28 Dec 2002
Posts: 1108
Location: Stuart, Florida

PostPosted: Sat May 12, 2012 4:12 pm    Post subject: Reply with quote

This is a bit of a dead horse, but here goes:

The constraints are as follows:


    The following REQUIRED_USE flag constraints are unsatisfied:
    ssl? ( exactly-one-of ( curl_ssl_axtls curl_ssl_cyassl curl_ssl_gnutls curl_ssl_openssl curl_ssl_nss curl_ssl_polarssl ) )

    The above constraints are a subset of the following complete expression:
    threads? ( !ares ) ssl? ( exactly-one-of ( curl_ssl_axtls curl_ssl_cyassl curl_ssl_gnutls curl_ssl_openssl curl_ssl_nss curl_ssl_polarssl ) )


As I read it, the constraints are: curl_ssl_axtls curl_ssl_cyassl curl_ssl_gnutls curl_ssl_openssl curl_ssl_nss curl_ssl_polarssl. Nss and openssl are not specified and if you look at the best USE line (below) you will see that both are specified. I understand that something else could be understood by a developer who understands what is going on, but in this case, I'm just an error message reader trying to get emerge to work.

BTW: The following USE worked better than the one I posted. Both will emerge correctly, but emerge --depclean doesn't work. This did:

    >=net-misc/curl-7.21.4 -ares -curl_ssl_openssl -gnutls idn ipv6 ldap ssl threads nss openssl curl_ssl_nss
Back to top
View user's profile Send private message
jburns
Veteran
Veteran


Joined: 18 Jan 2007
Posts: 1102
Location: Massachusetts USA

PostPosted: Sat May 12, 2012 4:26 pm    Post subject: Reply with quote

The better way is to add to /etc/make.conf
Code:
CURL_SSL="nss"

Replace nss with the ssl package you want to use.
Back to top
View user's profile Send private message
azp
Guru
Guru


Joined: 16 Nov 2003
Posts: 444
Location: Stockholm, Sweden

PostPosted: Sat May 12, 2012 6:00 pm    Post subject: Reply with quote

To come at the previous answer from another angle: What implementation do I want to use? I couldn't really care less, I just want it to work and that it's hopefully "the best one"®.
_________________
Weeks of coding can save you hours of planning.
Back to top
View user's profile Send private message
Featherfoot
Veteran
Veteran


Joined: 28 Dec 2002
Posts: 1108
Location: Stuart, Florida

PostPosted: Sat May 12, 2012 7:57 pm    Post subject: Reply with quote

Reading azp's reply, I realized that I hadn't answered the question about what changes to the ebuild I am proposing.

My problem was that the error message was deceptive: I had done exactly what it required and it still didn't work. What I couldn't see was that one of the USE flags was being set somewhere else. This might be user friendly but it is difficult to troubleshoot.

What might have made the problem easier to diagnose was to have had a complete list of the USE flags that it cared about and whether they were set or not. This sounds like it could be a difficult and tedious process to implement and keep up to date, but it would have been useful.
Back to top
View user's profile Send private message
Hu
Moderator
Moderator


Joined: 06 Mar 2007
Posts: 16697

PostPosted: Sat May 12, 2012 8:09 pm    Post subject: Reply with quote

Featherfoot wrote:

    The following REQUIRED_USE flag constraints are unsatisfied:
    ssl? ( exactly-one-of ( curl_ssl_axtls curl_ssl_cyassl curl_ssl_gnutls curl_ssl_openssl curl_ssl_nss curl_ssl_polarssl ) )

    The above constraints are a subset of the following complete expression:
    threads? ( !ares ) ssl? ( exactly-one-of ( curl_ssl_axtls curl_ssl_cyassl curl_ssl_gnutls curl_ssl_openssl curl_ssl_nss curl_ssl_polarssl ) )


As I read it, the constraints are: curl_ssl_axtls curl_ssl_cyassl curl_ssl_gnutls curl_ssl_openssl curl_ssl_nss curl_ssl_polarssl. Nss and openssl are not specified
As it states, the constraints are exactly-one-of the list you specified. It appears to me that OpenSSL and NSS are the third-to-last and second-to-last in that list, and are specified in that list.
Featherfoot wrote:
if you look at the best USE line (below) you will see that both are specified.

BTW: The following USE worked better than the one I posted. Both will emerge correctly, but emerge --depclean doesn't work. This did:

    >=net-misc/curl-7.21.4 -ares -curl_ssl_openssl -gnutls idn ipv6 ldap ssl threads nss openssl curl_ssl_nss
No, only one of them is enabled in that list. You specified curl_ssl_nss. You disabled curl_ssl_openssl.

In what way does emerge --ask --depclean not do as you want?
Featherfoot wrote:
My problem was that the error message was deceptive: I had done exactly what it required and it still didn't work. What I couldn't see was that one of the USE flags was being set somewhere else. This might be user friendly but it is difficult to troubleshoot.
Could you elaborate? From what I can see, you did not initially do the right thing. You may have thought that you did, but the first setting that achieves the goal of installing curl with working SSL is the line:
Featherfoot wrote:
Code:
>=net-misc/curl-7.21.4 -ares -curl_ssl_openssl -gnutls idn ipv6 ldap ssl threads  nss openssl curl_ssl_nss


Featherfoot wrote:
What might have made the problem easier to diagnose was to have had a complete list of the USE flags that it cared about and whether they were set or not. This sounds like it could be a difficult and tedious process to implement and keep up to date, but it would have been useful.
The output already shows you what you enabled, what you disabled, and the requirements that must be satisfied for a working build. The requirements are presented as both the simplified form stating what is wrong and the complete form showing the full set of requirements that the ebuild specified. If there is some information that could be added to simplify troubleshooting, please say so and we can discuss ways to include it.
Back to top
View user's profile Send private message
Featherfoot
Veteran
Veteran


Joined: 28 Dec 2002
Posts: 1108
Location: Stuart, Florida

PostPosted: Sat May 12, 2012 9:20 pm    Post subject: Reply with quote

Hu said:
Quote:

As it states, the constraints are exactly-one-of the list you specified. It appears to me that OpenSSL and NSS are the third-to-last and second-to-last in that list, and are specified in that list.


The second and third to last arguments are: curl_ssl_openssl curl_ssl_nss

Like all software guys, that is not the same as openssl ssl or nss to me and in the end, it wasn't the problem.

As you noted, I had to disable curl_ssl_openssl. See if you can find it with emerge -pv curl
Back to top
View user's profile Send private message
Hu
Moderator
Moderator


Joined: 06 Mar 2007
Posts: 16697

PostPosted: Sat May 12, 2012 11:49 pm    Post subject: Reply with quote

Featherfoot wrote:
The second and third to last arguments are: curl_ssl_openssl curl_ssl_nss

Like all software guys, that is not the same as openssl ssl or nss to me and in the end, it wasn't the problem.
Yes, they are. Those are USE_EXPAND'd variables, so they effectively are the same. See man make.conf for details about USE_EXPAND.
Featherfoot wrote:
As you noted, I had to disable curl_ssl_openssl. See if you can find it with emerge -pv curl
Do you mean this part (emphasis mine)?
    [ebuild U ] net-misc/curl-7.25.0-r1 [7.24.0] USE="-ipv6 ssl -threads -ares -idn -kerberos -ldap -ssh -static-libs -test (-gnutls%) (-nss%)" CURL_SSL="openssl% -axtls% -cyassl% -gnutls% -nss% -polarssl%"
Back to top
View user's profile Send private message
Featherfoot
Veteran
Veteran


Joined: 28 Dec 2002
Posts: 1108
Location: Stuart, Florida

PostPosted: Sun May 13, 2012 2:08 am    Post subject: Reply with quote

I have managed to keep gentoo systems running for a long time (almost 10 years already) without knowing much about emerge. Overall I think that is a Good Thing. I am not a system guy and my heart isn't into understanding all of the nuances of the tools that the smart guys provide. I admit to being ignorant but there are others who give up.

I appreciate the forums and the help available, and that is one of the reasons I keep doing gentoo: Once it is set up and running, maintenance is pretty easy, but a few times a year I get stuck and need help. Your information was helpful. Thank you.
Back to top
View user's profile Send private message
ch64
Guru
Guru


Joined: 09 Jun 2010
Posts: 387

PostPosted: Mon Dec 23, 2013 1:27 pm    Post subject: Reply with quote

for me it was good with -curl_ssl_openssl and +curl_ssl_nss and pycurl -> -curl_ssl_nss
i could merge these two tools, curl and pycurl manually.
but in the emerge world it is taken to update/reinstall too, so there is an error which is making me updating world impossible.

see here:

Code:

[blocks b      ] <gnome-extra/gnome-media-2.32.0-r300 ("<gnome-extra/gnome-media-2.32.0-r300" is blocking gnome-base/gnome-control-center-3.8.6)
[blocks b      ] gnome-extra/gnome-media[pulseaudio] ("gnome-extra/gnome-media[pulseaudio]" is blocking gnome-base/gnome-control-center-3.8.6)
[ebuild  N     ] gnome-base/gnome-core-apps-3.8.0:3.0  USE="bluetooth cdr cups" 0 kB
[uninstall     ] gnome-base/gnome-applets-2.32.1.1-r2  USE="cpufreq gstreamer ipv6 -networkmanager (-policykit)"
[blocks b      ] gnome-base/gnome-applets ("gnome-base/gnome-applets" is blocking gnome-base/gnome-core-apps-3.8.0)
[ebuild     U  ] gnome-base/gdm-3.8.4-r3 [2.20.11-r1] USE="branding* gnome-shell%* introspection%* ipv6 tcpd xinerama -accessibility -audit% -debug% -fallback% -fprint% -plymouth% (-selinux) -systemd% {-test%} (-afs%) (-consolekit%*) (-dmx%) (-gnome-keyring%) (-pam%*) (-remote%)" 1,638 kB
[blocks b      ] <gnome-base/gdm-2.91.94 ("<gnome-base/gdm-2.91.94" is blocking gnome-base/gnome-control-center-3.8.6)
[ebuild  N     ] gnome-base/gnome-shell-3.8.4-r1  USE="bluetooth i18n networkmanager (-openrc-force)" PYTHON_TARGETS="python2_7 -python2_6" 1,482 kB
[ebuild  N     ] app-admin/eselect-gnome-shell-extensions-20120911  3 kB
[ebuild  N     ] gnome-extra/gnome-tweak-tool-3.8.1-r1  PYTHON_TARGETS="python2_7 -python2_6" 225 kB
[ebuild  N     ] gnome-base/gnome-extra-apps-3.8.0-r1:3.0  USE="games shotwell tracker" 0 kB
[ebuild  N     ] gnome-extra/gnome-shell-extensions-3.8.4  USE="-examples" 182 kB
[ebuild     U  ] gnome-base/gnome-3.8.0-r1:2.0 [2.32.1-r2:2.0] USE="bluetooth%* cdr classic%* cups* extras%* -accessibility -flashback% (-dvdr%*) (-ldap%) (-mono%) (-policykit%)" 0 kB

Total: 498 packages (250 upgrades, 1 downgrade, 141 new, 36 in new slots, 70 reinstalls, 7 uninstalls), Size of downloads: 1,220,075 kB
Conflict: 16 blocks

!!! Multiple package instances within a single package slot have been pulled
!!! into the dependency graph, resulting in a slot conflict:

net-misc/curl:0

  (net-misc/curl-7.31.0::gentoo, ebuild scheduled for merge) pulled in by
    net-misc/curl[ssl,curl_ssl_nss] required by (net-libs/liboauth-1.0.1::gentoo, ebuild scheduled for merge)

  (net-misc/curl-7.31.0::gentoo, installed) pulled in by
    net-misc/curl[curl_ssl_gnutls=,curl_ssl_nss=,curl_ssl_openssl=,-curl_ssl_axtls,-curl_ssl_cyassl,-curl_ssl_polarssl] required by (dev-python/pycurl-7.19.0-r3::gentoo, installed)


It may be possible to solve this problem by using package.mask to
prevent one of those packages from being selected. However, it is also
possible that conflicting dependencies exist such that they are
impossible to satisfy simultaneously.  If such a conflict exists in
the dependencies of two different packages, then those packages can
not be installed simultaneously.

For more information, see MASKED PACKAGES section in the emerge man
page or refer to the Gentoo Handbook.
Back to top
View user's profile Send private message
ch64
Guru
Guru


Joined: 09 Jun 2010
Posts: 387

PostPosted: Tue Dec 24, 2013 3:16 pm    Post subject: Reply with quote

a sync to a newer curl version helped.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Portage & Programming All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum