Project

General

Profile

Bug #14439

build failed on NetBSD 7.1 with MJIT

Added by usa (Usaku NAKAMURA) 12 months ago. Updated 12 months ago.

Status:
Closed
Priority:
Normal
Target version:
[ruby-dev:50464]

Description

MJITマージおめでとうございます。
というわけで手元のNetBSD/i386 7.1で試そうとしたら、残念ながらビルドエラーになりました。

error in final header file:
/tmp/20180204-20715-187ick.c:4961:1: error: static declaration of ‘sigaddset’ follows non-static declaration
 sigaddset(sigset_t *set, int signo)
 ^
compilation terminated due to -Wfatal-errors.
*** Error code 1

Stop.

よくわかりませんが、そのちょっと上で

transform_mjit_header: making external definition of 'sigfillset' static inline
transform_mjit_header: making external definition of 'sigemptyset' static inline
transform_mjit_header: making external definition of 'sigismember' static inline
transform_mjit_header: making external definition of 'sigdelset' static inline
transform_mjit_header: making external definition of 'sigaddset' static inline

とか言ってるのですが、libc提供関数をどうにかしようとしてるのはまずそうな雰囲気を感じます。
ちなみに、こいつらは /usr/include/signal.h の中でinline関数として定義されているっぽいです。

取り急ぎ報告まで。

Associated revisions

Revision e23aefe2
Added by k0kubun (Takashi Kokubun) 12 months ago

transform_mjit_header.rb: restrict transformation

to whitelisted patterns. This fix is for NetBSD.

[Bug #14439]

git-svn-id: svn+ssh://ci.ruby-lang.org/ruby/trunk@62235 b2dd03c8-39d4-4d8f-98ff-823fe69b080e

Revision 62235
Added by k0kubun (Takashi Kokubun) 12 months ago

transform_mjit_header.rb: restrict transformation

to whitelisted patterns. This fix is for NetBSD.

[Bug #14439]

Revision 62235
Added by k0kubun (Takashi Kokubun) 12 months ago

transform_mjit_header.rb: restrict transformation

to whitelisted patterns. This fix is for NetBSD.

[Bug #14439]

History

Updated by taca (Takahiro Kambe) 12 months ago

In message redmine.issue-14439.20180204122852.8b177c62b00fc2c1@ruby-lang.org
on Sun, 04 Feb 2018 12:28:54 +0000 (UTC),
usa@garbagecollect.jp wrote:

というわけで手元のNetBSD/i386 7.1で試そうとしたら、残念ながらビルドエラーになりました。
http://cvsweb.netbsd.org/bsdweb.cgi/pkgsrc/lang/ruby25-base/patches/patch-configure?rev=1.4

の、

@@ -20224,6 +20229,8 @@ else
# ifdef MSC_VER
# include
# define alloca _alloca
+# elif defined(
NetBSD) || defined(FreeBSD) || defined(DragonFly) || defined(OpenBSD_)
+# include
# else
# ifdef HAVE_ALLOCA_H
# include

辺りでしょうか?

--
神戸 隆博 / Takahiro Kambe

Updated by usa (Usaku NAKAMURA) 12 months ago

手元のconfigureには該当行は存在するので、たぶん関係ないかと。

#3

Updated by k0kubun (Takashi Kokubun) 12 months ago

  • Status changed from Assigned to Closed

Applied in changeset trunk|r62235.


transform_mjit_header.rb: restrict transformation

to whitelisted patterns. This fix is for NetBSD.

[Bug #14439]

Also available in: Atom PDF