jvirkki / dupd

CLI utility to find duplicate files
http://www.virkki.com/dupd
GNU General Public License v3.0
112 stars 16 forks source link

link error #29

Closed clmpo closed 4 years ago

clmpo commented 4 years ago

422afab8357be9815cfdcd77b070187e611deb9e seems to not build, the error:

/usr/bin/ld: ./code/dupd/build/stats.o:(.bss+0x1c8): multiple definition of debug_size'; ./code/dupd/build/test_hashlist.o:(.bss+0x0): first defined here /usr/bin/ld: ./code/dupd/build/paths.o:(.bss+0x20): multiple definition ofstats_lock'; ./code/dupd/build/stats.o:(.bss+0x1a0): first defined here /usr/bin/ld: ./code/dupd/build/paths.o:(.bss+0x48): multiple definition of debug_size'; ./code/dupd/build/test_hashlist.o:(.bss+0x0): first defined here /usr/bin/ld: ./code/dupd/build/cache.o:(.bss+0x0): multiple definition ofdebug_size'; ./code/dupd/build/test_hashlist.o:(.bss+0x0): first defined here /usr/bin/ld: ./code/dupd/build/readlist.o:(.bss+0x20): multiple definition of stats_lock'; ./code/dupd/build/stats.o:(.bss+0x1a0): first defined here /usr/bin/ld: ./code/dupd/build/readlist.o:(.bss+0x48): multiple definition ofdebug_size'; ./code/dupd/build/test_hashlist.o:(.bss+0x0): first defined here /usr/bin/ld: ./code/dupd/build/report.o:(.bss+0x0): multiple definition of debug_size'; ./code/dupd/build/test_hashlist.o:(.bss+0x0): first defined here /usr/bin/ld: ./code/dupd/build/dbops.o:(.bss+0x0): multiple definition ofstats_lock'; ./code/dupd/build/stats.o:(.bss+0x1a0): first defined here /usr/bin/ld: ./code/dupd/build/dbops.o:(.bss+0x28): multiple definition of debug_size'; ./code/dupd/build/test_hashlist.o:(.bss+0x0): first defined here /usr/bin/ld: ./code/dupd/build/hashers.o:(.bss+0x0): multiple definition ofstats_lock'; ./code/dupd/build/stats.o:(.bss+0x1a0): first defined here /usr/bin/ld: ./code/dupd/build/hashers.o:(.bss+0x28): multiple definition of debug_size'; ./code/dupd/build/test_hashlist.o:(.bss+0x0): first defined here /usr/bin/ld: ./code/dupd/build/dirtree.o:(.bss+0x0): multiple definition ofdebug_size'; ./code/dupd/build/test_hashlist.o:(.bss+0x0): first defined here /usr/bin/ld: ./code/dupd/build/scan.o:(.bss+0xa8): multiple definition of debug_size'; ./code/dupd/build/test_hashlist.o:(.bss+0x0): first defined here /usr/bin/ld: ./code/dupd/build/scan.o:(.bss+0x80): multiple definition ofstats_lock'; ./code/dupd/build/stats.o:(.bss+0x1a0): first defined here /usr/bin/ld: ./code/dupd/build/main.o:(.bss+0x168): multiple definition of debug_size'; ./code/dupd/build/test_hashlist.o:(.bss+0x0): first defined here /usr/bin/ld: ./code/dupd/build/main.o:(.bss+0x140): multiple definition ofstats_lock'; ./code/dupd/build/stats.o:(.bss+0x1a0): first defined here /usr/bin/ld: ./code/dupd/build/hashlist.o:(.bss+0x28): multiple definition of debug_size'; ./code/dupd/build/test_hashlist.o:(.bss+0x0): first defined here /usr/bin/ld: ./code/dupd/build/hashlist.o:(.bss+0x0): multiple definition ofstats_lock'; ./code/dupd/build/stats.o:(.bss+0x1a0): first defined here /usr/bin/ld: ./code/dupd/build/sizetree.o:(.bss+0x28): multiple definition of debug_size'; ./code/dupd/build/test_hashlist.o:(.bss+0x0): first defined here /usr/bin/ld: ./code/dupd/build/sizetree.o:(.bss+0x0): multiple definition ofstats_lock'; ./code/dupd/build/stats.o:(.bss+0x1a0): first defined here /usr/bin/ld: ./code/dupd/build/filecompare.o:(.bss+0x0): multiple definition of stats_lock'; ./code/dupd/build/stats.o:(.bss+0x1a0): first defined here /usr/bin/ld: ./code/dupd/build/filecompare.o:(.bss+0x28): multiple definition ofdebug_size'; ./code/dupd/build/test_hashlist.o:(.bss+0x0): first defined here /usr/bin/ld: ./code/dupd/build/sizelist.o:(.bss+0x20): multiple definition of stats_lock'; ./code/dupd/build/stats.o:(.bss+0x1a0): first defined here /usr/bin/ld: ./code/dupd/build/sizelist.o:(.bss+0x48): multiple definition ofdebug_size'; ./code/dupd/build/test_hashlist.o:(.bss+0x0): first defined here /usr/bin/ld: ./code/dupd/build/utils.o:(.bss+0x0): multiple definition of stats_lock'; ./code/dupd/build/stats.o:(.bss+0x1a0): first defined here /usr/bin/ld: ./code/dupd/build/utils.o:(.bss+0x28): multiple definition ofdebug_size'; ./code/dupd/build/test_hashlist.o:(.bss+0x0): first defined here

adding extern in the header files fixes the issue btw

jvirkki commented 4 years ago

Yes, missing extern on these.

jvirkki commented 4 years ago

I'm curious which platform/compiler are you using, which generated these errors? Even though the extern was missing, I didn't see this error on any of the platforms I test with (Linux/gcc, Solaris/Sun CC, FreeBSD/llvm).

clmpo commented 4 years ago

I'm on Fedora 32, gcc is quite new gcc version 10.1.1 20200507 (Red Hat 10.1.1-1) (GCC)