** 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

Reply via email to