Fio fails to build from source with gcc 10.1: multiple definition of
Hi!
Fio fails to build from source with gcc 10.1:
See:
fio: ftbfs with GCC-10
https://bugs.debian.org/957204
Build log is here:
https://people.debian.org/~doko/logs/gcc10-20200225/fio_3.16-1_unstable_gcc10.log
there are errors like:
gcc -Wl,-z,defs -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,-z,defs -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -rdynamic -o gfio crc/crc16.o crc/crc32.o crc/crc32c-arm64.o crc/crc32c-intel.o crc/crc32c.o crc/crc64.o crc/crc7.o crc/fnv.o crc/md5.o crc/murmur3.o crc/sha1.o crc/sha256.o crc/sha3.o crc/sha512.o crc/test.o crc/xxhash.o lib/axmap.o lib/bloom.o lib/flist_sort.o lib/gauss.o lib/getrusage.o lib/hweight.o lib/ieee754.o lib/lfsr.o lib/memalign.o lib/memcpy.o lib/mountcheck.o lib/num2str.o lib/output_buffer.o lib/pattern.o lib/prio_tree.o lib/rand.o lib/rbtree.o lib/strntol.o lib/zipf.o gettime.o ioengines.o init.o stat.o log.o time.o filesetup.o eta.o verify.o memory.o io_u.o parse.o fio_sem.o rwlock.o pshared.o options.o smalloc.o filehash.o profile.o debug.o engines/cpu.o engines/mmap.o engines/sync.o engines/null.o engines/net.o engines/ftruncate.o engines/filecreate.o server.o client.o iolog.o backend.o libfio.o flow.o cconv.o gettime-thread.o helpers.o json.o idletime.o td_error.o profiles/tiobench.o profiles/act.o io_u_queue.o filelock.o workqueue.o rate-submit.o optgroup.o helper_thread.o steadystate.o zone-dist.o engines/libaio.o engines/rdma.o engines/posixaio.o engines/falloc.o engines/e4defrag.o engines/splice.o engines/rados.o engines/rbd.o oslib/asprintf.o oslib/strlcat.o engines/glusterfs.o engines/glusterfs_sync.o engines/glusterfs_async.o engines/mtd.o oslib/libmtd.o oslib/libmtd_legacy.o zbd.o diskutil.o fifo.o blktrace.o cgroup.o trim.o engines/sg.o oslib/linux-dev-lookup.o engines/io_uring.o gfio.o graph.o tickmarks.o ghelpers.o goptions.o gerror.o gclient.o gcompat.o cairo_text_helpers.o printing.o -lgfapi -lglusterfs -lrbd -lrados -lrados -lnuma -lrdmacm -libverbs -lrt -laio -lz -lm -lpthread -ldl -lnuma -lrdmacm -libverbs -lrt -laio -lz -lgtk-x11-2.0 -lgdk-x11-2.0 -lpangocairo-1.0 -latk-1.0 -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lpangoft2-1.0 -lpango-1.0 -lgobject-2.0 -lfontconfig -lfreetype -lgthread-2.0 -pthread -lglib-2.0 gcc -Wl,-z,defs -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,-z,defs -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -rdynamic -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -D_GNU_SOURCE -include config-host.h -pthread -I/usr/include/gtk-2.0 -I/usr/lib/x86_64-linux-gnu/gtk-2.0/include -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -Wimplicit-fallthrough -std=gnu99 -Wwrite-strings -Wall -Wdeclaration-after-statement -g -ffast-math -D_GNU_SOURCE -include config-host.h -pthread -I/usr/include/gtk-2.0 -I/usr/lib/x86_64-linux-gnu/gtk-2.0/include -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -Wimplicit-fallthrough -I. -I. -O3 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -DBITS_PER_LONG=64 -DFIO_VERSION='"fio-3.16"' -o t/fio-genzipf t/log.o lib/ieee754.o lib/rand.o lib/pattern.o lib/zipf.o lib/strntol.o lib/gauss.o t/genzipf.o oslib/strcasestr.o oslib/strndup.o -lgfapi -lglusterfs -lrbd -lrados -lrados -lnuma -lrdmacm -libverbs -lrt -laio -lz -lm -lpthread -ldl /usr/bin/ld: goptions.o:./gfio.h:81: multiple definition of `main_ui'; gfio.o:./gfio.h:81: first defined here/usr/bin/ld: gerror.o:./gfio.h:81: multiple definition of `main_ui'; gfio.o:./gfio.h:81: first defined here/usr/bin/ld: gclient.o:./gfio.h:81: multiple definition of `main_ui'; gfio.o:./gfio.h:81: first defined here/usr/bin/ld: printing.o:./gfio.h:81: multiple definition of `main_ui'; gfio.o:./gfio.h:81: first defined here
This build log is about fio-3.16, however I tested with fio-3.20 and got the same errors.
I would prefer this to be fixed upstream.
This is not all that urgent. There is still some time till Debian 11 aka bullseye release. First milestone for the freeze towards bullseye is planned for January 2021, so it would be good to have some fix within till November 2020.
Thanks,
Signature · 1 line
Martin
Quoted 23 lines · Martin Steigerwald
Hi!
Fio fails to build from source with gcc 10.1:
See:
fio: ftbfs with GCC-10
https://bugs.debian.org/957204
Build log is here:
https://people.debian.org/~doko/logs/gcc10-20200225/fio_3.16-1_unstable_gcc10.log
there are errors like:
gcc -Wl,-z,defs -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,-z,defs -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -rdynamic -o gfio
crc/crc16.ocrc/crc32.ocrc/crc32c-arm64.ocrc/crc32c-intel.ocrc/crc32c.ocrc/crc64.ocrc/crc7.ocrc/fnv.ocrc/md5.ocrc/murmur3.ocrc/sha1.ocrc/sha256.ocrc/sha3.ocrc/sha512.ocrc/test.ocrc/xxhash.olib/axmap.olib/bloom.olib/flist_sort.olib/gauss.olib/getrusage.olib/hweight.olib/ieee754.olib/lfsr.olib/memalign.olib/memcpy.olib/mountcheck.olib/num2str.olib/output_buffer.olib/pattern.olib/prio_tree.olib/rand.olib/rbtree.olib/strntol.olib/zipf.ogettime.o ioengines.o init.o stat.o log.o time.o filesetup.o eta.o verify.o memory.o io_u.o parse.o fio_sem.o rwlock.o pshared.o options.o smalloc.o filehash.o profile.o debug.oengines/cpu.oengines/mmap.oengines/sync.oengines/null.oengines/net.oengines/ftruncate.oengines/filecreate.oserver.o client.o iolog.o backend.o libfio.o flow.o cconv.o gettime-thread.o helpers.o json.o idletime.o td_error.oprofiles/tiobench.oprofiles/act.oio_u_queue.o filelock.o workqueue.o rate-submit.o optgroup.o helper_thread.o steadystate.o zone-dist.oengines/libaio.oengines/rdma.oengines/posixaio.oengines/falloc.oengines/e4defrag.oengines/splice.oengines/rados.oengines/rbd.ooslib/asprintf.ooslib/strlcat.oengines/glusterfs.oengines/glusterfs_sync.oengines/glusterfs_async.oengines/mtd.ooslib/libmtd.ooslib/libmtd_legacy.ozbd.o diskutil.o fifo.o blktrace.o cgroup.o trim.oengines/sg.ooslib/linux-dev-lookup.oengines/io_uring.ogfio.o graph.o tickmarks.o ghelpers.o goptions.o gerror.o gclient.o gcompat.o cairo_text_helpers.o printing.o -lgfapi -lglusterfs -lrbd -lrados -lrados -lnuma -lrdmacm -libverbs -lrt -laio -lz -lm -lpthread -ldl -lnuma -lrdmacm -libverbs -lrt -laio -lz -lgtk-x11-2.0 -lgdk-x11-2.0 -lpangocairo-1.0 -latk-1.0 -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lpangoft2-1.0 -lpango-1.0 -lgobject-2.0 -lfontconfig -lfreetype -lgthread-2.0 -pthread -lglib-2.0 gcc -Wl,-z,defs -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,-z,defs -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -rdynamic -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -D_GNU_SOURCE -includeconfig-host.h-pthread -I/usr/include/gtk-2.0 -I/usr/lib/x86_64-linux-gnu/gtk-2.0/include -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -Wimplicit-fallthrough -std=gnu99 -Wwrite-strings -Wall -Wdeclaration-after-statement -g -ffast-math -D_GNU_SOURCE -includeconfig-host.h-pthread -I/usr/include/gtk-2.0 -I/usr/lib/x86_64-linux-gnu/gtk-2.0/include -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -Wimplicit-fallthrough -I. -I. -O3 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -DBITS_PER_LONG=64 -DFIO_VERSION='"fio-3.16"' -o t/fio-genzipft/log.olib/ieee754.olib/rand.olib/pattern.olib/zipf.olib/strntol.olib/gauss.ot/genzipf.ooslib/strcasestr.ooslib/strndup.o-lgfapi -lglusterfs -lrbd -lrados -lrados -lnuma -lrdmacm -libverbs -lrt -laio -lz -lm -lpthread -ldl/usr/bin/ld: goptions.o:./gfio.h:81: multiple definition of `main_ui'; gfio.o:./gfio.h:81: first defined here/usr/bin/ld: gerror.o:./gfio.h:81: multiple definition of `main_ui'; gfio.o:./gfio.h:81: first defined here/usr/bin/ld: gclient.o:./gfio.h:81: multiple definition of `main_ui'; gfio.o:./gfio.h:81: first defined here/usr/bin/ld: printing.o:./gfio.h:81: multiple definition of `main_ui'; gfio.o:./gfio.h:81: first defined here
Quoted 4 lines
This build log is about fio-3.16, however I tested with fio-3.20 and got the same errors.
I would prefer this to be fixed upstream.
I pushed a trivial fix for this.
Signature · 1 line
Jens Axboe
Jens Axboe - 02.06.20, 16:20:51 CEST:
Quoted 43 lines · Martin Steigerwald
Quoted 42 lines
Hi!
Fio fails to build from source with gcc 10.1:
See:
fio: ftbfs with GCC-10
https://bugs.debian.org/957204
Build log is here:
https://people.debian.org/~doko/logs/gcc10-20200225/fio_3.16-1_unsta
ble_gcc10.logthere are errors like:
gcc -Wl,-z,defs -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,-z,defs -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -rdynamic -o gfio
crc/crc16.ocrc/crc32.ocrc/crc32c-arm64.ocrc/crc32c-intel.ocrc/crc32c.ocrc/crc64.ocrc/crc7.ocrc/fnv.ocrc/md5.ocrc/murmur3.ocrc/sha1.ocrc/sha256.ocrc/sha3.ocrc/sha512.ocrc/test.ocrc/xxhash.olib/axmap.olib/bloom.olib/flist_sort.olib/gauss.olib/getrusage.olib/hweight.olib/ieee754.olib/lfsr.olib/memalign.olib/memcpy.olib/mountcheck.olib/num2str.olib/output_buffer.olib/pattern.olib/prio_tree.olib/rand.olib/rbtree.olib/strntol.olib/zipf.ogettime.o ioengines.o init.o stat.o log.o time.o filesetup.o eta.o verify.o memory.o io_u.o parse.o fio_sem.o rwlock.o pshared.o options.o smalloc.o filehash.o profile.o debug.oengines/cpu.oengines/mmap.oengines/sync.oengines/null.oengines/net.oengines/ftruncate.oengines/filecreate.oserver.o client.o iolog.o backend.o libfio.o flow.o cconv.o gettime-thread.o helpers.o json.o idletime.o td_error.oprofiles/tiobench.oprofiles/act.oio_u_queue.o filelock.o workqueue.o rate-submit.o optgroup.o helper_thread.o steadystate.o zone-dist.oengines/libaio.oengines/rdma.oengines/posixaio.oengines/falloc.oengines/e4defrag.oengines/splice.oengines/rados.oengines/rbd.ooslib/asprintf.ooslib/strlcat.oengines/glusterfs.oengines/glusterfs_sync.oengines/glusterfs_async.oengines/mtd.ooslib/libmtd.ooslib/libmtd_legacy.ozbd.o diskutil.o fifo.o blktrace.o cgroup.o
Quoted 8 lines
Review
Quoted 8 lines
trim.o
engines/sg.ooslib/linux-dev-lookup.oengines/io_uring.ogfio.o graph.o tickmarks.o ghelpers.o goptions.o gerror.o gclient.o gcompat.o cairo_text_helpers.o printing.o -lgfapi -lglusterfs -lrbd(quoted diff) +0
-5-lrados -lrados -lnuma -lrdmacm -libverbs -lrt -laio -lz -lm -lpthread -ldl -lnuma -lrdmacm -libverbs -lrt -laio -lz -lgtk-x11-2.0 -lgdk-x11-2.0 -lpangocairo-1.0 -latk-1.0 -lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lpangoft2-1.0 -lpango-1.0 -lgobject-2.0 -lfontconfig -lfreetype -lgthread-2.0 -pthread -lglib-2.0
gcc
Quoted 42 lines
Quoted 42 lines
(quoted diff) +0
-4-Wl,-z,defs -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -Wl,-z,defs -Wl,--as-needed -Wl,-z,relro -Wl,-z,now -rdynamic -g -O2 -fdebug-prefix-map=/<<PKGBUILDDIR>>=. -fstack-protector-strong -Wformat -Werror=format-security -D_GNU_SOURCE -include
config-host.h-pthread -I/usr/include/gtk-2.0(quoted diff) +0
-22-I/usr/lib/x86_64-linux-gnu/gtk-2.0/include -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -Wimplicit-fallthrough -std=gnu99 -Wwrite-strings -Wall -Wdeclaration-after-statement -g -ffast-math -D_GNU_SOURCE -include config-host.h -pthread -I/usr/include/gtk-2.0 -I/usr/lib/x86_64-linux-gnu/gtk-2.0/include -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libmount -I/usr/include/blkid -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/fribidi -I/usr/include/uuid -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -Wimplicit-fallthrough -I. -I. -O3 -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=2 -DBITS_PER_LONG=64 -DFIO_VERSION='"fio-3.16"' -o t/fio-genzipf
t/log.olib/ieee754.olib/rand.olib/pattern.olib/zipf.olib/strntol.olib/gauss.ot/genzipf.ooslib/strcasestr.ooslib/strndup.o-lgfapi -lglusterfs -lrbd -lrados -lrados -lnuma -lrdmacm -libverbs -lrt -laio -lz -lm -lpthread -ldl/usr/bin/ld:
goptions.o:./gfio.h:81: multiple definition of `main_ui'; gfio.o:./gfio.h:81: first defined here/usr/bin/ld:
gerror.o:./gfio.h:81: multiple definition of `main_ui'; gfio.o:./gfio.h:81: first defined here/usr/bin/ld:
gclient.o:./gfio.h:81: multiple definition of `main_ui'; gfio.o:./gfio.h:81: first defined here/usr/bin/ld:
printing.o:./gfio.h:81: multiple definition of `main_ui'; gfio.o:./gfio.h:81: first defined here
This build log is about fio-3.16, however I tested with fio-3.20 and got the same errors.
Quoted 4 lines
Quoted 1 line
I would prefer this to be fixed upstream.
I pushed a trivial fix for this.
Thank you.
Signature · 1 line
Martin