** Description changed: ruby3.3 version 3.3.8-2ubuntu1 on questing is FTBFS on arm64, here are the relevant logs ``` vm_callinfo.h: In function ‘vm_ci_dump’: internal.h:93:72: error: ‘RUBY_FUNCTION_NAME_STRING’ undeclared (first use in this function) - 93 | #define rp(obj) rb_obj_info_dump_loc((VALUE)(obj), __FILE__, __LINE__, RUBY_FUNCTION_NAME_STRING) - | ^~~~~~~~~~~~~~~~~~~~~~~~~ + 93 | #define rp(obj) rb_obj_info_dump_loc((VALUE)(obj), __FILE__, __LINE__, RUBY_FUNCTION_NAME_STRING) + | ^~~~~~~~~~~~~~~~~~~~~~~~~ vm_callinfo.h:179:9: note: in expansion of macro ‘rp’ - 179 | rp(ci); - | ^~ + 179 | rp(ci); + | ^~ internal.h:93:72: note: each undeclared identifier is reported only once for each function it appears in - 93 | #define rp(obj) rb_obj_info_dump_loc((VALUE)(obj), __FILE__, __LINE__, RUBY_FUNCTION_NAME_STRING) - | ^~~~~~~~~~~~~~~~~~~~~~~~~ + 93 | #define rp(obj) rb_obj_info_dump_loc((VALUE)(obj), __FILE__, __LINE__, RUBY_FUNCTION_NAME_STRING) + | ^~~~~~~~~~~~~~~~~~~~~~~~~ vm_callinfo.h:179:9: note: in expansion of macro ‘rp’ - 179 | rp(ci); - | ^~ + 179 | rp(ci); + | ^~ vm_callinfo.h: In function ‘vm_ci_new_’: internal.h:93:72: error: ‘RUBY_FUNCTION_NAME_STRING’ undeclared (first use in this function) - 93 | #define rp(obj) rb_obj_info_dump_loc((VALUE)(obj), __FILE__, __LINE__, RUBY_FUNCTION_NAME_STRING) - | ^~~~~~~~~~~~~~~~~~~~~~~~~ + 93 | #define rp(obj) rb_obj_info_dump_loc((VALUE)(obj), __FILE__, __LINE__, RUBY_FUNCTION_NAME_STRING) + | ^~~~~~~~~~~~~~~~~~~~~~~~~ vm_callinfo.h:216:16: note: in expansion of macro ‘rp’ - 216 | if (debug) rp(ci); - | ^~ + 216 | if (debug) rp(ci); + | ^~ aarch64-linux-gnu-gcc -g -O2 -Werror=implicit-function-declaration -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -fdebug-prefix-map=/<<PKGBUILDDIR>>=/usr/src/ruby3.3-3.3.8-2ubuntu1 -fPIC -fstack-protector-strong -mbranch-protection=pac-ret -fno-strict-overflow -fvisibility=hidden -fexcess-precision=standard -DRUBY_EXPORT -I. -I.ext/include/aarch64-linux-gnu -I./include -I. -I./prism -I./enc/unicode/15.0.0 -Wdate-time -D_FORTIFY_SOURCE=3 -o debug.o -c debug.c aarch64-linux-gnu-gcc -g -O2 -Werror=implicit-function-declaration -fno-omit-frame-pointer -mno-omit-leaf-frame-pointer -ffile-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -fstack-clash-protection -Wformat -Werror=format-security -mbranch-protection=standard -fdebug-prefix-map=/<<PKGBUILDDIR>>=/usr/src/ruby3.3-3.3.8-2ubuntu1 -fPIC -fstack-protector-strong -mbranch-protection=pac-ret -fno-strict-overflow -fvisibility=hidden -fexcess-precision=standard -DRUBY_EXPORT -I. -I.ext/include/aarch64-linux-gnu -I./include -I. -I./prism -I./enc/unicode/15.0.0 -Wdate-time -D_FORTIFY_SOURCE=3 -o debug_counter.o -c debug_counter.c In file included from vm_core.h:94, - from eval_intern.h:5, - from debug.c:16: + from eval_intern.h:5, + from debug.c:16: vm_callinfo.h: In function ‘vm_ci_dump’: internal.h:93:72: error: ‘RUBY_FUNCTION_NAME_STRING’ undeclared (first use in this function) - 93 | #define rp(obj) rb_obj_info_dump_loc((VALUE)(obj), __FILE__, __LINE__, RUBY_FUNCTION_NAME_STRING) - | ^~~~~~~~~~~~~~~~~~~~~~~~~ + 93 | #define rp(obj) rb_obj_info_dump_loc((VALUE)(obj), __FILE__, __LINE__, RUBY_FUNCTION_NAME_STRING) + | ^~~~~~~~~~~~~~~~~~~~~~~~~ vm_callinfo.h:179:9: note: in expansion of macro ‘rp’ - 179 | rp(ci); - | ^~ + 179 | rp(ci); + | ^~ internal.h:93:72: note: each undeclared identifier is reported only once for each function it appears in - 93 | #define rp(obj) rb_obj_info_dump_loc((VALUE)(obj), __FILE__, __LINE__, RUBY_FUNCTION_NAME_STRING) - | ^~~~~~~~~~~~~~~~~~~~~~~~~ + 93 | #define rp(obj) rb_obj_info_dump_loc((VALUE)(obj), __FILE__, __LINE__, RUBY_FUNCTION_NAME_STRING) + | ^~~~~~~~~~~~~~~~~~~~~~~~~ vm_callinfo.h:179:9: note: in expansion of macro ‘rp’ - 179 | rp(ci); - | ^~ + 179 | rp(ci); + | ^~ vm_callinfo.h: In function ‘vm_ci_new_’: internal.h:93:72: error: ‘RUBY_FUNCTION_NAME_STRING’ undeclared (first use in this function) - 93 | #define rp(obj) rb_obj_info_dump_loc((VALUE)(obj), __FILE__, __LINE__, RUBY_FUNCTION_NAME_STRING) - | ^~~~~~~~~~~~~~~~~~~~~~~~~ + 93 | #define rp(obj) rb_obj_info_dump_loc((VALUE)(obj), __FILE__, __LINE__, RUBY_FUNCTION_NAME_STRING) + | ^~~~~~~~~~~~~~~~~~~~~~~~~ vm_callinfo.h:216:16: note: in expansion of macro ‘rp’ - 216 | if (debug) rp(ci); - | ^~ + 216 | if (debug) rp(ci); + | ^~ make[2]: *** [Makefile:447: debug.o] Error 1 make[2]: *** Waiting for unfinished jobs.... make[2]: *** [Makefile:447: compile.o] Error 1 make[2]: Leaving directory '/<<PKGBUILDDIR>>' dh_auto_build: error: make -j8 main V=1 returned exit code 2 make[1]: *** [debian/rules:113: override_dh_auto_build-arch] Error 25 ``` here, you can find the full logs: https://launchpad.net/~0xnishit/+archive/ubuntu/devel-packages-ppa this error remains same with/without enabling -proposed pocket as ppa deps The same issue reported on RH as well: https://bugzilla.redhat.com/show_bug.cgi?id=2343981 so as a temporary fix, adding these changes in d/rules should solve the above error ``` # See: Fix FTBFS on arm64 https://bugzilla.redhat.com/show_bug.cgi?id=2343981 ifneq (,$(filter $(DEB_HOST_ARCH),arm64)) export DEB_CFLAGS_MAINT_APPEND += -Wl,-z,gcs-report-dynamic=none endif ``` - but solving this issue is not enough to solve FTBFS, after this, the - test failure has been seen similar to https://bugs.ruby- - lang.org/issues/17878 - + but solving this issue is not enough to solve FTBFS, after this here is the relevant log for the test failure on arm64 ``` Finished in 54.74 sec Fiber count: 10000 (skipping) - #1247 test_ractor.rb:259: - def test n - rs = (1..n).map do |i| - Ractor.new(i) do |i| - "r#{i}" - end - end - as = [] - all_rs = rs.dup - - n.times{ - r, obj = Ractor.select(*rs) - as << [r, obj] - rs.delete(r) - } - - if as.map{|r, o| r.object_id}.sort == all_rs.map{|r| r.object_id}.sort && - as.map{|r, o| o}.sort == (1..n).map{|i| "r#{i}"}.sort - 'ok' - else - 'ng' - end - end - - 30.times.map{|i| - test i - } - #=> "" (expected "[\"ok\", \"ok\", \"ok\", \"ok\", \"ok\", \"ok\", \"ok\", \"ok\", \"ok\", \"ok\", \"ok\", \"ok\", \"ok\", \"ok\", \"ok\", \"ok\", \"ok\", \"ok\", \"ok\", \"ok\", \"ok\", \"ok\", \"ok\", \"ok\", \"ok\", \"ok\", \"ok\", \"ok\", \"ok\", \"ok\"]") + #1247 test_ractor.rb:259: + def test n + rs = (1..n).map do |i| + Ractor.new(i) do |i| + "r#{i}" + end + end + as = [] + all_rs = rs.dup + + n.times{ + r, obj = Ractor.select(*rs) + as << [r, obj] + rs.delete(r) + } + + if as.map{|r, o| r.object_id}.sort == all_rs.map{|r| r.object_id}.sort && + as.map{|r, o| o}.sort == (1..n).map{|i| "r#{i}"}.sort + 'ok' + else + 'ng' + end + end + + 30.times.map{|i| + test i + } + #=> "" (expected "[\"ok\", \"ok\", \"ok\", \"ok\", \"ok\", \"ok\", \"ok\", \"ok\", \"ok\", \"ok\", \"ok\", \"ok\", \"ok\", \"ok\", \"ok\", \"ok\", \"ok\", \"ok\", \"ok\", \"ok\", \"ok\", \"ok\", \"ok\", \"ok\", \"ok\", \"ok\", \"ok\", \"ok\", \"ok\", \"ok\"]") FAIL 1/1886 tests failed make[2]: *** [uncommon.mk:886: yes-btest-ruby] Error 1 make[2]: Leaving directory '/<<PKGBUILDDIR>>' make[1]: *** [debian/rules:130: override_dh_auto_test-arch] Error 2 make[1]: Leaving directory '/<<PKGBUILDDIR>>' make: *** [debian/rules:95: binary-arch] Error 2 dpkg-buildpackage: error: debian/rules binary-arch subprocess returned exit status 2 ``` Currently, as a temporary fix, I am skipping this test on arm64 in the newer version on questing
-- You received this bug notification because you are a member of Ubuntu Bugs, which is subscribed to Ubuntu. https://bugs.launchpad.net/bugs/2122520 Title: FTBFS ruby 3.3.8-2ubuntu1 on arm64 questing To manage notifications about this bug go to: https://bugs.launchpad.net/ubuntu/+source/ruby3.3/+bug/2122520/+subscriptions -- ubuntu-bugs mailing list [email protected] https://lists.ubuntu.com/mailman/listinfo/ubuntu-bugs
