4.16.0 compile error: undefined symbol: ceil.
When build xfce4-panel 4.16.0 on OpenMandriva Cooker with Clang 11 compiler and with LTO enabled I see compile error:
make[4]: Leaving directory '/builddir/build/BUILD/xfce4-panel-4.16.0/plugins/systray'
DEBUG util.py:621: ld: error: undefined symbol: ceil
DEBUG util.py:621: >>> referenced by systray-box.c:549
DEBUG util.py:621: >>> lto.tmp:(systray_box_size_allocate)
DEBUG util.py:621: >>> referenced by systray-box.c:535
DEBUG util.py:621: >>> lto.tmp:(systray_box_size_allocate)
DEBUG util.py:621: >>> referenced by systray-box.c:372
DEBUG util.py:621: >>> lto.tmp:(systray_box_get_preferred_length)
DEBUG util.py:621: >>> referenced 1 more times
DEBUG util.py:621: clang-11: error: linker command failed with exit code 1 (use -v to see invocation)
DEBUG util.py:621: make[4]: *** [Makefile:651: libsystray.la] Error 1
DEBUG util.py:621: make[3]: *** [Makefile:579: all] Error 2
DEBUG util.py:621: make[2]: *** [Makefile:490: all-recursive] Error 1
DEBUG util.py:621: make[1]: *** [Makefile:615: all-recursive] Error 1
DEBUG util.py:621: make: *** [Makefile:526: all] Error 2
At first I thought it was LTO's fault (as you can see LTO releated stuff in build log). But after disabling LTO - build still failing, this time with same error messages but without LTO references.
ld: error: undefined symbol: ceil
DEBUG util.py:621: >>> referenced by systray-box.c:549
DEBUG util.py:621: >>> .libs/libsystray_la-systray-box.o:(systray_box_size_allocate)
DEBUG util.py:621: >>> referenced by systray-box.c:535
DEBUG util.py:621: >>> .libs/libsystray_la-systray-box.o:(systray_box_size_allocate)
DEBUG util.py:621: >>> referenced by systray-box.c:372
DEBUG util.py:621: >>> .libs/libsystray_la-systray-box.o:(systray_box_get_preferred_length)
DEBUG util.py:621: >>> referenced 1 more times
DEBUG util.py:621: clang-11: error: linker command failed with exit code 1 (use -v to see invocation)
Full build log: https://file-store.openmandriva.org/api/v1/file_stores/c8da6e4138069c345c2c47d85bb9bb372ac1e931.log?show=true
To workaround compiling I just use %define _disable_ld_no_undefined 1 flag and thanks to this compiling process ends without errors but this is not a proper fix and looks like thanks to this workaround I see xfce4 crash when trying to login to session. Regarding that crash - I have to check it out as it may be a separate problem. Although I cannot rule out that is related to this one. Perhaps I will create a separate report later.