[PATCH 1/8] tests: fix main symbol duplication
Pekka Paalanen
ppaalanen at gmail.com
Fri Feb 8 13:50:49 UTC 2019
On Fri, 8 Feb 2019 15:13:34 +0200
Leonid Bobrov <mazocomp at disroot.org> wrote:
> So far I got these errors before patching:
>
> libtool: link: cc -o .libs/headers-test -pthread -Wall -Wextra -Wno-unused-parameter -g -Wstrict-prototypes -Wmissing-prototypes -fvisibility=hidden -O2 -pipe tests/headers-test.o tests/headers-protocol-test.o tests/headers-protocol-core-test.o /tmp/obj/wayland-1.16.0/build-amd64/.libs/libtest-runner.a -L.libs -lwayland-client -lffi -lm -lwayland-server -lkvm -Wl,-rpath-link,/usr/local/lib
> ld: error: duplicate symbol: main
> >>> defined at headers-test.c:53 (/tmp/obj/wayland-1.16.0/wayland-1.16.0/tests/headers-test.c:53)
> >>> tests/headers-test.o:(main)
> >>> defined at test-runner.c:377 (/tmp/obj/wayland-1.16.0/wayland-1.16.0/tests/test-runner.c:377)
> >>> test-runner.o:(.text+0x250) in archive /tmp/obj/wayland-1.16.0/build-amd64/.libs/libtest-runner.a
>
> libtool: link: cc -o .libs/exec-fd-leak-checker -pthread -Wall -Wextra -Wno-unused-parameter -g -Wstrict-prototypes -Wmissing-prototypes -fvisibility=hidden -O2 -pipe tests/exec-fd-leak-checker.o /tmp/obj/wayland-1.16.0/build-amd64/.libs/libtest-runner.a -L.libs -lwayland-client -lffi -lm -lwayland-server -lkvm -Wl,-rpath-link,/usr/local/lib
> ld: error: duplicate symbol: main
> >>> defined at exec-fd-leak-checker.c:57 (/tmp/obj/wayland-1.16.0/wayland-1.16.0/tests/exec-fd-leak-checker.c:57)
> >>> tests/exec-fd-leak-checker.o:(main)
> >>> defined at test-runner.c:377 (/tmp/obj/wayland-1.16.0/wayland-1.16.0/tests/test-runner.c:377)
> >>> test-runner.o:(.text+0x250) in archive /tmp/obj/wayland-1.16.0/build-amd64/.libs/libtest-runner.a
>
> Makefile.am: error: object 'tests/test-helpers.$(OBJEXT)' created both with libtool and without
>
> libtool: link: cc -o .libs/fixed-benchmark -pthread -Wall -Wextra -Wno-unused-parameter -g -Wstrict-prototypes -Wmissing-prototypes -fvisibility=hidden -O2 -pipe tests/fixed-benchmark.o /tmp/obj/wayland-1.16.0/build-amd64/.libs/libtest-runner.a -L.libs -lwayland-client -lffi -lm -lwayland-server -lkvm -Wl,-rpath-link,/usr/local/lib
> ld: error: duplicate symbol: main
> >>> defined at fixed-benchmark.c:100 (/tmp/obj/wayland-1.16.0/wayland-1.16.0/tests/fixed-benchmark.c:100)
> >>> tests/fixed-benchmark.o:(main)
> >>> defined at test-runner.c:377 (/tmp/obj/wayland-1.16.0/wayland-1.16.0/tests/test-runner.c:377)
> >>> test-runner.o:(.text+0x250) in archive /tmp/obj/wayland-1.16.0/build-amd64/.libs/libtest-runner.a
>
> This commit fixes all of that.
>
> Signed-off-by: Leonid Bobrov <mazocomp at disroot.org>
> ---
> Makefile.am | 15 ++++++++-------
> 1 file changed, 8 insertions(+), 7 deletions(-)
>
> diff --git a/Makefile.am b/Makefile.am
> index 697c517..cce4d73 100644
> --- a/Makefile.am
> +++ b/Makefile.am
> @@ -210,12 +210,16 @@ noinst_PROGRAMS = \
> exec-fd-leak-checker \
> fixed-benchmark
>
> -noinst_LTLIBRARIES += libtest-runner.la
> +noinst_LTLIBRARIES += \
> + libtest-runner.la \
> + libtest-helpers.la
> +
> +libtest_helpers_la_SOURCES = tests/test-helpers.c
Hi Leonid,
this is a much better solution than I could have suggested.
> +libtest_helpers_la_LIBADD = -lrt -ldl $(FFI_LIBS)
It doesn't look like test-helpers.c needs these LIBADD at all, and
neither those that do not link to libtest_runner_la. How about keeping
these with libtest_runner_la instead?
Otherwise this patch looks good to me.
Thanks,
pq
>
> libtest_runner_la_SOURCES = \
> tests/test-runner.c \
> tests/test-runner.h \
> - tests/test-helpers.c \
> tests/test-compositor.h \
> tests/test-compositor.c
> libtest_runner_la_LIBADD = \
> @@ -223,8 +227,7 @@ libtest_runner_la_LIBADD = \
> libwayland-util.la \
> libwayland-client.la \
> libwayland-server.la \
> - -lrt -ldl $(FFI_LIBS)
> -
> + libtest-helpers.la
>
> array_test_SOURCES = tests/array-test.c
> array_test_LDADD = libtest-runner.la
> @@ -270,7 +273,6 @@ protocol_logger_test_LDADD = libtest-runner.la
> headers_test_SOURCES = tests/headers-test.c \
> tests/headers-protocol-test.c \
> tests/headers-protocol-core-test.c
> -headers_test_LDADD = libtest-runner.la
> nodist_headers_test_SOURCES = \
> protocol/wayland-server-protocol-core.h \
> protocol/wayland-client-protocol-core.h
> @@ -280,13 +282,12 @@ cpp_compile_test_SOURCES = tests/cpp-compile-test.cpp
> endif
>
> fixed_benchmark_SOURCES = tests/fixed-benchmark.c
> -fixed_benchmark_LDADD = libtest-runner.la
>
> os_wrappers_test_SOURCES = tests/os-wrappers-test.c
> os_wrappers_test_LDADD = libtest-runner.la
>
> exec_fd_leak_checker_SOURCES = tests/exec-fd-leak-checker.c
> -exec_fd_leak_checker_LDADD = libtest-runner.la
> +exec_fd_leak_checker_LDADD = libtest-helpers.la
>
> EXTRA_DIST += tests/scanner-test.sh \
> protocol/tests.xml \
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 833 bytes
Desc: OpenPGP digital signature
URL: <https://lists.freedesktop.org/archives/wayland-devel/attachments/20190208/d255bb93/attachment.sig>
More information about the wayland-devel
mailing list