Skip to content

Building on ArchLinux does not work. #8

@jcelerier

Description

@jcelerier
 LANG=C make library        
rm -rf build/* tests_perf_analysis.txt big_tests_perf_analysis.txt gmon.out test_output.txt *.dSYM core* profiler.data
mkdir -p build/
make library
clang -Wall -Iinclude/ -DTHREAD_SUPPORT=1 -pthread -DTHREAD_ZONE_CACHE=1 -DPRE_POPULATE_PAGES=0 -DSMALL_MEM_STARTUP=0 -DSANITIZE_CHUNKS=0 -DFUZZ_MODE=0 -DPERM_FREE_REALLOC=0 -DDISABLE_CANARY=0 -Werror -pedantic -Wno-pointer-arith -Wno-gnu-zero-variadic-macro-arguments -Wno-format-pedantic -DMALLOC_HOOK=1  -fvisibility=hidden -std=c11       -DCPU_PIN=0 -DEXPERIMENTAL=0 -fPIC -shared -O2 -fstrict-aliasing -Wstrict-aliasing  src/*.c -o build/libisoalloc.so
/usr/bin/ld: /tmp/iso_alloc_interfaces-0af40e.o:(.bss+0x10): multiple definition of `_default_zone_count'; /tmp/iso_alloc-387a01.o:(.bss+0x14): first defined here
/usr/bin/ld: /tmp/iso_alloc_interfaces-0af40e.o:(.bss+0x0): multiple definition of `_root'; /tmp/iso_alloc-387a01.o:(.bss+0x8): first defined here
/usr/bin/ld: /tmp/iso_alloc_interfaces-0af40e.o:(.bss+0x9): multiple definition of `big_zone_busy_flag'; /tmp/iso_alloc-387a01.o:(.bss+0x18): first defined here
/usr/bin/ld: /tmp/iso_alloc_interfaces-0af40e.o:(.bss+0xc): multiple definition of `g_page_size'; /tmp/iso_alloc-387a01.o:(.bss+0x10): first defined here
/usr/bin/ld: /tmp/iso_alloc_interfaces-0af40e.o:(.bss+0x8): multiple definition of `root_busy_flag'; /tmp/iso_alloc-387a01.o:(.bss+0x0): first defined here
/usr/bin/ld: /tmp/iso_alloc_profiler-c22004.o:(.bss+0x18): multiple definition of `_default_zone_count'; /tmp/iso_alloc-387a01.o:(.bss+0x14): first defined here
/usr/bin/ld: /tmp/iso_alloc_profiler-c22004.o:(.bss+0x8): multiple definition of `_root'; /tmp/iso_alloc-387a01.o:(.bss+0x8): first defined here
/usr/bin/ld: /tmp/iso_alloc_profiler-c22004.o:(.bss+0x10): multiple definition of `big_zone_busy_flag'; /tmp/iso_alloc-387a01.o:(.bss+0x18): first defined here
/usr/bin/ld: /tmp/iso_alloc_profiler-c22004.o:(.bss+0x14): multiple definition of `g_page_size'; /tmp/iso_alloc-387a01.o:(.bss+0x10): first defined here
/usr/bin/ld: /tmp/iso_alloc_profiler-c22004.o:(.bss+0x0): multiple definition of `root_busy_flag'; /tmp/iso_alloc-387a01.o:(.bss+0x0): first defined here
/usr/bin/ld: /tmp/iso_alloc_random-3aa095.o:(.bss+0x8): multiple definition of `_default_zone_count'; /tmp/iso_alloc-387a01.o:(.bss+0x14): first defined here
/usr/bin/ld: /tmp/iso_alloc_random-3aa095.o:(.bss+0x10): multiple definition of `_root'; /tmp/iso_alloc-387a01.o:(.bss+0x8): first defined here
/usr/bin/ld: /tmp/iso_alloc_random-3aa095.o:(.bss+0x1): multiple definition of `big_zone_busy_flag'; /tmp/iso_alloc-387a01.o:(.bss+0x18): first defined here
/usr/bin/ld: /tmp/iso_alloc_random-3aa095.o:(.bss+0x4): multiple definition of `g_page_size'; /tmp/iso_alloc-387a01.o:(.bss+0x10): first defined here
/usr/bin/ld: /tmp/iso_alloc_random-3aa095.o:(.bss+0x0): multiple definition of `root_busy_flag'; /tmp/iso_alloc-387a01.o:(.bss+0x0): first defined here
/usr/bin/ld: /tmp/iso_alloc_sanity-2cea6e.o:(.bss+0x8): multiple definition of `_default_zone_count'; /tmp/iso_alloc-387a01.o:(.bss+0x14): first defined here
/usr/bin/ld: /tmp/iso_alloc_sanity-2cea6e.o:(.bss+0x10): multiple definition of `_root'; /tmp/iso_alloc-387a01.o:(.bss+0x8): first defined here
/usr/bin/ld: /tmp/iso_alloc_sanity-2cea6e.o:(.bss+0x1): multiple definition of `big_zone_busy_flag'; /tmp/iso_alloc-387a01.o:(.bss+0x18): first defined here
/usr/bin/ld: /tmp/iso_alloc_sanity-2cea6e.o:(.bss+0x4): multiple definition of `g_page_size'; /tmp/iso_alloc-387a01.o:(.bss+0x10): first defined here
/usr/bin/ld: /tmp/iso_alloc_sanity-2cea6e.o:(.bss+0x0): multiple definition of `root_busy_flag'; /tmp/iso_alloc-387a01.o:(.bss+0x0): first defined here
/usr/bin/ld: /tmp/iso_alloc_search-b79ab9.o:(.bss+0x18): multiple definition of `_default_zone_count'; /tmp/iso_alloc-387a01.o:(.bss+0x14): first defined here
/usr/bin/ld: /tmp/iso_alloc_search-b79ab9.o:(.bss+0x8): multiple definition of `_root'; /tmp/iso_alloc-387a01.o:(.bss+0x8): first defined here
/usr/bin/ld: /tmp/iso_alloc_search-b79ab9.o:(.bss+0x10): multiple definition of `big_zone_busy_flag'; /tmp/iso_alloc-387a01.o:(.bss+0x18): first defined here
/usr/bin/ld: /tmp/iso_alloc_search-b79ab9.o:(.bss+0x14): multiple definition of `g_page_size'; /tmp/iso_alloc-387a01.o:(.bss+0x10): first defined here
/usr/bin/ld: /tmp/iso_alloc_search-b79ab9.o:(.bss+0x0): multiple definition of `root_busy_flag'; /tmp/iso_alloc-387a01.o:(.bss+0x0): first defined here
/usr/bin/ld: /tmp/malloc_hook-9ee42d.o:(.bss+0x8): multiple definition of `_default_zone_count'; /tmp/iso_alloc-387a01.o:(.bss+0x14): first defined here
/usr/bin/ld: /tmp/malloc_hook-9ee42d.o:(.bss+0x10): multiple definition of `_root'; /tmp/iso_alloc-387a01.o:(.bss+0x8): first defined here
/usr/bin/ld: /tmp/malloc_hook-9ee42d.o:(.bss+0x1): multiple definition of `big_zone_busy_flag'; /tmp/iso_alloc-387a01.o:(.bss+0x18): first defined here
/usr/bin/ld: /tmp/malloc_hook-9ee42d.o:(.bss+0x4): multiple definition of `g_page_size'; /tmp/iso_alloc-387a01.o:(.bss+0x10): first defined here
/usr/bin/ld: /tmp/malloc_hook-9ee42d.o:(.bss+0x0): multiple definition of `root_busy_flag'; /tmp/iso_alloc-387a01.o:(.bss+0x0): first defined here
clang-11: error: linker command failed with exit code 1 (use -v to see invocation)

The symbols seem to be defined in include/iso_alloc_internal.h which is included everywhere, they should be declared extern and defined in a single .c

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions