rib / gputop

A GPU profiling tool
160 stars 37 forks source link

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 1 year ago

dreirund commented 1 year ago

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:

rbrisita commented 1 year ago

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 commented 1 year ago

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.