Forum: Ruby-dev [ruby-trunk - Bug #7451][Open] r37911 breaks build on non gcc or non IA-32 platforms

Posted by ngoto (Naohisa Goto) (Guest)
on 2012-11-28 07:12
(Received via mailing list)
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
Please log in before posting. Registration is free and takes only a minute.
Existing account (Switch to SSL-encrypted connection)
NEW: Do you have a Google/GoogleMail or Yahoo account? No registration required!
Log in with Google account | Log in with Yahoo account
No account? Register here.