Project

General

Profile

Bug #16194

Can not compile the recent ruby 2.6.5 release due to some openssl-related issue (see issue description)

Added by shevegen (Robert A. Heiler) about 2 months ago. Updated about 1 month ago.

Status:
Closed
Priority:
Normal
Assignee:
-
Target version:
-
ruby -v:
new ruby 2.6.5 release published today (1st october 2019)
[ruby-core:95173]

Description

I am trying to compile the latest 2.6.5 release, just released recently:

https://ftp.ruby-lang.org/pub/ruby/2.6/ruby-2.6.5.tar.xz

I had a problem, which will be mentioned soon; but I first made sure that I do not
have this problem with ruby-2.6.4, so I believe something must have changed in
behaviour.

Here is the configure line I was using for 2.6.4:

./configure --prefix=/opt/ruby  --enable-debug-env --enable-load-relative --enable-frozen-string-literal-debug --enable-pthread --enable-shared --with-ext=readline,openssl,+ --disable-install-capi --disable-install-doc --disable-install-rdoc

This was just a test-configure; both "make" and "make install" finished without an error though.

I then tried with 2.6.5 with exactly the same configure option as above, and this error appeared
during make install:

x86_64-linux/openssl.so: undefined symbol: EC_GROUP_new_curve_GF2m - /Depot/jjjj/ruby-2.6.5/.ext/x86_64-linux/openssl.so (LoadError)
make: *** [uncommon.mk:371: do-install-nodoc] Error 1

My local openssl is 1.1.1c by the way (also self-compiled; I compile everything from source,
typically via help from ruby. I could try ftp://ftp.openssl.org/source/openssl-1.1.1d.tar.gz
perhaps but I have had some difficulties with openssl in the past, so I'd rather try more stable
releases of openssl than unstable ones).

Anyway, I am just reporting this here so that the ruby core team is aware of the problem. No
idea what EC_GROUP_new_curve_GF2m is, but it does not appear to occur on ruby-2.6.4.

History

Updated by nobu (Nobuyoshi Nakada) about 2 months ago

  • Status changed from Open to Feedback

Could you check the followings?

openssl.so refers EC_GROUP_new_curve_GF2m defined in libcrypto.so.

$ ldd .ext/x86_64-linux/openssl.so 
    linux-vdso.so.1 (0x00007ffc594d3000)
    libruby.so.2.7 => not found
    libssl.so.1.1 => /usr/lib/x86_64-linux-gnu/libssl.so.1.1 (0x00007f1809110000)
    libcrypto.so.1.1 => /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1 (0x00007f1808e42000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f1808c57000)
    libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f1808c36000)
    libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f1808c30000)
    /lib64/ld-linux-x86-64.so.2 (0x00007f1809221000)

$ nm -D /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1 | grep EC_GROUP_new_curve_GF2m
0000000000109e40 T EC_GROUP_new_curve_GF2m

And ext/openssl/Makefile has the line:

LIBS = $(LIBRUBYARG_SHARED) -lssl -lcrypto  -lm   -lc

Updated by mame (Yusuke Endoh) about 2 months ago

shevegen (Robert A. Heiler)

There is no change that seems to affect openssl or build process between ruby-2.6.4 and ruby-2.6.5. Do you mean that you could build ruby-2.6.4 before? Can you still build ruby-2.6.4 in your current environment?

And, are you using Linux From Scratch or something?

#3

Updated by jeremyevans0 (Jeremy Evans) about 1 month ago

  • Status changed from Feedback to Closed

Also available in: Atom PDF