Hello, I was trying to build webkit-gtk 2.50.4 on NetBSD 10.1/i386. Gcc
is 12.5. No prior programming experience, merely trying to sort out
based on errors.

The build begins, which I take as a good sign that all the critical
dependencies are met. As Cmake chugs along, it fails with
Javascriptcore/runtime.

---error log below---

In file included from
/usr/pkgsrc/www/webkit-gtk/work/webkitgtk-2.50.4/cmake-pkgsrc-build/JavaScriptCore/DerivedSources/unified-sources/UnifiedSource-f2e18ffc-31.cpp:1:
/usr/pkgsrc/www/webkit-gtk/work/webkitgtk-2.50.4/Source/JavaScriptCore/runtime/MathCommon.cpp:
In function 'float JSC::Math::f32_roundeven(float)':
/usr/pkgsrc/www/webkit-gtk/work/webkitgtk-2.50.4/Source/JavaScriptCore/runtime/MathCommon.cpp:629:83:
error: 'roundevenf' was not declared in this scope; did you mean
'roundf'? 629 | JSC_DEFINE_NOEXCEPT_JIT_OPERATION(f32_roundeven, float,
(float operand)) { return roundevenf(operand); } |
                                                             ^~~~~~~~~~
|
            roundf
/usr/pkgsrc/www/webkit-gtk/work/webkitgtk-2.50.4/Source/JavaScriptCore/runtime/MathCommon.cpp:
In function 'double JSC::Math::f64_roundeven(double)':
/usr/pkgsrc/www/webkit-gtk/work/webkitgtk-2.50.4/Source/JavaScriptCore/runtime/MathCommon.cpp:630:85:
error: 'roundeven' was not declared in this scope; did you mean
'f64_roundeven'? 630 | JSC_DEFINE_NOEXCEPT_JIT_OPERATION(f64_roundeven,
double, (double operand)) { return roundeven(operand); } |
                                                                       ^~~~~~~~~
|
              f64_roundeven gmake[2]: ***
[Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/build.make:2870:
Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/__/__/JavaScriptCore/DerivedSources/unified-sources/UnifiedSource-f2e18ffc-31.cpp.o]
Error 1 gmake[1]: *** [CMakeFiles/Makefile2:838:
Source/JavaScriptCore/CMakeFiles/JavaScriptCore.dir/all] Error 2 gmake:
*** [Makefile:156: all] Error 2 *** Error code 2

Stop.
make[1]: stopped in /usr/pkgsrc/www/webkit-gtk
*** Error code 1

Stop.
make: stopped in /usr/pkgsrc/www/webkit-gtk

---error log above---

I attempted to replace:
629 | JSC_DEFINE_NOEXCEPT_JIT_OPERATION(f32_roundeven, float, (float
operand)) { return roundevenf(operand); }

with:
629 | JSC_DEFINE_NOEXCEPT_JIT_OPERATION(f32_roundeven, float, (float
operand)) { return roundeven(operand); }

because I think the error suggested it, but that seems to also be
incorrect.

I then tried:
629 | JSC_DEFINE_NOEXCEPT_JIT_OPERATION(f32_roundeven, float, (float
operand)) { return f32_roundeven(operand); }

and likewise f64_roundeven on line 630.
The compile proceeded, until it gobbled up all available RAM while
working on Webcore, and died, but that is another saga for another post.

Questions:
1) What caused the initial roundeven error? the i386 ISA, gcc, or ?
2) Is this (e.g. f32_roundeven and f64_roundeven) correct for i386, and
would it cause problems on amd64 or other ISAs?
3) I would think in that case an ifdef which only patches on i386 but
NOT any unaffected ISA would be best, but have no idea how to make it
conditional, and would really appreciate help with that if it is
required.

Reply via email to