Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 537452 - net-libs/curl with dev-libs/openssl-1.0.2[-ssl2] - libcurl.so: undefined reference to `SSLv2_client_method'
Summary: net-libs/curl with dev-libs/openssl-1.0.2[-ssl2] - libcurl.so: undefined refe...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Anthony Basile
URL:
Whiteboard:
Keywords:
: 537450 537458 537460 537482 (view as bug list)
Depends on:
Blocks:
 
Reported: 2015-01-23 13:54 UTC by bill
Modified: 2015-04-10 09:46 UTC (History)
7 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 bill 2015-01-23 13:54:02 UTC
With the latest dev-libs/openssl-1.0.2 the new ssl2 USE flag is disabled by default and cmake complains:
libcurl.so: undefined reference to `SSLv2_client_method'

Rebuilding openssl with ssl2 support fixes the problem.
The dependency needs to be specified in the cmake ebuild. (or maybe there is a flag in cmake to disable ssl2 support?)

Reproducible: Always
Comment 1 Jeroen Roovers (RETIRED) gentoo-dev 2015-01-23 14:02:34 UTC
That's a curl problem, not a cmake problem.
Comment 2 Jeroen Roovers (RETIRED) gentoo-dev 2015-01-23 14:02:58 UTC
*** Bug 537450 has been marked as a duplicate of this bug. ***
Comment 3 Lars Wendler (Polynomial-C) (RETIRED) gentoo-dev 2015-01-23 15:33:32 UTC
+*openssl-1.0.2-r1 (23 Jan 2015)
+
+  23 Jan 2015; Lars Wendler <polynomial-c@gentoo.org> -openssl-1.0.2.ebuild,
+  +openssl-1.0.2-r1.ebuild, metadata.xml:
+  Removed "ssl2" USE flag again. Broke ABI and caused some packages to fail
+  like curl (bug #537452) and mozilla packages.
+

Should be fixed by removing the ssl2 USE flag from openssl package. Please re-sync and upgrade openssl to 1.0.2-r1.
Comment 4 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2015-01-23 17:00:22 UTC
*** Bug 537458 has been marked as a duplicate of this bug. ***
Comment 5 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2015-01-23 17:01:24 UTC
*** Bug 537460 has been marked as a duplicate of this bug. ***
Comment 6 Michał Górny archtester Gentoo Infrastructure gentoo-dev Security 2015-01-23 17:03:04 UTC
The good news is that rebuilding curl fixes most of the issues. Not sure about other revdeps.

However, of course this isn't the correct way of doing this. Definitely not USE flag, rather a SONAME bump and subslot. Which means EAPI 5 first. Which should have happened long time ago.
Comment 7 Anthony Basile gentoo-dev 2015-01-23 17:30:46 UTC
(In reply to Michał Górny from comment #6)
> The good news is that rebuilding curl fixes most of the issues. Not sure
> about other revdeps.
> 
> However, of course this isn't the correct way of doing this. Definitely not
> USE flag, rather a SONAME bump and subslot. Which means EAPI 5 first. Which
> should have happened long time ago.

is openssl changing its SONAME to reflect the break from the older api, or do we have to push a bug upstream?
Comment 8 Jeroen Roovers (RETIRED) gentoo-dev 2015-01-24 08:44:22 UTC
*** Bug 537482 has been marked as a duplicate of this bug. ***
Comment 9 Thomas Bettler 2015-04-10 09:31:17 UTC
be aware openssl will remove SSL2 code for 1.1.0

see: https://github.com/openssl/openssl/blob/master/CHANGES
and: https://github.com/openssl/openssl/commit/45f55f6a5bdcec411ef08a6f8aae41d5d3d234ad


 OpenSSL CHANGES
 _______________

 Changes between 1.0.2 and 1.1.0  [xx XXX xxxx]

  *) SSLv2 support has been removed.  It still supports receiving a SSLv2
     compatible client hello.
     [Kurt Roeckx]


btw. you may consider also this:

  *) config has been changed so that by default OPENSSL_NO_DEPRECATED is used.
     Access to deprecated functions can be re-enabled by running config with
     "enable-deprecated". In addition applications wishing to use deprecated
     functions must define OPENSSL_USE_DEPRECATED. Note that this new behaviour
     will, by default, disable some transitive includes that previously existed
     in the header files (e.g. ec.h will no longer, by default, include bn.h)
     [Matt Caswell]
Comment 10 Thomas Bettler 2015-04-10 09:46:25 UTC
see also curl upstream has been adapting its code to compile w/o ssl2:

https://github.com/bagder/curl/commit/577286e0e246c93239726a278cc1cb582b4d19ae