Bug #7817
closed(Unable to compile Ruby 2.0.0-rc2 on OSX (clang version 2.1)
Description
clang -v returns
Apple clang version 2.1 (tags/Apple/clang-163.7.1) (based on LLVM 3.0svn)
Target: x86_64-apple-darwin12.2.0
Thread model: posix
Here's the make output:
https://gist.github.com/injekt/4e26a6dee2ce42fc463d
The same version compiles fine with gcc on the same system, and reportedly compiles without issues on more recent versions of clang
Updated by mame (Yusuke Endoh) over 11 years ago
- Status changed from Open to Feedback
Thank you for your report. Were you able to compile rc1 successfully?
--
Yusuke Endoh mame@tsg.ne.jp
Updated by kosaki (Motohiro KOSAKI) over 11 years ago
clang -v returns
Apple clang version 2.1 (tags/Apple/clang-163.7.1) (based on LLVM 3.0svn)
Target: x86_64-apple-darwin12.2.0
Thread model: posix
I recommend to use latest compiler. Following one works fine at least.
Old clang has plenty bugs.
Apple clang version 4.0 (tags/Apple/clang-421.0.57) (based on LLVM 3.1svn)
Target: x86_64-apple-darwin12.2.0
Thread model: posix
Updated by injekt (Lee Jarvis) over 11 years ago
I believe I did compile rc1 successfully but I can't reproduce since I have updated clang, chances are it probably doesn't compile properly, though.
I understand using an older version of clang would be an issue and that's fine, but we should state this in the install documentation somewhere, otherwise people using an older clang version having segfaults installing Ruby may not know to check this.
Updated by ko1 (Koichi Sasada) over 11 years ago
- Assignee set to mame (Yusuke Endoh)
- Priority changed from Normal to 5
Updated by mame (Yusuke Endoh) over 11 years ago
- Assignee changed from mame (Yusuke Endoh) to mrkn (Kenta Murata)
mrkn, what do you think?
--
Yusuke Endoh mame@tsg.ne.jp
Updated by naruse (Yui NARUSE) over 11 years ago
- Status changed from Feedback to Rejected
As I wrote in #5076, CRuby requires "Apple clang version 3.0 (tags/Apple/clang-211.10.1) (based on LLVM 3.0svn)" or later.
It is bundled with Xcode 4.2.
If you want to build old Xcode, use --with-gcc=gcc-4.2.
Old clang has many bugs like http://llvm.org/bugs/show_bug.cgi?id=8319
Updated by jhaungs (Jim Haungs) over 11 years ago
Compiling Ruby 2 RC2 with the latest Xcode fails on OSX 10.8.2.
clang -v
Apple LLVM version 4.2 (clang-425.0.24) (based on LLVM 3.2svn)
Target: x86_64-apple-darwin12.2.0
Thread model: posix
[2013-02-19 15:41:21] make
CC = gcc-4.2
LD = ld
LDSHARED = gcc-4.2 -dynamic -bundle
CFLAGS = -O3 -fno-fast-math -ggdb3 -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Werror=pointer-arith -Werror=write-strings -Werror=declaration-after-statement -Werror=shorten-64-to-32 -Werror=implicit-function-declaration -pipe
XCFLAGS = -include ruby/config.h -include ruby/missing.h -D_FORTIFY_SOURCE=2 -fstack-protector -fno-strict-overflow -fvisibility=hidden -DRUBY_EXPORT -fPIE
CPPFLAGS = -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE -D_DARWIN_UNLIMITED_SELECT -D_REENTRANT -I/Users/jhaungs/.rvm/usr/include -I/Users/jhaungs/.rvm/usr/include -I. -I.ext/include/x86_64-darwin12.2.0 -I./include -I.
DLDFLAGS = -Wl,-undefined,dynamic_lookup -Wl,-multiply_defined,suppress -L/Users/jhaungs/.rvm/usr/lib -L/Users/jhaungs/.rvm/usr/lib -fstack-protector -Wl,-u,_objc_msgSend -pie
SOLIBS =
compiling main.c
compiling dmydln.c
compiling dmyencoding.c
compiling version.c
compiling dmyversion.c
compiling miniprelude.c
translating probes probes.d
. ./vm_opts.h
compiling array.c
compiling bignum.c
compiling class.c
compiling compar.c
compiling complex.c
compiling dir.c
compiling dln_find.c
compiling enum.c
compiling enumerator.c
compiling error.c
compiling eval.c
compiling load.c
compiling proc.c
compiling file.c
compiling gc.c
compiling hash.c
compiling inits.c
compiling io.c
compiling marshal.c
compiling math.c
compiling node.c
compiling numeric.c
compiling object.c
compiling pack.c
compiling parse.c
compiling process.c
compiling random.c
compiling range.c
compiling rational.c
compiling re.c
compiling regcomp.c
compiling regenc.c
compiling regerror.c
compiling regexec.c
compiling regparse.c
compiling regsyntax.c
compiling ruby.c
compiling safe.c
compiling signal.c
compiling sprintf.c
compiling st.c
compiling strftime.c
compiling string.c
compiling struct.c
compiling time.c
compiling transcode.c
compiling util.c
compiling variable.c
compiling compile.c
compiling debug.c
compiling iseq.c
compiling vm.c
compiling vm_dump.c
compiling vm_backtrace.c
compiling vm_trace.c
compiling thread.c
compiling cont.c
compiling ./enc/ascii.c
compiling ./enc/us_ascii.c
compiling ./enc/unicode.c
compiling ./enc/utf_8.c
compiling newline.c
compiling ./missing/setproctitle.c
compiling dmyext.c
linking miniruby
/Users/jhaungs/.rvm/src/ruby-2.0.0-rc2/lib/fileutils.rb:111: [BUG] Stack consistency error (sp: 38, bp: 36)
ruby 2.0.0dev (2013-02-08 trunk 39161) [x86_64-darwin12.2.0]
-- Crash Report log information --------------------------------------------
See Crash Report log file under the one of following:
* ~/Library/Logs/CrashReporter
* /Library/Logs/CrashReporter
* ~/Library/Logs/DiagnosticReports
* /Library/Logs/DiagnosticReports
the more detail of.
-- Control frame information -----------------------------------------------
c:0006 p:0038 s:0038 e:000037 CLASS /Users/jhaungs/.rvm/src/ruby-2.0.0-rc2/lib/fileutils.rb:111
c:0005 p:0035 s:0034 e:000033 CLASS /Users/jhaungs/.rvm/src/ruby-2.0.0-rc2/lib/fileutils.rb:107
c:0004 p:0009 s:0032 e:000031 TOP /Users/jhaungs/.rvm/src/ruby-2.0.0-rc2/lib/fileutils.rb:85 [FINISH]
c:0003 p:---- s:0030 e:000029 CFUNC :require
c:0002 p:0098 s:0026 E:002468 EVAL ./tool/mkconfig.rb:11 [FINISH]
c:0001 p:0000 s:0002 E:0025b8 TOP [FINISH]
./tool/mkconfig.rb:11:in <main>' ./tool/mkconfig.rb:11:in
require'
/Users/jhaungs/.rvm/src/ruby-2.0.0-rc2/lib/fileutils.rb:85:in <top (required)>' /Users/jhaungs/.rvm/src/ruby-2.0.0-rc2/lib/fileutils.rb:107:in
module:FileUtils'
/Users/jhaungs/.rvm/src/ruby-2.0.0-rc2/lib/fileutils.rb:111:in `module:NoWrite'
-- C level backtrace information -------------------------------------------
0 miniruby 0x000000010d74ada4 rb_vm_bugreport + 164
1 miniruby 0x000000010d6228ee report_bug + 302
2 miniruby 0x000000010d622ba4 rb_bug + 180
3 miniruby 0x000000010d740e10 vm_exec_core + 32080
4 miniruby 0x000000010d740fee vm_exec + 94
5 miniruby 0x000000010d741eca rb_iseq_eval + 266
6 miniruby 0x000000010d627502 rb_load_internal + 306
7 miniruby 0x000000010d628c51 rb_require_safe + 1313
8 miniruby 0x000000010d730c04 call_cfunc_1 + 20
9 miniruby 0x000000010d737096 vm_call_cfunc + 1046
10 miniruby 0x000000010d745c20 vm_call_method + 224
11 miniruby 0x000000010d73c2d3 vm_exec_core + 12819
12 miniruby 0x000000010d740fee vm_exec + 94
13 miniruby 0x000000010d741d9e rb_iseq_eval_main + 206
14 miniruby 0x000000010d625c6f ruby_exec_internal + 111
15 miniruby 0x000000010d626c52 ruby_run_node + 82
16 miniruby 0x000000010d5ed0cf main + 79
17 libdyld.dylib 0x00007fff916917e1 start + 0
18 ??? 0x0000000000000009 0x0 + 9
-- Other runtime information -----------------------------------------------
-
Loaded script: ./tool/mkconfig.rb
-
Loaded features:
0 enumerator.so
[NOTE]
You may have encountered a bug in the Ruby interpreter or extension libraries.
Bug reports are welcome.
For details: http://www.ruby-lang.org/bugreport.html
make: *** [.rbconfig.time] Abort trap: 6
Updated by drbrain (Eric Hodel) over 11 years ago
jhaungs (Jim Haungs) wrote:
Compiling Ruby 2 RC2 with the latest Xcode fails on OSX 10.8.2.
clang -v
Apple LLVM version 4.2 (clang-425.0.24) (based on LLVM 3.2svn)
Target: x86_64-apple-darwin12.2.0
Thread model: posix[2013-02-19 15:41:21] make
CC = gcc-4.2
LD = ld
LDSHARED = gcc-4.2 -dynamic -bundle
You did not build with clang.
Updated by nobu (Nobuyoshi Nakada) over 11 years ago
Yeah, I did see this error with apple-gcc42.
Is it still alive, and is the fix needed?