On Fri, Sep 11, 2020 at 10:57:34AM +1000, David Gibson wrote: > On Thu, Sep 10, 2020 at 07:16:19PM +0000, Kirill Smelkov wrote: > > With current Debian testing I get: > > > > tools/ccanlint/ccanlint -s --deps-fail-ignore ccan/compiler/ && touch > > ccan/compiler/.ok > > compiler: Module tests compile (tests_compile): FAIL > > > > /home/kirr/src/wendelin/wendelin.core/3rdparty/ccan/ccan/compiler/test/run-is_compile_constant.c:Compile > > failed: > > /usr/bin/ld: > > /tmp/ccanlint-129350.1804289383/tap.o:/home/kirr/src/wendelin/wendelin.core/3rdparty/ccan/ccan/tap/tap.h:249: > > multiple definition of `tap_fail_callback'; > > /tmp/ccrAwqbl.o:/home/kirr/src/wendelin/wendelin.core/3rdparty/ccan/ccan/tap/tap.h:249: > > first defined here > > collect2: error: ld returned 1 exit status > > ... > > > > cc -g3 -ggdb -Wall -Wstrict-prototypes -Wold-style-definition -Wundef > > -Wmissing-prototypes -Wmissing-declarations -Wpointer-arith -Wwrite-strings > > -DCCAN_STR_DEBUG=1 -I. -MMD -MP -MFtools/ccanlint/ccanlint.d > > -MTtools/ccanlint/ccanlint tools/ccanlint/ccanlint.c tools/ccanlint/async.o > > tools/ccanlint/file_analysis.o tools/ccanlint/licenses.o > > tools/ccanlint/tests/avoids_cpp_reserved.o > > tools/ccanlint/tests/depends_accurate.o > > tools/ccanlint/tests/depends_build.o > > tools/ccanlint/tests/depends_build_without_features.o > > tools/ccanlint/tests/depends_exist.o > > tools/ccanlint/tests/examples_compile.o > > tools/ccanlint/tests/examples_exist.o > > tools/ccanlint/tests/examples_relevant.o > > tools/ccanlint/tests/examples_run.o tools/ccanlint/tests/hash_if.o > > tools/ccanlint/tests/headers_idempotent.o > > tools/ccanlint/tests/info_compiles.o > > tools/ccanlint/tests/info_documentation_exists.o > > tools/ccanlint/tests/info_exists.o tools/ccanlint/tests/info_ported.o > > tools/ccanlint/tests/info_summary_single_line.o tools/cca nlin > > t/tests/license_comment.o tools/ccanlint/tests/license_depends_compat.o > > tools/ccanlint/tests/license_exists.o > > tools/ccanlint/tests/license_file_compat.o > > tools/ccanlint/tests/main_header_compiles.o > > tools/ccanlint/tests/main_header_exists.o > > tools/ccanlint/tests/module_builds.o tools/ccanlint/tests/module_links.o > > tools/ccanlint/tests/no_trailing_whitespace.o > > tools/ccanlint/tests/objects_build.o > > tools/ccanlint/tests/objects_build_with_stringchecks.o > > tools/ccanlint/tests/objects_build_without_features.o > > tools/ccanlint/tests/reduce_features.o tools/ccanlint/tests/tests_compile.o > > tools/ccanlint/tests/tests_compile_coverage.o > > tools/ccanlint/tests/tests_coverage.o tools/ccanlint/tests/tests_exist.o > > tools/ccanlint/tests/tests_helpers_compile.o > > tools/ccanlint/tests/tests_pass.o > > tools/ccanlint/tests/tests_pass_valgrind.o > > tools/ccanlint/tests/tests_pass_without_features.o ccan/autodata/autodata.o > > ccan/dgraph/dgraph.o ccan/ilog/ilog.o ccan/lbalance/lbalance.o > > ccan/ptr_valid/ptr_valid.o ccan/s trma > > p/strmap.o tools/ccan_dir.o tools/compi > > le.o tools/depends.o tools/doc_extract-core.o tools/gcov.o > > tools/manifest.o tools/read_config_header.o tools/tools.o > > ccan/asort/asort.o ccan/err/err.o ccan/foreach/foreach.o ccan/hash/hash.o > > ccan/htable/htable.o ccan/list/list.o ccan/membuf/membuf.o > > ccan/noerr/noerr.o ccan/opt/helpers.o ccan/opt/opt.o ccan/opt/parse.o > > ccan/opt/usage.o ccan/rbuf/rbuf.o ccan/read_write_all/read_write_all.o > > ccan/str/debug.o ccan/str/str.o ccan/take/take.o ccan/tal/tal.o > > ccan/tal/grab_file/grab_file.o ccan/tal/link/link.o ccan/tal/path/path.o > > ccan/tal/str/str.o ccan/time/time.o -lm -o tools/ccanlint/ccanlint > > /usr/bin/ld: > > tools/ccanlint/async.o:/home/kirr/src/wendelin/wendelin.core/3rdparty/ccan/tools/ccanlint/../ccanlint/licenses.h:33: > > multiple definition of `license_compatible'; > > /tmp/cc72h7qq.o:/home/kirr/src/wendelin/wendelin.core/3rdparty/ccan/tools/ccanlint/../ccanlint/licenses.h:33: > > first defined here > > /usr/bin/ld: > > tools/ccanlint/file_analysis.o:/home/kirr/src/wendelin/wendelin.core/3rdparty/ccan/tools/ccanlint/../ccanlint/licenses.h:33: > > multiple definition of `license_compatible'; > > /tmp/cc72h7qq.o:/home/kirr/src/wendelin/wendelin.core/3rdparty/ccan/tools/ccanlint/../ccanlint/licenses.h:33: > > first defined here > > /usr/bin/ld: > > tools/ccanlint/licenses.o:/home/kirr/src/wendelin/wendelin.core/3rdparty/ccan/tools/ccanlint/licenses.h:33: > > multiple definition of `license_compatible'; > > /tmp/cc72h7qq.o:/home/kirr/src/wendelin/wendelin.core/3rdparty/ccan/tools/ccanlint/../ccanlint/licenses.h:33: > > first defined here > > /usr/bin/ld: > > tools/ccanlint/tests/avoids_cpp_reserved.o:/home/kirr/src/wendelin/wendelin.core/3rdparty/ccan/./tools/ccanlint/../ccanlint/licenses.h:33: > > multiple definition of `license_compatible'; > > /tmp/cc72h7qq.o:/home/kirr/src/wendelin/wendelin.core/3rdparty/ccan/tools/ccanlint/../ccanlint/licenses.h:33: > > first defined > > here > > /usr/bin/ld: > > tools/ccanlint/tests/depends_accurate.o:/home/kirr/src/wendelin/wendelin.core/3rdparty/ccan/./tools/ccanlint/../ccanlint/licenses.h:33: > > multiple definition of `license_compatible'; > > /tmp/cc72h7qq.o:/home/kirr/src/wendelin/wendelin.core/3rdparty/ccan/tools/ccanlint/../ccanlint/licenses.h:33: > > first defined here > > /usr/bin/ld: > > tools/ccanlint/tests/depends_build.o:/home/kirr/src/wendelin/wendelin.core/3rdparty/ccan/./tools/ccanlint/../ccanlint/licenses.h:33: > > multiple definition of `license_compatible'; > > /tmp/cc72h7qq.o:/home/kirr/src/wendelin/wendelin.core/3rdparty/ccan/tools/ccanlint/../ccanlint/licenses.h:33: > > first defined here > > /usr/bin/ld: > > tools/ccanlint/tests/depends_build_without_features.o:/home/kirr/src/wendelin/wendelin.core/3rdparty/ccan/./tools/ccanlint/../ccanlint/licenses.h:33: > > multiple definition of `license_compatible'; > > /tmp/cc72h7qq.o:/home/kirr/src/wendelin/wendelin.core/3rdparty/ccan/tools/ccanlint/../ccanlint/licenses.h:33: > > first defined here > > ... > > > > The errors are valid becuase symbols are declared without extern in .h > > files and those .h files are included from multiple translation units. > > > > -> Fix it. I'm not sure why it used to compile ok before. > > > > Signed-off-by: Kirill Smelkov <k...@nexedi.com> > > Applied, thanks.
Thanks, David. _______________________________________________ ccan mailing list ccan@lists.ozlabs.org https://lists.ozlabs.org/listinfo/ccan