Skip to content

Building from tarball: ld fails with "multiple definition" errors #1552

Open
@AleksejK1

Description

@AleksejK1

Trying to build from the_silver_searcher-2.2.0.tar.gz after unpacking and ./configure:

  CC       src/ignore.o
  CC       src/log.o
  CC       src/options.o
  CC       src/print.o
  CC       src/print_w32.o
  CC       src/scandir.o
  CC       src/search.o
  CC       src/lang.o
src/lang.c: In function ‘combine_file_extensions’:
src/lang.c:191:13: warning: ‘strncpy’ output truncated before terminating nul copying as many bytes from a string as its length [-Wstringop-truncation]
  191 |             strncpy(pos, ext, strlen(ext));
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/lang.c:191:13: note: length computed here
  191 |             strncpy(pos, ext, strlen(ext));
      |             ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
  CC       src/util.o
  CC       src/decompress.o
src/decompress.c: In function ‘decompress_zlib’:
src/decompress.c:52:22: warning: cast discards ‘const’ qualifier from pointer target type [-Wcast-qual]
   52 |     stream.next_in = (Bytef *)buf;
      |                      ^
  CC       src/main.o
  CC       src/zfile.o
  CCLD     ag
/usr/bin/ld: src/log.o:/dev/shm/the_silver_searcher-2.2.0/src/util.h:54: multiple definition of `stats'; src/ignore.o:/dev/shm/the_silver_searcher-2.2.0/src/util.h:54: first defined here
/usr/bin/ld: src/log.o:/dev/shm/the_silver_searcher-2.2.0/src/util.h:15: multiple definition of `out_fd'; src/ignore.o:/dev/shm/the_silver_searcher-2.2.0/src/util.h:15: first defined here
/usr/bin/ld: src/log.o:/dev/shm/the_silver_searcher-2.2.0/src/options.h:94: multiple definition of `opts'; src/ignore.o:/dev/shm/the_silver_searcher-2.2.0/src/options.h:94: first defined here
/usr/bin/ld: src/log.o:/dev/shm/the_silver_searcher-2.2.0/src/log.h:12: multiple definition of `print_mtx'; src/ignore.o:/dev/shm/the_silver_searcher-2.2.0/src/log.h:12: first defined here
/usr/bin/ld: src/options.o:/dev/shm/the_silver_searcher-2.2.0/src/util.h:54: multiple definition of `stats'; src/ignore.o:/dev/shm/the_silver_searcher-2.2.0/src/util.h:54: first defined here
/usr/bin/ld: src/options.o:/dev/shm/the_silver_searcher-2.2.0/src/util.h:15: multiple definition of `out_fd'; src/ignore.o:/dev/shm/the_silver_searcher-2.2.0/src/util.h:15: first defined here
/usr/bin/ld: src/options.o:/dev/shm/the_silver_searcher-2.2.0/src/options.h:94: multiple definition of `opts'; src/ignore.o:/dev/shm/the_silver_searcher-2.2.0/src/options.h:94: first defined here
/usr/bin/ld: src/options.o:/dev/shm/the_silver_searcher-2.2.0/src/log.h:12: multiple definition of `print_mtx'; src/ignore.o:/dev/shm/the_silver_searcher-2.2.0/src/log.h:12: first defined here
/usr/bin/ld: src/options.o:/dev/shm/the_silver_searcher-2.2.0/src/ignore.h:32: multiple definition of `root_ignores'; src/ignore.o:/dev/shm/the_silver_searcher-2.2.0/src/ignore.h:32: first defined here
/usr/bin/ld: src/print.o:/dev/shm/the_silver_searcher-2.2.0/src/util.h:54: multiple definition of `stats'; src/ignore.o:/dev/shm/the_silver_searcher-2.2.0/src/util.h:54: first defined here
/usr/bin/ld: src/print.o:/dev/shm/the_silver_searcher-2.2.0/src/util.h:15: multiple definition of `out_fd'; src/ignore.o:/dev/shm/the_silver_searcher-2.2.0/src/util.h:15: first defined here
/usr/bin/ld: src/print.o:/dev/shm/the_silver_searcher-2.2.0/src/options.h:94: multiple definition of `opts'; src/ignore.o:/dev/shm/the_silver_searcher-2.2.0/src/options.h:94: first defined here
/usr/bin/ld: src/print.o:/dev/shm/the_silver_searcher-2.2.0/src/log.h:12: multiple definition of `print_mtx'; src/ignore.o:/dev/shm/the_silver_searcher-2.2.0/src/log.h:12: first defined here
/usr/bin/ld: src/print.o:/dev/shm/the_silver_searcher-2.2.0/src/ignore.h:32: multiple definition of `root_ignores'; src/ignore.o:/dev/shm/the_silver_searcher-2.2.0/src/ignore.h:32: first defined here
/usr/bin/ld: src/scandir.o:/dev/shm/the_silver_searcher-2.2.0/src/util.h:54: multiple definition of `stats'; src/ignore.o:/dev/shm/the_silver_searcher-2.2.0/src/util.h:54: first defined here
/usr/bin/ld: src/scandir.o:/dev/shm/the_silver_searcher-2.2.0/src/util.h:15: multiple definition of `out_fd'; src/ignore.o:/dev/shm/the_silver_searcher-2.2.0/src/util.h:15: first defined here
/usr/bin/ld: src/scandir.o:/dev/shm/the_silver_searcher-2.2.0/src/options.h:94: multiple definition of `opts'; src/ignore.o:/dev/shm/the_silver_searcher-2.2.0/src/options.h:94: first defined here
/usr/bin/ld: src/scandir.o:/dev/shm/the_silver_searcher-2.2.0/src/log.h:12: multiple definition of `print_mtx'; src/ignore.o:/dev/shm/the_silver_searcher-2.2.0/src/log.h:12: first defined here
/usr/bin/ld: src/scandir.o:/dev/shm/the_silver_searcher-2.2.0/src/ignore.h:32: multiple definition of `root_ignores'; src/ignore.o:/dev/shm/the_silver_searcher-2.2.0/src/ignore.h:32: first defined here
/usr/bin/ld: src/search.o:/dev/shm/the_silver_searcher-2.2.0/src/search.h:67: multiple definition of `symhash'; src/print.o:/dev/shm/the_silver_searcher-2.2.0/src/search.h:67: first defined here
/usr/bin/ld: src/search.o:/dev/shm/the_silver_searcher-2.2.0/src/search.h:49: multiple definition of `work_queue_mtx'; src/print.o:/dev/shm/the_silver_searcher-2.2.0/src/search.h:49: first defined here
/usr/bin/ld: src/search.o:/dev/shm/the_silver_searcher-2.2.0/src/search.h:48: multiple definition of `stats_mtx'; src/print.o:/dev/shm/the_silver_searcher-2.2.0/src/search.h:48: first defined here
/usr/bin/ld: src/search.o:/dev/shm/the_silver_searcher-2.2.0/src/search.h:47: multiple definition of `files_ready'; src/print.o:/dev/shm/the_silver_searcher-2.2.0/src/search.h:47: first defined here
/usr/bin/ld: src/search.o:/dev/shm/the_silver_searcher-2.2.0/src/search.h:46: multiple definition of `done_adding_files'; src/print.o:/dev/shm/the_silver_searcher-2.2.0/src/search.h:46: first defined here
/usr/bin/ld: src/search.o:/dev/shm/the_silver_searcher-2.2.0/src/search.h:45: multiple definition of `work_queue_tail'; src/print.o:/dev/shm/the_silver_searcher-2.2.0/src/search.h:45: first defined here
/usr/bin/ld: src/search.o:/dev/shm/the_silver_searcher-2.2.0/src/search.h:44: multiple definition of `work_queue'; src/print.o:/dev/shm/the_silver_searcher-2.2.0/src/search.h:44: first defined here
/usr/bin/ld: src/search.o:/dev/shm/the_silver_searcher-2.2.0/src/search.h:36: multiple definition of `h_table'; src/print.o:/dev/shm/the_silver_searcher-2.2.0/src/search.h:36: first defined here
/usr/bin/ld: src/search.o:/dev/shm/the_silver_searcher-2.2.0/src/search.h:35: multiple definition of `find_skip_lookup'; src/print.o:/dev/shm/the_silver_searcher-2.2.0/src/search.h:35: first defined here
/usr/bin/ld: src/search.o:/dev/shm/the_silver_searcher-2.2.0/src/search.h:34: multiple definition of `alpha_skip_lookup'; src/print.o:/dev/shm/the_silver_searcher-2.2.0/src/search.h:34: first defined here
/usr/bin/ld: src/search.o:/dev/shm/the_silver_searcher-2.2.0/src/util.h:54: multiple definition of `stats'; src/ignore.o:/dev/shm/the_silver_searcher-2.2.0/src/util.h:54: first defined here
/usr/bin/ld: src/search.o:/dev/shm/the_silver_searcher-2.2.0/src/util.h:15: multiple definition of `out_fd'; src/ignore.o:/dev/shm/the_silver_searcher-2.2.0/src/util.h:15: first defined here
/usr/bin/ld: src/search.o:/dev/shm/the_silver_searcher-2.2.0/src/ignore.h:32: multiple definition of `root_ignores'; src/ignore.o:/dev/shm/the_silver_searcher-2.2.0/src/ignore.h:32: first defined here
/usr/bin/ld: src/search.o:/dev/shm/the_silver_searcher-2.2.0/src/options.h:94: multiple definition of `opts'; src/ignore.o:/dev/shm/the_silver_searcher-2.2.0/src/options.h:94: first defined here
/usr/bin/ld: src/search.o:/dev/shm/the_silver_searcher-2.2.0/src/log.h:12: multiple definition of `print_mtx'; src/ignore.o:/dev/shm/the_silver_searcher-2.2.0/src/log.h:12: first defined here
/usr/bin/ld: src/lang.o:/dev/shm/the_silver_searcher-2.2.0/src/util.h:54: multiple definition of `stats'; src/ignore.o:/dev/shm/the_silver_searcher-2.2.0/src/util.h:54: first defined here
/usr/bin/ld: src/lang.o:/dev/shm/the_silver_searcher-2.2.0/src/util.h:15: multiple definition of `out_fd'; src/ignore.o:/dev/shm/the_silver_searcher-2.2.0/src/util.h:15: first defined here
/usr/bin/ld: src/lang.o:/dev/shm/the_silver_searcher-2.2.0/src/options.h:94: multiple definition of `opts'; src/ignore.o:/dev/shm/the_silver_searcher-2.2.0/src/options.h:94: first defined here
/usr/bin/ld: src/lang.o:/dev/shm/the_silver_searcher-2.2.0/src/log.h:12: multiple definition of `print_mtx'; src/ignore.o:/dev/shm/the_silver_searcher-2.2.0/src/log.h:12: first defined here
/usr/bin/ld: src/util.o:/dev/shm/the_silver_searcher-2.2.0/src/util.h:54: multiple definition of `stats'; src/ignore.o:/dev/shm/the_silver_searcher-2.2.0/src/util.h:54: first defined here
/usr/bin/ld: src/util.o:/dev/shm/the_silver_searcher-2.2.0/src/util.h:15: multiple definition of `out_fd'; src/ignore.o:/dev/shm/the_silver_searcher-2.2.0/src/util.h:15: first defined here
/usr/bin/ld: src/util.o:/dev/shm/the_silver_searcher-2.2.0/src/options.h:94: multiple definition of `opts'; src/ignore.o:/dev/shm/the_silver_searcher-2.2.0/src/options.h:94: first defined here
/usr/bin/ld: src/util.o:/dev/shm/the_silver_searcher-2.2.0/src/log.h:12: multiple definition of `print_mtx'; src/ignore.o:/dev/shm/the_silver_searcher-2.2.0/src/log.h:12: first defined here
/usr/bin/ld: src/decompress.o:/dev/shm/the_silver_searcher-2.2.0/src/options.h:94: multiple definition of `opts'; src/ignore.o:/dev/shm/the_silver_searcher-2.2.0/src/options.h:94: first defined here
/usr/bin/ld: src/decompress.o:/dev/shm/the_silver_searcher-2.2.0/src/log.h:12: multiple definition of `print_mtx'; src/ignore.o:/dev/shm/the_silver_searcher-2.2.0/src/log.h:12: first defined here
/usr/bin/ld: src/main.o:/dev/shm/the_silver_searcher-2.2.0/src/search.h:36: multiple definition of `h_table'; src/print.o:/dev/shm/the_silver_searcher-2.2.0/src/search.h:36: first defined here
/usr/bin/ld: src/main.o:/dev/shm/the_silver_searcher-2.2.0/src/search.h:67: multiple definition of `symhash'; src/print.o:/dev/shm/the_silver_searcher-2.2.0/src/search.h:67: first defined here
/usr/bin/ld: src/main.o:/dev/shm/the_silver_searcher-2.2.0/src/search.h:49: multiple definition of `work_queue_mtx'; src/print.o:/dev/shm/the_silver_searcher-2.2.0/src/search.h:49: first defined here
/usr/bin/ld: src/main.o:/dev/shm/the_silver_searcher-2.2.0/src/search.h:48: multiple definition of `stats_mtx'; src/print.o:/dev/shm/the_silver_searcher-2.2.0/src/search.h:48: first defined here
/usr/bin/ld: src/main.o:/dev/shm/the_silver_searcher-2.2.0/src/search.h:47: multiple definition of `files_ready'; src/print.o:/dev/shm/the_silver_searcher-2.2.0/src/search.h:47: first defined here
/usr/bin/ld: src/main.o:/dev/shm/the_silver_searcher-2.2.0/src/search.h:46: multiple definition of `done_adding_files'; src/print.o:/dev/shm/the_silver_searcher-2.2.0/src/search.h:46: first defined here
/usr/bin/ld: src/main.o:/dev/shm/the_silver_searcher-2.2.0/src/search.h:45: multiple definition of `work_queue_tail'; src/print.o:/dev/shm/the_silver_searcher-2.2.0/src/search.h:45: first defined here
/usr/bin/ld: src/main.o:/dev/shm/the_silver_searcher-2.2.0/src/search.h:44: multiple definition of `work_queue'; src/print.o:/dev/shm/the_silver_searcher-2.2.0/src/search.h:44: first defined here
/usr/bin/ld: src/main.o:/dev/shm/the_silver_searcher-2.2.0/src/search.h:35: multiple definition of `find_skip_lookup'; src/print.o:/dev/shm/the_silver_searcher-2.2.0/src/search.h:35: first defined here
/usr/bin/ld: src/main.o:/dev/shm/the_silver_searcher-2.2.0/src/search.h:34: multiple definition of `alpha_skip_lookup'; src/print.o:/dev/shm/the_silver_searcher-2.2.0/src/search.h:34: first defined here
/usr/bin/ld: src/main.o:/dev/shm/the_silver_searcher-2.2.0/src/util.h:54: multiple definition of `stats'; src/ignore.o:/dev/shm/the_silver_searcher-2.2.0/src/util.h:54: first defined here
/usr/bin/ld: src/main.o:/dev/shm/the_silver_searcher-2.2.0/src/util.h:15: multiple definition of `out_fd'; src/ignore.o:/dev/shm/the_silver_searcher-2.2.0/src/util.h:15: first defined here
/usr/bin/ld: src/main.o:/dev/shm/the_silver_searcher-2.2.0/src/ignore.h:32: multiple definition of `root_ignores'; src/ignore.o:/dev/shm/the_silver_searcher-2.2.0/src/ignore.h:32: first defined here
/usr/bin/ld: src/main.o:/dev/shm/the_silver_searcher-2.2.0/src/options.h:94: multiple definition of `opts'; src/ignore.o:/dev/shm/the_silver_searcher-2.2.0/src/options.h:94: first defined here
/usr/bin/ld: src/main.o:/dev/shm/the_silver_searcher-2.2.0/src/log.h:12: multiple definition of `print_mtx'; src/ignore.o:/dev/shm/the_silver_searcher-2.2.0/src/log.h:12: first defined here
/usr/bin/ld: src/zfile.o:/dev/shm/the_silver_searcher-2.2.0/src/options.h:94: multiple definition of `opts'; src/ignore.o:/dev/shm/the_silver_searcher-2.2.0/src/options.h:94: first defined here
/usr/bin/ld: src/zfile.o:/dev/shm/the_silver_searcher-2.2.0/src/log.h:12: multiple definition of `print_mtx'; src/ignore.o:/dev/shm/the_silver_searcher-2.2.0/src/log.h:12: first defined here
collect2: error: ld returned 1 exit status
make: *** [Makefile:471: ag] Error 1

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions