Open
Description
While building for i686-linux
locally on x86_64-linux
:
$ ./pre-inst-env guix build --no-grafts quickjs-ng -s i686-linux
...
starting phase `check'
../build/run-test262 -c tests.conf
Result: 0/33 errors, 4 excluded
tests/test_builtin.js:690: Error: assertion failed: got |29256|, expected |29312| (order of operations / precision in MakeTime)
Activity
saghul commentedon Mar 19, 2025
If you are building for i686 how are they being ran on x86_64?
Ashvith10 commentedon Mar 19, 2025
@saghul Guix has a documentation on this section - Native Builds - taking x86_64 as the host architecture and i686 as the target architecture in the example.
The test results for a select few system are available here.
There's also a comment left out at:
quickjs/tests/test_builtin.js
Lines 687 to 690 in 97e6ef9
Platform is "linux" in this case and that is why it continues into the assertion and then fails.
Ashvith10 commentedon Mar 19, 2025
@saghul I've tried the flag
-mpc64
, but as it turns out, it fails later for the tests inrun-test262 -m -c test262.conf -c test262-fast.conf -a
Ashvith10 commentedon Mar 20, 2025
After a little digging, I came across this. Maybe time will have to be handled depending on the system, as written in this SO page?
bnoordhuis commentedon Mar 20, 2025
Can you check if the patch below fixes the sumPrecise errors for you?
[-]Assertion error while building for i686-linux[/-][+]quickjs test suite fails on 32-bit systems due to size mismatches within `time_t` or related internal structs.[/+]saghul commentedon Apr 28, 2025
Ping?
Ashvith10 commentedon Apr 28, 2025
@saghul @bnoordhuis kindly ignore the previous comment - I've removed it as it was misleading. I've tried the patch, but the flags were incorrect, and it kept building for x86_64.
All I know from playing around the repo is that something related to JSValue's NaN boxing may be causing this issue.
Since this is beyond my expertise, unfortunately, I'll not be pursuing this issue anymore - but I'll leave it here in the open for anyone else who may be able to resolve this.