[Ruby 1.9-Bug#4397][Open] test-mkmf fails due to compilation errors

Bug #4397: test-mkmf fails due to compilation errors
http://redmine.ruby-lang.org/issues/show/4397

起票者: Shyouhei U.
ステータス: Open, 優先度: Normal
ruby -v: ruby 1.9.3dev (2011-01-21) [x86_64-linux]

手元の環境では r30621 から以下のようにtest-allが失敗するようになっています。

http://www.atdot.net/sp/raw/vsnlgl

ちょっと変更の意図が分からないので説明していただけませんか。困っているので、特に意味が無いようであればrevertします。

あと以前から思っているのですが、ユーザーから渡されたコンパイルフラグを勝手に弄るのは感心しません。

2011$BG/(B2$B7n(B14$BF|(B18:12 Shyouhei U. [email protected]:

$B$A$g$C$HJQ99$N0U?^$,J,$+$i$J$$$N$G@bL@$7$F$$$?$@$1$^$;$s$+!#:$$C$F$$$k$N$G!“FC$K0UL#$,L5$$$h$&$G$”$l$P(Brevert$B$7$^$9!#(B

$B>.:j$G$9(B

$BHyL/$KEv;v<T$N$h$&$J5$$,$7$J$/$b$J$$$N$G$4@bL@$$$?$7$^$9!#(B

$B$^$:!"(Br30550$B$G(B -Werror=implicit-function-declaration
$B$,<+F0E*$KIU2C$5$l$k$h$&$K(B
$BJQ99$5$l$^$7$?!#(B

$B$3$l$K$h$j!"(B#include$B$,O3$l$F$$$F(Bimplicit
declaration$B$,B8:_$9$k(B
conftest$B$,8m$C$F<:GT$9$k$h$&$K$J$jF0$+$J$/$J$C$?$N$G!"KM$H6a1J$5$s$G$$$/$D$+(B
$B%F%9%H$rD>$7$^$7$?!J(Br30612, r30615, r30618$B!K(B

$B:G8e$K:#2sLdBj$K$J$C$F$$$k(Br30621$B$K$h$j:,K=$@5$H$7$F(Bconftest$BCf$O(B
-Werror=implicit-function-declaration $B$,<+F0IU2C$r$7$J$/$J$j$^$7$?!#(B

r30621$B$rF~$l$kA0$K(Bconfigure.in$B$N%F%9%H$O$@$$$?$$3NG’$7$?$N$G!“(Brevert$B$7$F$b(B
$BF0$/$h$&$J5$$O$7$F$$$^$9$,!”(BLinux$B$G$7$+%F%9%H$7$F$$$J$$$N$GB>$N(BOS$B$G$O(B
$B2?$+1F6A$,$“$k$+$b$7$l$^$;$s!#$^$”!"(Bconftest$B$N$[$&$rD>$;$P$9$`OC$J$N$G(B
$BBg$-$JLdBj$G$O$J$$$H;W$$$^$9!#(B

$B$“$H!”$&$A$N(Bx86_64
linux$B$G$O:F8=$7$J$$$N$G!“%G%#%9%H%j!”%+!<%M%k!“(Blibc$B$N(B
$B$=$l$>$l$N%P!<%8%g%s$r65$($F$/$@$5$$!#$”$HL@<(E*$KM?$($F$$$k(B
configure$B$H(B
make$B$N%*%W%7%g%s$b!#2DG=$JHO0O$GD4::$7$^$9!#(B

$B$“$H0JA0$+$i;W$C$F$$$k$N$G$9$,!”%f!<%6!<$+$iEO$5$l$?%3%s%Q%$%k%U%i%0$r>!<j$KO.$k$N$O46?4$7$^$;$s!#(B

$B$3$A$i$O7P0^$rCN$i$J$$$N$G%N!<%3%a%s%H$G$*4j$$$7$^$9!#(B

$B$3$l$G$b$^$@D9$$$H;W$o$l$k$N$G99$K2r@b$9$k$H!"(Bdebugflags$B$K$h$j(Bgcc$B$O(Bstrict
ansi

mode$B$K$J$C$F$*$j!"(Bwarnflags$B$G?t!9$N(Bgcc$B3HD%5!G=$r;H$C$?$H$-$N7Y9p$rM^@)$7$F$$$^(B

$B$9!#$J$N$G(Bwarnflags$B$@$1@Z$i$l$k$H(Bstrict
ansi$B$H$7$F%3%s%Q%$%k$7$h$&$H$7$F<:GT$9(B
$B$k$o$1!#(B

$B?F@Z$K$"$j$,$H$&$4$6$$$^$9!#:#8e$O;~4V$N$"$k$H$-$O$3$N%*%W%7%g%s$G$b%F%9%H$9$k$h$&$K$7$^$9!#(B

$B$H$3$m$G!“AGKQ$J5?Ld$J$s$G$9$,!”$3$l$N0U?^$O!)!V(Bgcc$B3HD%$r$&$C$+$j;H$C$F$7$^$C$F(Bportability$B$,2<$,$k$N$rKI$.$?$$!W$H$$$&0U?^$G$"$l$P%G%U%)%k%H$G$3$N%*%W%7%g%s$K$J$k$h$&$K$9$Y$-$G$O$J$$$s$G$7$g$&$+!)(B
$B:#$N$^$^$@$H<+A3$KKNIt$5$s$@$1$,LdBj$K$"$?$C$F!V$.$c$C!W$H6+$V9=?^$K$J$C$F$$$k$s$8$c$J$$$+$H;W$$$^$9$,$I$&$G$7$g$&$+(B

(2011/02/14 18:24), KOSAKI Motohiro wrote:

$B$^$:!"(Br30550$B$G(B -Werror=implicit-function-declaration
$B$,<+F0E*$KIU2C$5$l$k$h$&$K(B
$BJQ99$5$l$^$7$?!#(B

$B$3$l$K$h$j!"(B#include$B$,O3$l$F$$$F(Bimplicit declaration$B$,B8:_$9$k(B
conftest$B$,8m$C$F<:GT$9$k$h$&$K$J$jF0$+$J$/$J$C$?$N$G!"KM$H6a1J$5$s$G$$$/$D$+(B
$B%F%9%H$rD>$7$^$7$?!J(Br30612, r30615, r30618$B!K(B

$B:G8e$K:#2sLdBj$K$J$C$F$$$k(Br30621$B$K$h$j:,K=$@5$H$7$F(Bconftest$BCf$O(B
-Werror=implicit-function-declaration $B$,<+F0IU2C$r$7$J$/$J$j$^$7$?!#(B

r30621$B$NLdBjE@$O(B

warnflags=
$B$H$7$F%f!<%6!<$,M?$($?%U%i%0$r0l@ZL5;k$9$k$h$&$K$J$C$F$$$kE@$J$N$G!"$h$&$9$k$K(B
$B;&$7$9$.$G$9!#2<$K5-$7$?$H$*$j;d$N4D6-$G$O(Bwarnflags$B$G$o$6$o$6(B-Wno-long-long$B$H(B
$B$7$F7Y9p$rM^@)$7$F$$$?$N$K!"$=$NM^@)$^$G<h$j5n$C$F$$$k$N$,8m$j!#(B

r30621$B$rF~$l$kA0$K(Bconfigure.in$B$N%F%9%H$O$@$$$?$$3NG’$7$?$N$G!"(Brevert$B$7$F$b(B

$BF0$/$h$&$J5$$O$7$F$$$^$9$,!"(BLinux$B$G$7$+%F%9%H$7$F$$$J$$$N$GB>$N(BOS$B$G$O(B

$B2?$+1F6A$,$"$k$+$b$7$l$^$;$s!#$^$"!"(Bconftest$B$N$[$&$rD>$;$P$9$`OC$J$N$G(B
$BBg$-$JLdBj$G$O$J$$$H;W$$$^$9!#(B

$B$G$O(Brevert$B$9$kJ}8~$G!#(B

$B$"$H!"$&$A$N(Bx86_64
linux$B$G$O:F8=$7$J$$$N$G!"%G%#%9%H%j!"%+!<%M%k!"(Blibc$B$N(B
$B$=$l$>$l$N%P!<%8%g%s$r65$($F$/$@$5$$!#$"$HL@<(E*$KM?$($F$$$k(B configure$B$H(B
make$B$N%*%W%7%g%s$b!#2DG=$JHO0O$GD4::$7$^$9!#(B

$B$$$`$M$N>pJs$O<B$O$5$C$-=P$7$?(BURL$B$r$?$I$k$H=q$$$F$"$k$N$G$9$,$5$9$,$KD9$9$.(B
$B$FFI$a$J$$$O$:$J$N$G!“H4?h$9$k$H!”(B

  • Debian lenny (1/21$B$@$C$?$N$G(B), port amd64
    (i386$B$G$b8=>]3NG’:Q$_(B)
  • gcc-4.3 4.3.2-1.1
  • libc6 2.7-18lenny7
  • linux-image-2.6.32-26-server 2.6.32-26.48
  • configure$B$N%*%W%7%g%s$O!"(B
    /bin/sh /src/configure
    –cache-file=config.cache
    –prefix=/usr/local
    –enable-install-doc
    –with-valgrind
    CPPFLAGS="-D_FORTIFY_SOURCE=2 -D_BSD_SOURCE -D_SVID_SOURCE
    -D_POSIX_SOURCE -D_POSIX_C_SOURCE=200809L"
    optflags="-pipe -O0 -march=athlon64 -mcmodel=large"
    warnflags="echo -W{all,extra,undef,no-{format,long-long,parentheses,unused,sign-compare,missing-field-initializers}}"

    debugflags="-ggdb3 -std=iso9899:199409 -pedantic"
  • make$B$K$O%*%W%7%g%s$OIU$1$F$$$J$$(B

$B$3$l$G$b$^$@D9$$$H;W$o$l$k$N$G99$K2r@b$9$k$H!"(Bdebugflags$B$K$h$j(Bgcc$B$O(Bstrict
ansi
mode$B$K$J$C$F$*$j!"(Bwarnflags$B$G?t!9$N(Bgcc$B3HD%5!G=$r;H$C$?$H$-$N7Y9p$rM^@)$7$F$$$^(B
$B$9!#$J$N$G(Bwarnflags$B$@$1@Z$i$l$k$H(Bstrict
ansi$B$H$7$F%3%s%Q%$%k$7$h$&$H$7$F<:GT$9(B
$B$k$o$1!#(B

$B1sF#$G$9!#(B

2011$BG/(B2$B7n(B14$BF|(B19:53 Urabe S. [email protected]:

$B%G%U%)%k%H$G$3$N%*%W%7%g%s$K$J$k$h$&$K$9$Y$-$G$O$J$$$s$G$7$g$&$+!)(B

$B:#$N$^$^$@$H<+A3$KKNIt$5$s$@$1$,LdBj$K$"$?$C$F!V$.$c$C!W$H6+$V9=?^$K$J$C$F$$$k$s$8$c$J$$$+$H;W$$$^$9$,$I$&$G$7$g$&$+(B

$B$7$+$7%G%U%)%k%H$K$7$A$c$&$N$O$I$&$J$N$+$J$"!#$-$C$H(Bgcc$B3HD%$K0MB8$7$F$$$k3HD%(B

$B%i%$%V%i%j$H$+$$$C$Q$$$“$j$=$&$K;W$&$N$G!”%G%U%)%k%H$^$G9T$C$A$c$&$H$A$g$C$H$d(B

$B$j$9$.$N$h$&$J5$$b$7$^$9!#$"$/$^$G;d$N4D6-$G$OAG$N(Bruby$B$7$+%3%s%Q%$%k$7$J$$$+$i(B

$B$3$3$^$G$-$D$$@)8B$G$b<O$5$l$F$$$k$H$$$&5$$,$9$k!#(B

$BAG$N(B Ruby $B$G$b!“(Bgcc $B3HD%$,;H$($k>l9g$O;H$C$F$k$O$:$G$9!#(B
$B6qBNE*$K$O!”(BYARV $B$,(B labels as values $B$r;H$C$F(B direct
threaded code $B$r(B
$B<BAu$7$F$^$9!#$b$7$=$l$i$N%*%W%7%g%s$G$3$N:GE,2=$,8z$+$J$/$J$k$N$@$H$7$?$i(B
$BLdBj$G$9!#(B

(2011/02/14 19:33), KOSAKI Motohiro wrote:

$B$H$3$m$G!“AGKQ$J5?Ld$J$s$G$9$,!”$3$l$N0U?^$O!)!V(Bgcc$B3HD%$r$&$C$+$j;H$C$F$7$^$C$F(Bportability$B$,2<$,$k$N$rKI$.$?$$!W$H$$$&0U?^$G$"$l$P(B

$B$O$$!#KI$.$?$$$H$$$&$+8!=P$7$?$$$H;W$C$F$3$N$h$&$J@_Dj$K$J$C$F$$$^$9!#$7$?$,$C(B
$B$F$"$^$j7Y9p$,$?$/$5$s=P$k$HKd$b$l$F$7$^$C$F4r$7$/$J$$$G$9!#(B

$B%G%U%)%k%H$G$3$N%*%W%7%g%s$K$J$k$h$&$K$9$Y$-$G$O$J$$$s$G$7$g$&$+!)(B

$B:#$N$^$^$@$H<+A3$KKNIt$5$s$@$1$,LdBj$K$"$?$C$F!V$.$c$C!W$H6+$V9=?^$K$J$C$F$$$k$s$8$c$J$$$+$H;W$$$^$9$,$I$&$G$7$g$&$+(B

$B$7$+$7%G%U%)%k%H$K$7$A$c$&$N$O$I$&$J$N$+$J$"!#$-$C$H(Bgcc$B3HD%$K0MB8$7$F$$$k3HD%(B
$B%i%$%V%i%j$H$+$$$C$Q$$$"$j$=$&$K;W$&$N$G!"%G%U%)%k%H$^$G9T$C$A$c$&$H$A$g$C$H$d(B
$B$j$9$.$N$h$&$J5$$b$7$^$9!#$"$/$^$G;d$N4D6-$G$OAG$N(Bruby$B$7$+%3%s%Q%$%k$7$J$$$+$i(B
$B$3$3$^$G$-$D$$@)8B$G$b<O$5$l$F$$$k$H$$$&5$$,$9$k!#(B

(2011/02/14 20:05), Yusuke ENDOH wrote:

$BAG$N(B Ruby $B$G$b!"(Bgcc $B3HD%$,;H$($k>l9g$O;H$C$F$k$O$:$G$9!#(B
$B6qBNE*$K$O!"(BYARV $B$,(B labels as values $B$r;H$C$F(B direct threaded code
$B$r(B
$B<BAu$7$F$^$9!#$b$7$=$l$i$N%*%W%7%g%s$G$3$N:GE,2=$,8z$+$J$/$J$k$N$@$H$7$?$i(B
$BLdBj$G$9!#(B

$B$"$o$F$FJdB-$7$F$$/$H!"<j85$N$O$"$/$^$G$&$C$+$j%%9$NKI;$,L\E$G!"$A$c$s$H(B
configure$B$G;H$($k$+$I$&$+H=Dj$7$F$+$i;H$($J$$>l9g$N<!A1:v$r$-$A$s$HDs6!$7$?>e(B
$B$G;H$&J,$K$O$$$$$N$G$O$J$$$G$7$g$&$+!#(BVM$B$,2DG=$J>l9g$K8B$j(Bgoto
label$B$7$F$$$k$N(B
$B$r0-$$$3$H$@$H$O;W$$$^$;$s!#(B

$B$?$@$7$=$l$,$$$$$?$a$K$O(Bconfigure$B$GAv$i$;$k%F%9%H$,<B:]$K%3%s%Q%$%k$9$k$H$-$H(B
$B40`z$KF1$8>u67$G$"$kI,MW$,$"$k$O$:$G!"$G$J$$$H@5$7$/H=Dj$G$-$J$$$O$:$J$N$G$"(B
$B$j!"%f!<%6!<$+$i$b$i$C$?%U%i%0$rO.$k$J$H$$$&<gD%$O$D$^$jO.$C$F$7$^$&$H(B
configure$B$N7k2L$,?.MQ$G$-$J$/$J$k$H$$$&<gD%$G$b$"$j$^$9!#:#2s$N$h$&$K!#(B

チケット #4397 が更新されました。 (by Shyouhei U.)

ステータス OpenからClosedに変更
進捗 % 0から100に変更

This issue was solved with changeset r30872.
Shyouhei, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.


  • configure.in: revert r30621. That revision introduced mkmf test
    failures and it turned out to be OK to revert. [ruby-dev:43203]

$BKNIt$G$9!#(B

(2011/02/14 21:43), KOSAKI Motohiro wrote:

$B$H$J$C$F$$$k$N$G$9$,!"(Bwarnflags$B$r;XDj$9$k$H(Brb_cv_warnflags$B$,=i4|2=$5$l$J$$$N$G!"%9%/%j%W%H$N(B

$B:G8e$N(B warnflags="$rb_cv_warnflags"
$B$G(Bwarnflags$B$,6u$K$J$C$F$7$^$$$^$9!#$h$C$FE:IU$N$h$&$K(B
rb_cv_warnflags$B$N=i4|2=0LCV$r$:$i$7$F$d$l$PKNIt$5$s$N(B configure
option$B$G$b%3%s%Q%$%k=PMh$k$3$H$r(B
$B3NG’$7$^$7$?!#(B

$B$J$k$[$I!#(B

$B%3%s%Q%$%kITG=0J30$KH?BPM}M3$,$J$$$N$G$"$l$P!"CfED$5$s$N0U;W$rB:=E$7$F:F%3%_%C%H$7$h$&$+$H$b(B

$B;W$&$N$G$9$,!"$40U8+$*J9$+$;$/$@$5$$!#(B

$B$$$(!"%3%s%Q%$%kITG=0J30$K$OM}M3$O$"$j$^$;$s!#(B

$B:G8e$K:#2sLdBj$K$J$C$F$$$k(Br30621$B$K$h$j:,K=$@5$H$7$F(Bconftest$BCf$O(B
-Werror=implicit-function-declaration $B$,<+F0IU2C$r$7$J$/$J$j$^$7$?!#(B

r30621$B$NLdBjE@$O(B

warnflags=

$B$H$7$F%f!<%6!<$,M?$($?%U%i%0$r0l@ZL5;k$9$k$h$&$K$J$C$F$$$kE@$J$N$G!"$h$&$9$k$K(B

$B;&$7$9$.$G$9!#2<$K5-$7$?$H$*$j;d$N4D6-$G$O(Bwarnflags$B$G$o$6$o$6(B-Wno-long-long$B$H(B

$B$7$F7Y9p$rM^@)$7$F$$$?$N$K!"$=$NM^@)$^$G<h$j5n$C$F$$$k$N$,8m$j!#(B

$B$3$N@bL@$K0z$C$+$+$k$H$3$m$,$"$C$?$N$GD4$YD>$7$^$7$?!#(B
$B$J$<$J$i(B warnflags= $B$O(B if test “$GCC:${warnflags+set}:no” =
yes::no; then $B$N(Bif$BJ8$NCf$K$"$k$N$G(B
warnflags$B$r;XDj$7$?$H$-$ODL$i$J$$$O$:$@$+$i$G$9!#(B

$B7kO@$+$i$$$&$H!"(B

$B$b$7(Bwarnflags$B$,L$;XDj$G(BGCC$B$J$i(B

if test “$GCC:${warnflags+set}:no” = yes::no; then

warnflags$B$r0l;~E*$K6u$K$7$F!"$=$l$r(Brb_cv_warnings$B$KJ]B8(B

rb_cv_warnflags="$warnflags"
warnflags=
fi
($B$$$m$$$m$d$C$F!"%9%/%j%W%H$N:G8e$G(B)
warnflags="$rb_cv_warnflags"

$B$H$J$C$F$$$k$N$G$9$,!"(Bwarnflags$B$r;XDj$9$k$H(Brb_cv_warnflags$B$,=i4|2=$5$l$J$$$N$G!"%9%/%j%W%H$N(B
$B:G8e$N(B warnflags="$rb_cv_warnflags"
$B$G(Bwarnflags$B$,6u$K$J$C$F$7$^$$$^$9!#$h$C$FE:IU$N$h$&$K(B
rb_cv_warnflags$B$N=i4|2=0LCV$r$:$i$7$F$d$l$PKNIt$5$s$N(B configure
option$B$G$b%3%s%Q%$%k=PMh$k$3$H$r(B
$B3NG’$7$^$7$?!#(B

$B%3%s%Q%$%kITG=0J30$KH?BPM}M3$,$J$$$N$G$"$l$P!“CfED$5$s$N0U;W$rB:=E$7$F:F%3%_%C%H$7$h$&$+$H$b(B
$B;W$&$N$G$9$,!”$40U8+$*J9$+$;$/$@$5$$!#(B