Getting either this error:
/tmp/ruby-build.20170606034701.13481/ruby-2.3.4/lib/fileutils.rb:1748: [BUG] Segmentation fault at 0x00000000000001
ruby 2.3.4p301 (2017-03-30 revision 58214) [x86_64-linux]
-- Control frame information -----------------------------------------------
c:0011 p:---- s:0040 e:000039 CFUNC :module_eval
c:0010 p:0030 s:0034 e:000033 BLOCK /tmp/ruby-build.20170606034701.13481/ruby-2.3.4/lib/fileutils.rb:1748 [FINISH]
c:0009 p:---- s:0031 e:000030 CFUNC :each
c:0008 p:0065 s:0028 e:000027 CLASS /tmp/ruby-build.20170606034701.13481/ruby-2.3.4/lib/fileutils.rb:1747
c:0007 p:2099 s:0026 e:000025 CLASS /tmp/ruby-build.20170606034701.13481/ruby-2.3.4/lib/fileutils.rb:1742
c:0006 p:0009 s:0024 e:000023 TOP /tmp/ruby-build.20170606034701.13481/ruby-2.3.4/lib/fileutils.rb:88 [FINISH]
c:0005 p:---- s:0022 e:000021 CFUNC :require
c:0004 p:0017 s:0018 e:000017 TOP /tmp/ruby-build.20170606034701.13481/ruby-2.3.4/lib/mkmf.rb:7 [FINISH]
c:0003 p:---- s:0016 e:000015 CFUNC :load
c:0002 p:0082 s:0012 E:001470 EVAL ./enc/make_encmake.rb:8 [FINISH]
c:0001 p:0000 s:0002 E:001d30 (none) [FINISH]
-- Ruby level backtrace information ----------------------------------------
./enc/make_encmake.rb:8:in `<main>'
./enc/make_encmake.rb:8:in `load'
/tmp/ruby-build.20170606034701.13481/ruby-2.3.4/lib/mkmf.rb:7:in `<top (required)>'
/tmp/ruby-build.20170606034701.13481/ruby-2.3.4/lib/mkmf.rb:7:in `require'
/tmp/ruby-build.20170606034701.13481/ruby-2.3.4/lib/fileutils.rb:88:in `<top (required)>'
/tmp/ruby-build.20170606034701.13481/ruby-2.3.4/lib/fileutils.rb:1742:in `<module:FileUtils>'
/tmp/ruby-build.20170606034701.13481/ruby-2.3.4/lib/fileutils.rb:1747:in `<module:DryRun>'
/tmp/ruby-build.20170606034701.13481/ruby-2.3.4/lib/fileutils.rb:1747:in `each'
/tmp/ruby-build.20170606034701.13481/ruby-2.3.4/lib/fileutils.rb:1748:in `block in <module:DryRun>'
/tmp/ruby-build.20170606034701.13481/ruby-2.3.4/lib/fileutils.rb:1748:in `module_eval'
-- Machine register context ------------------------------------------------
RIP: 0x00007f40246556d1 RBP: 0x0000564ecb0c44a0 RSP: 0x00007fff3d683818
RAX: 0x0000564ecb0c44a8 RBX: 0x0000000000000031 RCX: 0x0000000000000001
RDX: 0x0000000000000188 RDI: 0x0000564ecb0c44a8 RSI: 0x0000000000000001
R8: 0x0000564ecb0c4490 R9: 0x0000564ecad2f9e8 R10: 0x0000564ecb01be70
R11: 0x000000000000001b R12: 0x0000000000000031 R13: 0x0000564ecb0c5980
R14: 0x0000000000000000 R15: 0x0000564ecb0c58e0 EFL: 0x0000000000010202
-- C level backtrace information -------------------------------------------
*** Error in `./miniruby': corrupted double-linked list: 0x0000564ecb0bf210 ***
verconf.h updated
compiling loadpath.c
linking static-library libruby-static.a
ar: `u' modifier ignored since `D' is the default (see `U')
verifying static-library libruby-static.a
Or this:
internal.h:84:30: warning: this use of "defined" may not be portable [-Wexpansion-to-defined]
compiling enc/ascii.c
compiling enc/us_ascii.c
compiling enc/unicode.c
compiling enc/utf_8.c
compiling enc/trans/newline.c
linking miniruby
generating encdb.h
rbconfig.rb updated
generating enc.mk
creating verconf.h
encdb.h updated
*** Error in `./miniruby': malloc(): memory corruption: 0x00007ffe3b464408 ***
======= Backtrace: =========
/usr/lib/libc.so.6(+0x7254c)[0x7f6739e8d54c]
/usr/lib/libc.so.6(+0x78bfb)[0x7f6739e93bfb]
/usr/lib/libc.so.6(+0x7b7a1)[0x7f6739e967a1]
/usr/lib/libc.so.6(__libc_malloc+0x78)[0x7f6739e97fb8]
./miniruby(+0xaa11c)[0x56140926b11c]
./miniruby(+0xfa557)[0x5614092bb557]
./miniruby(+0x10c01e)[0x5614092cd01e]
./miniruby(+0x111d33)[0x5614092d2d33]
./miniruby(+0x20aa99)[0x5614093cba99]
./miniruby(rb_iseq_compile_with_option+0x38d)[0x5614093a495d]
./miniruby(+0x1f99e2)[0x5614093ba9e2]
./miniruby(rb_mod_module_eval+0x165)[0x5614093c1115]
./miniruby(+0x1ec1f4)[0x5614093ad1f4]
./miniruby(+0x1f18f4)[0x5614093b28f4]
./miniruby(+0x1f789c)[0x5614093b889c]
./miniruby(+0x1f85dd)[0x5614093b95dd]
./miniruby(rb_yield+0x5f)[0x5614093c055f]
./miniruby(rb_ary_each+0x3c)[0x5614091ea1dc]
./miniruby(+0x1ec1f4)[0x5614093ad1f4]
./miniruby(+0x1f8cf9)[0x5614093b9cf9]
./miniruby(+0x1f92a3)[0x5614093ba2a3]
./miniruby(+0x1f19c4)[0x5614093b29c4]
./miniruby(+0x1f789c)[0x5614093b889c]
verconf.h updated
./miniruby(+0x867a9)[0x5614092477a9]
./miniruby(+0x894d8)[0x56140924a4d8]
./miniruby(rb_f_require+0x13)[0x56140924a5b3]
./miniruby(+0x1ec1f4)[0x5614093ad1f4]
./miniruby(+0x1f8cf9)[0x5614093b9cf9]
./miniruby(+0x1f92a3)[0x5614093ba2a3]
./miniruby(+0x1f18f4)[0x5614093b28f4]
./miniruby(+0x1f789c)[0x5614093b889c]
./miniruby(+0x867a9)[0x5614092477a9]
./miniruby(+0x86e12)[0x561409247e12]
./miniruby(+0x1ec1f4)[0x5614093ad1f4]
./miniruby(+0x1f8cf9)[0x5614093b9cf9]
./miniruby(+0x1f92a3)[0x5614093ba2a3]
./miniruby(+0x1f18f4)[0x5614093b28f4]
./miniruby(+0x1f789c)[0x5614093b889c]
./miniruby(+0x80e47)[0x561409241e47]
./miniruby(ruby_run_node+0x2f)[0x5614092456ff]
./miniruby(+0x2473b)[0x5614091e573b]
/usr/lib/libc.so.6(__libc_start_main+0xea)[0x7f6739e3b43a]
./miniruby(_start+0x2a)[0x5614091e576a]
======= Memory map: ========
5614091c1000-5614094b0000 r-xp 00000000 00:28 604320 /tmp/ruby-build.20170606034955.20910/ruby-2.3.4/miniruby
5614096b0000-5614096b5000 r--p 002ef000 00:28 604320 /tmp/ruby-build.20170606034955.20910/ruby-2.3.4/miniruby
5614096b5000-5614096b6000 rw-p 002f4000 00:28 604320 /tmp/ruby-build.20170606034955.20910/ruby-2.3.4/miniruby
5614096b6000-5614096c7000 rw-p 00000000 00:00 0
56140a8a5000-56140ac64000 rw-p 00000000 00:00 0 [heap]
7f6734000000-7f6734021000 rw-p 00000000 00:00 0
7f6734021000-7f6738000000 ---p 00000000 00:00 0
7f67394e1000-7f67394f7000 r-xp 00000000 00:15 416031 /usr/lib/libgcc_s.so.1
7f67394f7000-7f67396f6000 ---p 00016000 00:15 416031 /usr/lib/libgcc_s.so.1
7f67396f6000-7f67396f7000 r--p 00015000 00:15 416031 /usr/lib/libgcc_s.so.1
7f67396f7000-7f67396f8000 rw-p 00016000 00:15 416031 /usr/lib/libgcc_s.so.1
7f67396f8000-7f6739e1b000 r--p 00000000 00:15 41196 /usr/lib/locale/locale-archive
7f6739e1b000-7f6739fb7000 r-xp 00000000 00:15 3825 /usr/lib/libc-2.25.so
7f6739fb7000-7f673a1b6000 ---p 0019c000 00:15 3825 /usr/lib/libc-2.25.so
7f673a1b6000-7f673a1ba000 r--p 0019b000 00:15 3825 /usr/lib/libc-2.25.so
7f673a1ba000-7f673a1bc000 rw-p 0019f000 00:15 3825 /usr/lib/libc-2.25.so
7f673a1bc000-7f673a1c0000 rw-p 00000000 00:00 0
7f673a1c0000-7f673a2d0000 r-xp 00000000 00:15 3880 /usr/lib/libm-2.25.so
7f673a2d0000-7f673a4d0000 ---p 00110000 00:15 3880 /usr/lib/libm-2.25.so
7f673a4d0000-7f673a4d1000 r--p 00110000 00:15 3880 /usr/lib/libm-2.25.so
7f673a4d1000-7f673a4d2000 rw-p 00111000 00:15 3880 /usr/lib/libm-2.25.so
7f673a4d2000-7f673a4da000 r-xp 00000000 00:15 3871 /usr/lib/libcrypt-2.25.so
7f673a4da000-7f673a6da000 ---p 00008000 00:15 3871 /usr/lib/libcrypt-2.25.so
7f673a6da000-7f673a6db000 r--p 00008000 00:15 3871 /usr/lib/libcrypt-2.25.so
7f673a6db000-7f673a6dc000 rw-p 00009000 00:15 3871 /usr/lib/libcrypt-2.25.so
7f673a6dc000-7f673a70a000 rw-p 00000000 00:00 0
7f673a70a000-7f673a70d000 r-xp 00000000 00:15 3879 /usr/lib/libdl-2.25.so
7f673a70d000-7f673a90c000 ---p 00003000 00:15 3879 /usr/lib/libdl-2.25.so
7f673a90c000-7f673a90d000 r--p 00002000 00:15 3879 /usr/lib/libdl-2.25.so
7f673a90d000-7f673a90e000 rw-p 00003000 00:15 3879 /usr/lib/libdl-2.25.so
7f673a90e000-7f673a9a0000 r-xp 00000000 00:15 7267 /usr/lib/libgmp.so.10.3.2
7f673a9a0000-7f673ab9f000 ---p 00092000 00:15 7267 /usr/lib/libgmp.so.10.3.2
7f673ab9f000-7f673aba0000 r--p 00091000 00:15 7267 /usr/lib/libgmp.so.10.3.2
7f673aba0000-7f673aba1000 rw-p 00092000 00:15 7267 /usr/lib/libgmp.so.10.3.2
7f673aba1000-7f673abba000 r-xp 00000000 00:15 3806 /usr/lib/libpthread-2.25.so
7f673abba000-7f673adb9000 ---p 00019000 00:15 3806 /usr/lib/libpthread-2.25.so
7f673adb9000-7f673adba000 r--p 00018000 00:15 3806 /usr/lib/libpthread-2.25.so
7f673adba000-7f673adbb000 rw-p 00019000 00:15 3806 /usr/lib/libpthread-2.25.so
7f673adbb000-7f673adbf000 rw-p 00000000 00:00 0
7f673adbf000-7f673ade2000 r-xp 00000000 00:15 3824 /usr/lib/ld-2.25.so
7f673aeb4000-7f673afbb000 rw-p 00000000 00:00 0
7f673afdc000-7f673afdd000 rw-p 00000000 00:00 0
7f673afdd000-7f673afde000 ---p 00000000 00:00 0
7f673afde000-7f673afe1000 rw-p 00000000 00:00 0
7f673afe1000-7f673afe2000 r--p 00022000 00:15 3824 /usr/lib/ld-2.25.so
7f673afe2000-7f673afe3000 rw-p 00023000 00:15 3824 /usr/lib/ld-2.25.so
7f673afe3000-7f673afe4000 rw-p 00000000 00:00 0
7ffe3ac6a000-7ffe3b469000 rw-p 00000000 00:00 0 [stack]
7ffe3b4f0000-7ffe3b4f2000 r--p 00000000 00:00 0 [vvar]
7ffe3b4f2000-7ffe3b4f4000 r-xp 00000000 00:00 0 [vdso]
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0 [vsyscall]
compiling loadpath.c
make: *** [uncommon.mk:655: enc.mk] Aborted (core dumped)
make: *** Waiting for unfinished jobs...
When trying to compile Ruby 2.3.4
I'm getting the exact same error since yesterday:
[pabi@archlinux ~]$ uname -a
Linux archlinux 4.11.3-1-ARCH #1 SMP PREEMPT Sun May 28 10:40:17 CEST 2017 x86_64 GNU/Linux
...
7fe01fbac000-7fe01fbb0000 rw-p 00000000 00:00 0
7fe01fbb0000-7fe01fbd3000 r-xp 00000000 08:02 134388 /usr/lib/ld-2.25.so
7fe01fc11000-7fe01fda9000 r--p 00000000 08:02 157424 /usr/lib/locale/locale-archive
7fe01fda9000-7fe01fdaf000 rw-p 00000000 00:00 0
7fe01fdcd000-7fe01fdce000 rw-p 00000000 00:00 0
7fe01fdce000-7fe01fdcf000 ---p 00000000 00:00 0
7fe01fdcf000-7fe01fdd2000 rw-p 00000000 00:00 0
7fe01fdd2000-7fe01fdd3000 r--p 00022000 08:02 134388 /usr/lib/ld-2.25.so
7fe01fdd3000-7fe01fdd4000 rw-p 00023000 08:02 134388 /usr/lib/ld-2.25.so
7fe01fdd4000-7fe01fdd5000 rw-p 00000000 00:00 0
7ffea96ac000-7ffea9eab000 rw-p 00000000 00:00 0 [stack]
7ffea9f8a000-7ffea9f8c000 r--p 00000000 00:00 0 [vvar]
7ffea9f8c000-7ffea9f8e000 r-xp 00000000 00:00 0 [vdso]
ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0 [vsyscall]
BUILD FAILED (Arch rolling using ruby-build 20170523-7-g2de7a29)
Inspect or clean up the working tree at /tmp/ruby-build.20170606120722.398
Results logged to /tmp/ruby-build.20170606120722.398.log
Last 10 log lines:
linking miniruby
generating encdb.h
rbconfig.rb updated
generating enc.mk
creating verconf.h
encdb.h updated
verconf.h updated
compiling loadpath.c
make: *** [uncommon.mk:655: enc.mk] Aborted (core dumped)
make: *** Waiting for unfinished jobs....
The whole build log: https://pastebin.com/Jd9hj0Jk
I've tried doing all of the appropriate troubleshooting instructions over at https://github.com/rbenv/ruby-build/wiki, but none seem to work. (Used the openssl-1.0 package instead of Open SSL 1.1.0.f-1, even tried using clang as the compiler) If anyone can get a solution for this, please let us know.
Side note: ruby 2.4.1 installs fine though, at least on arch.
I'm also using Arch Linux and encountered this error. It appears to be an issue with gcc 7:
Downgrading to gcc 6 allowed me to build without error.
If having 7.1 gcc by default:
Then run:
CC=/usr/bin/gcc-5 \
PKG_CONFIG_PATH=/usr/lib/openssl-1.0/pkgconfig \
rbenv install 2.3.4
@vladimirtemnikov That worked! Maybe this should be added to the wiki?
sudo pacman -S gcc5
which gcc-5
$ /usr/sbin/gcc-5
gcc6 did it for me on openSUSE Tumbleweed 13.3.
Wiki's been updated. I also modified the build-environment package installation lines for each distro to include gcc-6 (or gcc-5, in the case of Arch -- that appears to be the consensus in this thread). If anyone knows whether that was unnecessary for a given distro, please make a correction.
Thanks!
Happened to me too! I tried many things including compiling openssl etc. Couldn't guess this would be a gcc problem. Will installing gcc-6 fix this or It needs more additional things to do?
As @wezm mentioned, this appears to be a compatibility issue with the Ruby source code and gcc7. Give it a shot and tell us how it goes; for more detailed directions, please consult the relevant section of the wiki.
Sorry I was using rvm and facing this issue https://github.com/rvm/rvm/issues/4057. However installing compat-openssl-devel didn't help. And I don't find any package providing gcc-6 for fedora 26
Try gcc5.
Where do I find gcc5 package for fedora 26? It's not showing in dnf
Unfortunately, I'm not on Fedora, so I can't say for sure. Here are two alternatives:
Good luck!
Thank you. I'll do.
@rlue The patch worked and I left the command that worked. I needed to use a special rvm syntax which I found buried deeply into the documentation. I'm now considering using rbenv
skip rbenv and just use chruby. It does what the rest do in a very clean way by altering paths rather than adding shims. Although you'll hit similar issues when compiling Ruby, at least older versions.
Duplicate of #1115
Most helpful comment
If having 7.1 gcc by default:
Then run: