Skip to contentSkip to conversation

Fio fails to build from source with gcc 10.1: multiple definition of

DISCUSSION Martin Steigerwald 2 participants 3 messages Jun 2, 2020

lore
Share & tools
lore
#0 lore raw

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
#1 lore raw
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.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

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
#2 lore raw

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.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

Quoted 8 lines

Review

Quoted 8 lines

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

(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.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.

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