On 8 Dec 2023, at 18:39, Dimitry Andric wrote:
The branch main has been updated by dim:

URL: https://cgit.FreeBSD.org/src/commit/?id=5c16e71d30c388dd43b217de10a3ccb4b0219d0d

commit 5c16e71d30c388dd43b217de10a3ccb4b0219d0d
Merge: b121cb0095c8 703029dbba78
Author:     Dimitry Andric <[email protected]>
AuthorDate: 2023-11-30 20:06:52 +0000
Commit:     Dimitry Andric <[email protected]>
CommitDate: 2023-12-08 17:35:59 +0000

    Merge llvm-project release/17.x llvmorg-17.0.6-0-g6009708b4367

This updates llvm, clang, compiler-rt, libc++, libunwind, lld, lldb and
    openmp to llvmorg-17.0.6-0-g6009708b4367.

    PR:             273753
    MFC after:      1 month

There appears to be some fallout in some ports.

For example, devel/ivykis (but also sysutils/flashrom and databases/rrdtool) fails like this:

/bin/sh ../libtool --tag=CC --mode=link cc -O2 -pipe -fstack-protector-strong -fno-strict-aliasing -Wall -version-info 5:6:5 -Wl,--version-script,../libivykis.posix.ver -fstack-protector-strong -o libivykis.la -rpath /usr/local/lib iv_avl.lo iv_event.lo iv_fatal.lo iv_task.lo iv_timer.lo iv_tls.lo iv_work.lo iv_event_raw_posix.lo iv_fd.lo iv_fd_poll.lo iv_fd_pump.lo iv_main_posix.lo iv_popen.lo iv_signal.lo iv_thread_posix.lo iv_tid_posix.lo iv_time_posix.lo iv_wait.lo iv_fd_kqueue.lo libtool: link: cc -shared -fPIC -DPIC .libs/iv_avl.o .libs/iv_event.o .libs/iv_fatal.o .libs/iv_task.o .libs/iv_timer.o .libs/iv_tls.o .libs/iv_work.o .libs/iv_event_raw_posix.o .libs/iv_fd.o .libs/iv_fd_poll.o .libs/iv_fd_pump.o .libs/iv_main_posix.o .libs/iv_popen.o .libs/iv_signal.o .libs/iv_thread_posix.o .libs/iv_tid_posix.o .libs/iv_time_posix.o .libs/iv_wait.o .libs/iv_fd_kqueue.o -O2 -fstack-protector-strong -Wl,--version-script -Wl,../libivykis.posix.ver -fstack-protector-strong -Wl,-soname -Wl,libivykis.so.0 -o .libs/libivykis.so.0.5.6 ld: error: version script assignment of 'IVYKIS_0.29' to symbol 'iv_inotify_register' failed: symbol not defined ld: error: version script assignment of 'IVYKIS_0.29' to symbol 'iv_inotify_unregister' failed: symbol not defined ld: error: version script assignment of 'IVYKIS_0.29' to symbol 'iv_inotify_watch_register' failed: symbol not defined ld: error: version script assignment of 'IVYKIS_0.29' to symbol 'iv_inotify_watch_unregister' failed: symbol not defined cc: error: linker command failed with exit code 1 (use -v to see invocation)

I believe the issue is that it doesn’t build inotify code on FreeBSD, but still mentions the relevant functions in the linker script. The other affected ports I’ve run into appear to have similar issues.

There’s likely to be a fair amount of fallout from that, e.g. https://github.com/llvm/llvm-project/issues/75056

I’m not sure what the best path forward is. Should we try to make ld warn but not fail on issues like that, or fix each affected port or ?

Best regards,
Kristof

Reply via email to