From: "ngoto (Naohisa Goto)" Date: 2012-11-28T15:12:14+09:00 Subject: [ruby-dev:46646] [ruby-trunk - Bug #7451][Open] r37911 breaks build on non gcc or non IA-32 platforms Issue #7451 has been reported by ngoto (Naohisa Goto). ---------------------------------------- Bug #7451: r37911 breaks build on non gcc or non IA-32 platforms https://bugs.ruby-lang.org/issues/7451 Author: ngoto (Naohisa Goto) Status: Open Priority: Normal Assignee: naruse (Yui NARUSE) Category: build Target version: ruby -v: - r37911 以降、__sync_val_compare_and_swap がリンク失敗したら必ず -march=i486 が付くため、 gccではないコンパイラ、またはIA-32ではない環境ではコンパイルに失敗します。 Sun(Oracle)の SolarisStudio 12.3 のccでは、-m はリンカに何かを渡すオプションらしく、 以下のようにminirubyのリンクに失敗します。Fujitsu C Compiler でも同様です。 cc -xO1 -xtarget=sparc64viiplus -m64 -march=i486 -L. -L/usr/local/64/lib -R/usr/local/64/lib -m64 main.o dmydln.o dmyencoding.o dmyversion.o miniprelude.o array.o bignum.o class.o compar.o complex.o dir.o dln_find.o enum.o enumerator.o error.o eval.o load.o proc.o file.o gc.o hash.o inits.o io.o marshal.o math.o node.o numeric.o object.o pack.o parse.o process.o random.o range.o rational.o re.o regcomp.o regenc.o regerror.o regexec.o regparse.o regsyntax.o ruby.o safe.o signal.o sprintf.o st.o strftime.o string.o struct.o time.o transcode.o util.o variable.o compile.o debug.o iseq.o vm.o vm_dump.o vm_backtrace.o vm_trace.o thread.o cont.o ascii.o us_ascii.o unicode.o utf_8.o newline.o sparc.o flock.o isinf.o setproctitle.o addr2line.o dmyext.o probes.o -lpthread -lrt -lsocket -ldl -lcrypt -lm -o miniruby cc: Warning: Option -march=i486 passed to ld, if ld is invoked, ignored otherwise ld: fatal: -c option is incompatible with building a static object (-dn, -r, --relocatable) ld: fatal: -a and relocatable object option (-r, --relocatable) are incompatible ld: fatal: flags processing errors make: *** [miniruby] Error 2 -- http://bugs.ruby-lang.org/