Project

General

Profile

Actions

Bug #17212

closed

FreeBSDで3.0.0-preview1のビルドが失敗する

Added by yasuhirokimura (Yasuhiro KIMURA) 10 months ago. Updated about 1 month ago.

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

Description

題名の通り、FreeBSDで3.0.0-preview1のビルドが失敗します。

再現手順は以下の通り

  1. tar xfpvJ ruby-3.0.0-preview1.tar.xz
  2. cd ruby-3.0.0-preview1
  3. ./configure
  4. make

FreeBSD 12.1-RELEASE amd64では、以下のようなエラーとなります。

building .ext/include/x86_64-freebsd12.1/rb_mjit_min_header-3.0.0.h
./miniruby -I./lib -I. -I.ext/common  ./tool/transform_mjit_header.rb "clang -fdeclspec  -O3 -ggdb3 -Wall -Wextra -Werror=deprecated-declarations -Werror=division-by-zero -Werror=implicit-function-declaration -Werror=implicit-int -Werror=pointer-arith -Werror=shorten-64-to-32 -Werror=write-strings -Wmissing-noreturn -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wunused-variable -Werror=extra-tokens -std=gnu99 " rb_mjit_header.h .ext/include/x86_64-freebsd12.1/rb_mjit_min_header-3.0.0.h
transform_mjit_header: making external definition static inline: rb_vm_lvar_exposed, Init_vm_stack_canary, rb_vm_opt_cfunc_p, rb_find_defined_class_by_owner, rb_vm_rewrite_cref, rb_vm_block_ep_update, rb_vm_cref_new_toplevel, rb_vm_frame_block_handler, rb_vm_cframe_keyword_p, rb_vm_ep_local_ep
transform_mjit_header: making declaration static inline: rb_vm_lvar_exposed, Init_vm_stack_canary, rb_vm_rewrite_cref, rb_vm_frame_block_handler, rb_vm_block_ep_update, rb_vm_ep_local_ep
transform_mjit_header: SKIPPED to transform: toupper_l, tolower_l, digittoint_l, isxdigit_l, isupper_l, isspecial_l, isspace_l, isrune_l, ispunct_l, isprint_l, isphonogram_l, isnumber_l, islower_l, isideogram_l, ishexnumber_l, isgraph_l, isdigit_l, iscntrl_l, isblank_l, isalpha_l, isalnum_l, __sbistype_l, __sbmaskrune_l
ln -sf ../../../.ext/include/x86_64-freebsd12.1/rb_mjit_min_header-3.0.0.h include/ruby-3.0.0/x86_64-freebsd12.1/rb_mjit_min_header-3.0.0.h
./revision.h unchanged
generating encdb.h
encdb.h updated
generating enc.mk
making srcs under enc
generating transdb.h
transdb.h updated
compiling dln.c
compiling localeinit.c
creating verconf.h
verconf.h updated
compiling loadpath.c
builtin_binary.inc updated
compiling builtin.c
generating a glommed object with DTrace probes for static library
ld: error: attempted static link of dynamic object /usr/lib/libgcc_s.so
ld: error: attempted static link of dynamic object /usr/lib/libgcc_s.so
clang: error: linker command failed with exit code 1 (use -v to see invocation)
*** Error code 1

Stop.
make: stopped in /usr0/tmp/ruby-3.0.0-preview1

また FreeBSD 11.4-RELEASE amd64では、以下のような少し違った結果となります。

building .ext/include/x86_64-freebsd11.4/rb_mjit_min_header-3.0.0.h
./miniruby -I./lib -I. -I.ext/common  ./tool/transform_mjit_header.rb "clang -fdeclspec  -O3 -ggdb3 -Wall -Wextra -Werror=deprecated-declarations -Werror=division-by-zero -Werror=implicit-function-declaration -Werror=implicit-int -Werror=misleading-indentation -Werror=pointer-arith -Werror=shorten-64-to-32 -Werror=write-strings -Wmissing-noreturn -Wno-constant-logical-operand -Wno-long-long -Wno-missing-field-initializers -Wno-overlength-strings -Wno-parentheses-equality -Wno-self-assign -Wno-tautological-compare -Wno-unused-parameter -Wno-unused-value -Wunused-variable -Werror=extra-tokens -std=gnu99 " rb_mjit_header.h .ext/include/x86_64-freebsd11.4/rb_mjit_min_header-3.0.0.h
transform_mjit_header: making external definition static inline: rb_vm_lvar_exposed, Init_vm_stack_canary, rb_vm_opt_cfunc_p, rb_find_defined_class_by_owner, rb_vm_rewrite_cref, rb_vm_block_ep_update, rb_vm_cref_new_toplevel, rb_vm_frame_block_handler, rb_vm_cframe_keyword_p, rb_vm_ep_local_ep
transform_mjit_header: making declaration static inline: rb_vm_lvar_exposed, Init_vm_stack_canary, rb_vm_rewrite_cref, rb_vm_frame_block_handler, rb_vm_block_ep_update, rb_vm_ep_local_ep
transform_mjit_header: SKIPPED to transform: toupper_l, tolower_l, digittoint_l, isxdigit_l, isupper_l, isspecial_l, isspace_l, isrune_l, ispunct_l, isprint_l, isphonogram_l, isnumber_l, islower_l, isideogram_l, ishexnumber_l, isgraph_l, isdigit_l, iscntrl_l, isblank_l, isalpha_l, isalnum_l, __sbistype_l, __sbmaskrune_l
ln -sf ../../../.ext/include/x86_64-freebsd11.4/rb_mjit_min_header-3.0.0.h include/ruby-3.0.0/x86_64-freebsd11.4/rb_mjit_min_header-3.0.0.h
./revision.h unchanged
generating encdb.h
encdb.h updated
generating enc.mk
making srcs under enc
generating transdb.h
transdb.h updated
compiling dln.c
compiling localeinit.c
creating verconf.h
verconf.h updated
compiling loadpath.c
builtin_binary.inc updated
compiling builtin.c
generating a glommed object with DTrace probes for static library
/usr/bin/ld: cannot find -lgcc_s
clang: error: linker command failed with exit code 1 (use -v to see invocation)
*** Error code 1

Stop.
make: stopped in /usr0/tmp/ruby-3.0.0-preview1

念のためOSをクリーンインストールしてbase system以外のアプリケーションやライブラリが一切インストールされていない状況で試してみましたが、結果は同じでした。


Related issues

Related to Ruby master - Bug #16674: Build issue of FreeBSD 12Closedknu (Akinori MUSHA)Actions

Updated by hsbt (Hiroshi SHIBATA) 10 months ago

FreeBSD 13 については、https://bugs.ruby-lang.org/issues/16674 にあるように --disable-dtrace つけるとどうでしょうか?

Actions #2

Updated by hsbt (Hiroshi SHIBATA) 10 months ago

  • Related to Bug #16674: Build issue of FreeBSD 12 added
Actions #3

Updated by hsbt (Hiroshi SHIBATA) 9 months ago

  • Status changed from Open to Feedback

Updated by jeremyevans0 (Jeremy Evans) about 1 month ago

  • Status changed from Feedback to Closed

I believe this was fixed by 78677f105df79e45dec451b56947509fc71c6f57, which disabled dtrace by default when building on FreeBSD. Ruby 3.0 and the master branch can both build correctly on FreeBSD 12.2 (tested on RubyCI). We have #16674 related to tracking the dtrace issue, so I'm going to close this.

Actions

Also available in: Atom PDF