Reverts onlyoffice-documentserver to use the standard icu version again (which is icu76/icu77) as nodejs reverted to icu77 again.
This keeps the robust symlinking/development header fix from f9f60a4 to facilitate any future overrides.
onetbb often triggers compiler warnings upstream, and works around them
in an ad-hoc, per version manner:
88482f5f1abdbec20606
we encountered this failing while preparing for a gcc 16 upgrade in
Nixpkgs, and the same issue came up for gcc 15 and similar (#446139). it
is likely to come up again, as -Werror is extremely susceptible to
compiler and library changes (though onetbb admittedly has few
dependencies). additionally, while it may be useful for upstream onetbb,
it seems to provide little value to us downstream; we just end up
working around it. thus, we never treat warnings as errors by disabling
upstream's cmake flag for this purpose.
This is needed so that doctrenderer uses the same version of icu
as the nodejs.libv8 . This is a little scary because it's a different
version of icu than boost is built with, but seems to work out in
practice. After #520553 this should ideally be in sync again.
Fixes#536824
onnxruntime fails to load the CUDAExecutionProvider with an libonnxruntime_providers_cuda.so: undefined symbol: nvrtcGetProgramLogSize error.
cudnn-frontend >=1.19.0 now includes symbols provided by nvrtc but does
not ensure it is linked against it. Recent commits to onnxruntime add
the CUDA::nvrtc link target to resolve the issue. This adds the same
change here.
onnxruntime is currently failing on staging with:
```
/build/source/onnxruntime/test/ir/graph_test.cc:253:26: error: 'void google::protobuf::RepeatedField< <template-parameter-1-1> >::Resize(int, const Element&) [with Element = long int]' is deprecated [-Werror=deprecated-declarations]
253 | m_indicies_data->Resize(static_cast<int>(indices.size()), 0);
| ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
-- snip --
/build/source/onnxruntime/test/ir/graph_test.cc:257:16: error: 'void google::protobuf::RepeatedField< <template-parameter-1-1> >::Resize(int, const Element&) [with Element = long int]' is deprecated [-Werror=deprecated-declarations]
| ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
```
This is one of several cases of onnxruntime having broken on library
updates. This also occured in
d54a792625,
where we introduced a messy workaround by patching the library. We
believe this was a mistake.
In general, -Werror is highly susceptible to changes in libraries,
compilers, and other components. In Nixpkgs, we often move faster than
upstream, and that is extremely wont to cause breakage. Packages often
use warnings like deprecations to inform packages of changes in a
non-breaking way, but we are not able to meaningfully respond in
Nixpkgs. We can either just ignore the warnings, or patch away the
issues. The latter seems like a great deal of work for a
constantly-moving target (like the commit linked above), and provides
questionable utility.
Thus, we simply promote `--compile-no-warning-as-error` from being
CUDA-only to applying in all cases. This fixes the build failure on
staging as a side-effect of cleaning up this issue.
Alternatively, we could just use `-Wno-error=deprecated-declarations` or
patch, but we believe this is a more correct solution.