Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Fails to link for me in subprojects/libuv-v1.18.0/uvtest with multiple definition of handle'; subprojects/libuv-v1.18.0` and others. #213

Open
dreirund opened this issue Feb 26, 2023 · 2 comments

Comments

@dreirund
Copy link

Build fails for me during linking step with

[...]
[583/751] cc  -o subprojects/libuv-v1.18.0/uvtest subprojects/libuv-v1.18.0/uvtest.p/test_blackhole-server.c.o subprojects/libuv-v1.18.0/uvtest.p/test_dns-server.c.o subprojects/libuv-v1.18.0/uvtest.p/test_echo-server.c.o subprojects/libuv-v1.18.0/uvtest.p/test_run-tests.c.o subprojects/libuv-v1.18.0/uvtest.p/test_runner.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-active.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-async.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-async-null-cb.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-barrier.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-callback-order.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-callback-stack.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-close-fd.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-close-order.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-condvar.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-connection-fail.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-cwd-and-chdir.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-default-loop-close.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-delayed-accept.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-dlerror.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-eintr-handling.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-embed.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-emfile.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-env-vars.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-error.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-fail-always.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-fs-copyfile.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-fs-event.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-fs-poll.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-fs.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-fork.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-get-currentexe.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-get-loadavg.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-get-memory.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-get-passwd.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-getaddrinfo.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-gethostname.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-getnameinfo.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-getsockname.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-handle-fileno.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-homedir.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-hrtime.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-idle.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-ip4-addr.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-ip6-addr.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-ipc-send-recv.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-ipc.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-loop-handles.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-loop-alive.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-loop-close.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-loop-stop.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-loop-time.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-loop-configure.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-multiple-listen.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-mutexes.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-osx-select.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-pass-always.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-ping-pong.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-pipe-bind-error.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-pipe-connect-error.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-pipe-connect-multiple.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-pipe-connect-prepare.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-pipe-getsockname.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-pipe-pending-instances.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-pipe-sendmsg.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-pipe-server-close.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-pipe-close-stdout-read-stdin.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-pipe-set-non-blocking.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-pipe-set-fchmod.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-platform-output.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-poll.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-poll-close.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-poll-close-doesnt-corrupt-stack.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-poll-closesocket.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-poll-oob.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-process-title.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-queue-foreach-delete.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-ref.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-run-nowait.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-run-once.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-semaphore.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-shutdown-close.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-shutdown-eof.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-shutdown-twice.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-signal-multiple-loops.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-signal.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-socket-buffer-size.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-spawn.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-stdio-over-pipes.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-tcp-alloc-cb-fail.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-tcp-bind-error.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-tcp-bind6-error.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-tcp-close-accept.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-tcp-close-while-connecting.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-tcp-close.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-tcp-create-socket-early.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-tcp-connect-error-after-write.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-tcp-connect-error.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-tcp-connect-timeout.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-tcp-connect6-error.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-tcp-flags.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-tcp-open.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-tcp-read-stop.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-tcp-shutdown-after-write.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-tcp-unexpected-read.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-tcp-oob.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-tcp-write-to-half-open-connection.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-tcp-write-after-connect.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-tcp-writealot.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-tcp-write-fail.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-tcp-try-write.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-tcp-write-queue-order.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-thread-equal.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-thread.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-threadpool-cancel.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-threadpool.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-timer-again.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-timer-from-check.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-timer.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-tmpdir.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-tty.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-udp-alloc-cb-fail.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-udp-bind.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-udp-create-socket-early.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-udp-dgram-too-big.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-udp-ipv6.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-udp-multicast-interface.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-udp-multicast-interface6.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-udp-multicast-join.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-udp-multicast-join6.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-udp-multicast-ttl.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-udp-open.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-udp-options.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-udp-send-and-recv.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-udp-send-hang-loop.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-udp-send-immediate.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-udp-send-unreachable.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-udp-try-send.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-walk-handles.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-watcher-cross-stop.c.o subprojects/libuv-v1.18.0/uvtest.p/test_runner-unix.c.o -flto -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -pie -Wl,--start-group subprojects/libuv-v1.18.0/libuv.a -pthread -lutil -lm -ldl -Wl,--end-group
FAILED: subprojects/libuv-v1.18.0/uvtest
cc  -o subprojects/libuv-v1.18.0/uvtest subprojects/libuv-v1.18.0/uvtest.p/test_blackhole-server.c.o subprojects/libuv-v1.18.0/uvtest.p/test_dns-server.c.o subprojects/libuv-v1.18.0/uvtest.p/test_echo-server.c.o subprojects/libuv-v1.18.0/uvtest.p/test_run-tests.c.o subprojects/libuv-v1.18.0/uvtest.p/test_runner.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-active.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-async.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-async-null-cb.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-barrier.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-callback-order.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-callback-stack.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-close-fd.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-close-order.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-condvar.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-connection-fail.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-cwd-and-chdir.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-default-loop-close.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-delayed-accept.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-dlerror.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-eintr-handling.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-embed.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-emfile.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-env-vars.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-error.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-fail-always.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-fs-copyfile.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-fs-event.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-fs-poll.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-fs.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-fork.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-get-currentexe.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-get-loadavg.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-get-memory.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-get-passwd.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-getaddrinfo.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-gethostname.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-getnameinfo.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-getsockname.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-handle-fileno.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-homedir.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-hrtime.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-idle.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-ip4-addr.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-ip6-addr.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-ipc-send-recv.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-ipc.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-loop-handles.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-loop-alive.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-loop-close.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-loop-stop.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-loop-time.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-loop-configure.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-multiple-listen.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-mutexes.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-osx-select.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-pass-always.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-ping-pong.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-pipe-bind-error.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-pipe-connect-error.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-pipe-connect-multiple.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-pipe-connect-prepare.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-pipe-getsockname.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-pipe-pending-instances.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-pipe-sendmsg.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-pipe-server-close.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-pipe-close-stdout-read-stdin.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-pipe-set-non-blocking.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-pipe-set-fchmod.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-platform-output.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-poll.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-poll-close.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-poll-close-doesnt-corrupt-stack.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-poll-closesocket.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-poll-oob.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-process-title.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-queue-foreach-delete.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-ref.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-run-nowait.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-run-once.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-semaphore.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-shutdown-close.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-shutdown-eof.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-shutdown-twice.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-signal-multiple-loops.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-signal.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-socket-buffer-size.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-spawn.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-stdio-over-pipes.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-tcp-alloc-cb-fail.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-tcp-bind-error.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-tcp-bind6-error.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-tcp-close-accept.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-tcp-close-while-connecting.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-tcp-close.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-tcp-create-socket-early.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-tcp-connect-error-after-write.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-tcp-connect-error.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-tcp-connect-timeout.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-tcp-connect6-error.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-tcp-flags.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-tcp-open.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-tcp-read-stop.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-tcp-shutdown-after-write.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-tcp-unexpected-read.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-tcp-oob.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-tcp-write-to-half-open-connection.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-tcp-write-after-connect.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-tcp-writealot.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-tcp-write-fail.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-tcp-try-write.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-tcp-write-queue-order.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-thread-equal.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-thread.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-threadpool-cancel.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-threadpool.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-timer-again.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-timer-from-check.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-timer.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-tmpdir.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-tty.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-udp-alloc-cb-fail.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-udp-bind.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-udp-create-socket-early.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-udp-dgram-too-big.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-udp-ipv6.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-udp-multicast-interface.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-udp-multicast-interface6.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-udp-multicast-join.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-udp-multicast-join6.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-udp-multicast-ttl.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-udp-open.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-udp-options.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-udp-send-and-recv.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-udp-send-hang-loop.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-udp-send-immediate.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-udp-send-unreachable.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-udp-try-send.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-walk-handles.c.o subprojects/libuv-v1.18.0/uvtest.p/test_test-watcher-cross-stop.c.o subprojects/libuv-v1.18.0/uvtest.p/test_runner-unix.c.o -flto -Wl,--as-needed -Wl,--no-undefined -Wl,-O1 -pie -Wl,--start-group subprojects/libuv-v1.18.0/libuv.a -pthread -lutil -lm -ldl -Wl,--end-group
/usr/bin/ld: subprojects/libuv-v1.18.0/uvtest.p/test_test-poll-closesocket.c.o (symbol from plugin): in function `run_test_poll_closesocket':
(.text+0x0): multiple definition of `handle'; subprojects/libuv-v1.18.0/uvtest.p/test_test-poll-close-doesnt-corrupt-stack.c.o (symbol from plugin):(.text+0x0): first defined here
/usr/bin/ld: subprojects/libuv-v1.18.0/uvtest.p/test_test-poll-closesocket.c.o (symbol from plugin): in function `run_test_poll_closesocket':
(.text+0x0): multiple definition of `sock'; subprojects/libuv-v1.18.0/uvtest.p/test_test-poll-close-doesnt-corrupt-stack.c.o (symbol from plugin):(.text+0x0): first defined here
In function ‘uv_getnameinfo’,
    inlined from ‘run_test_getnameinfo_basic_ip4’ at ../gputop/subprojects/libuv-v1.18.0/test/test-getnameinfo.c:54:7:
../gputop/subprojects/libuv-v1.18.0/src/unix/getnameinfo.c:94:5: warning: ‘memcpy’ reading 28 bytes from a region of size 16 [-Wstringop-overread]
   94 |     memcpy(&req->storage,
      |     ^
../gputop/subprojects/libuv-v1.18.0/test/test-getnameinfo.c: In function ‘run_test_getnameinfo_basic_ip4’:
../gputop/subprojects/libuv-v1.18.0/test/test-getnameinfo.c:33:27: note: source object ‘addr4’ of size 16
   33 | static struct sockaddr_in addr4;
      |                           ^
In function ‘uv_getnameinfo’,
    inlined from ‘run_test_getnameinfo_basic_ip4_sync’ at ../gputop/subprojects/libuv-v1.18.0/test/test-getnameinfo.c:71:3:
../gputop/subprojects/libuv-v1.18.0/src/unix/getnameinfo.c:94:5: warning: ‘memcpy’ reading 28 bytes from a region of size 16 [-Wstringop-overread]
   94 |     memcpy(&req->storage,
      |     ^
../gputop/subprojects/libuv-v1.18.0/test/test-getnameinfo.c: In function ‘run_test_getnameinfo_basic_ip4_sync’:
../gputop/subprojects/libuv-v1.18.0/test/test-getnameinfo.c:33:27: note: source object ‘addr4’ of size 16
   33 | static struct sockaddr_in addr4;
      |                           ^
../gputop/subprojects/libuv-v1.18.0/test/test-poll-oob.c: In function ‘poll_cb’:
../gputop/subprojects/libuv-v1.18.0/test/test-poll-oob.c:94:9: warning: ‘strncmp’ specified bound [18446744071562067968, 18446744073709551615] exceeds maximum object size 9223372036854775807 [-Wstringop-overread]
   94 |         ASSERT(strncmp(buffer, "world", n) == 0);
      |         ^
collect2: error: ld returned 1 exit status
ninja: build stopped: subcommand failed.

Background information:

  • Operating system: Artix GNU/Linux (Arch Linux without systemd; rolling release)
  • gcc --version | head -n1:
    gcc (GCC) 12.2.1 20230201
  • CFLAGS=" -g0 -march=x86-64 -mtune=native -O3 -flto -ffat-lto-objects -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -fomit-frame-pointer -fPIC"
  • CXXFLAGS="-g0 -march=x86-64 -mtune=native -O3 -flto -ffat-lto-objects -pipe -fstack-protector --param=ssp-buffer-size=4 -D_FORTIFY_SOURCE=2 -fomit-frame-pointer -fPIC -fpermissive"
  • LDFLAGS="-Wl,-O1,--sort-common,--as-needed,-z,relro,--hash-style=gnu"
  • (Trying to) build with:
    • meson setup --prefix /usr --libexecdir lib --sbindir bin --buildtype release --auto-features enabled -Db_lto=true -Db_pie=true gputop build
    • meson configure --prefix /usr --buildtype release --default-library shared --optimization 3 -Dnative_ui=true
    • meson compile -j1 -v
@rbrisita
Copy link

I'm using Armbian 23.02 Jammy and exporting the LD_LIBRARY_PATH to where dpkg -L libuv1 lives seemed to help but I got further errors after: python reference and then after that wslay. To resolve further, make sure the python symlink /usr/bin/python points to python2 and not python3. Uninstalling python3 royally messed up my system and in the process of a reinstall. Will create an environment moving forward and will report back.

@rbrisita
Copy link

To successfully compile on an Intel CPU Debian based Linux machine:

Prep

  1. sudo apt-get install meson
  2. sudo apt-get install libssl-dev

wslay

  1. git clone https://github.com/tatsuhiro-t/wslay.git
  2. Build from git.
  3. make install
  4. Add path to built library to LD_LIBRARY_PATH.

GPU Top

  1. git clone https://github.com/rib/gputop.git
  2. Create a python environment that is Python 2 based.
  3. pip install Mako
  4. Build GPU Top.

Non-Intel CPUs

GPU Top is Intel based but can compile on non-Intel CPUs by replacing rmb() and mb() defines with an #else in server/gputop-perf.c and server/gputop-server.c and define them as:

#define rmb() (void)0
#define mb() (void)0

The caveat here is that it won't show any metrics. There are equivalents depending on architecture but that is where my research ends.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants