Can not compile the recent ruby 2.6.5 release due to some openssl-related issue (see issue description)
I am trying to compile the latest 2.6.5 release, just released recently:
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
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.
Updated by nobu (Nobuyoshi Nakada) about 2 months ago
- Status changed from Open to Feedback
Could you check the followings?
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
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?