Source: gauche-c-wrapper
Version: 0.6.1-12
Severity: normal
Tags: ftbfs patch
Justification: fails to build from source
X-Debbugs-Cc: [email protected]

Dear Maintainer,

gauche-c-wrapper failed to build on riscv64 because of a segfault in tests.
Attached is a patch that disables problematic tests in riscv64, thus solving
the issue.

If more help is needed, please let me know.

Cheers,
Eric

-- System Information:
Debian Release: bookworm/sid
  APT prefers unreleased
  APT policy: (500, 'unreleased'), (500, 'unstable')
merged-usr: no
Architecture: riscv64

Kernel: Linux 5.18.0-4-riscv64 (SMP w/8 CPU threads)
Locale: LANG=zh_CN.UTF-8, LC_CTYPE=zh_CN.UTF-8 (charmap=UTF-8), LANGUAGE not set
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
Description: Fix build error on riscv64
 Some tests result in segfault, so this patch disables them on riscv64.
Author: Eric Long <[email protected]>
Last-Update: 2022-08-19
--- a/testsuite/ctypestest.scm
+++ b/testsuite/ctypestest.scm
@@ -162,8 +162,13 @@
                     '(1 2 3) '(4 -9 6))
 (test-cstruct-array '(-0.5 0.0 0.5) "add_struct_array_float" <c-float> <real>
                     '(-1 1.5 1.75) '(0.5 -1.5 -1.25))
-(test-cstruct-array '(-0.5 0.0 0.5) "add_struct_array_double" <c-double> <real>
-                    '(-1 1.5 1.75) '(0.5 -1.5 -1.25))
+
+(define cpu_arch (list-ref (sys-uname) 4))
+(if (string=? cpu_arch "riscv64")
+  (display "Skipping test add_struct_array_double on riscv64")
+  (test-cstruct-array '(-0.5 0.0 0.5) "add_struct_array_double" <c-double> 
<real>
+                      '(-1 1.5 1.75) '(0.5 -1.5 -1.25)))
+
 (test-cstruct-array '("foo1" "bar2" "baz3") "add_struct_array_string"
                     (ptr <c-uchar>) <string>
                     '("foo" "bar" "baz") '("1" "2" "3"))
--- a/testsuite/cwrappertest.scm
+++ b/testsuite/cwrappertest.scm
@@ -147,10 +147,15 @@
                     (c-struct 'test_array_float)
                     <real>
                     '(-1 1.5 1.75) '(0.5 -1.5 -1.25))
-(test-cstruct-array '(-0.5 0.0 0.5) add_struct_array_double
-                    (c-struct 'test_array_double)
-                    <real>
-                    '(-1 1.5 1.75) '(0.5 -1.5 -1.25))
+
+(define cpu_arch (list-ref (sys-uname) 4))
+(if (string=? cpu_arch "riscv64")
+  (display "Skipping test add_struct_array_double on riscv64")
+  (test-cstruct-array '(-0.5 0.0 0.5) add_struct_array_double
+                      (c-struct 'test_array_double)
+                      <real>
+                      '(-1 1.5 1.75) '(0.5 -1.5 -1.25)))
+
 (test-cstruct-array '("foo1" "bar2" "baz3") add_struct_array_string
                     (c-struct 'test_array_string)
                     <string>

Reply via email to