<div dir="ltr"><div class="gmail_default" style="font-family:tahoma,sans-serif;font-size:small">Hi, <br><br>That is a common problem with legacy code being compiled with gcc-10, since it defaults to "-fno-common". It can be solved for legacy packages by passing "CFLAGS=-fcommon" to the `configure` (e.g `./configure CFLAGS=-fcommon`), then `make` will succeed.<br></div><div class="gmail_default" style="font-family:tahoma,sans-serif;font-size:small">More information from <a href="https://gcc.gnu.org/gcc-10/porting_to.html">https://gcc.gnu.org/gcc-10/porting_to.html</a>:<br><br>> Default to <code>-fno-common</code><br>> A common mistake in C is omitting <code>extern</code> when declaring a global
variable in a header file. If the header is included by several files it
results in multiple definitions of the same variable. In previous GCC
versions this error is ignored. GCC 10 defaults to <code>-fno-common</code>,
which means a linker <br>> error will now be reported.
To fix this, use <code>extern</code> in header files when declaring global
variables, and ensure each global is defined in exactly one C file.
If tentative definitions of particular variables need to be
placed in a common block, <code>__attribute__((__common__))</code> can be
used to force <br>> that behavior even in code compiled without
<code>-fcommon</code>.
As a workaround, legacy C code where all tentative definitions should
be placed into a common block can be compiled with <code>-fcommon</code>.
<br><br></div><div class="gmail_default" style="font-family:tahoma,sans-serif;font-size:small">Regards,<br></div><div class="gmail_default" style="font-family:tahoma,sans-serif;font-size:small">Hamid Nassiby<br></div><div class="gmail_default" style="font-family:tahoma,sans-serif;font-size:small"><br><br><br></div><div class="gmail_default" style="font-family:tahoma,sans-serif;font-size:small"><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Wed, Dec 2, 2020 at 12:51 PM Andreas Tille <<a href="mailto:andreas@an3as.eu">andreas@an3as.eu</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Control: tags -1 help<br>
<br>
Hi,<br>
<br>
no idea why this was not catched in the usual gcc-10 rebuilds. Any volunteer?<br>
<br>
Kind regards<br>
<br>
Andreas.<br>
<br>
On Wed, Dec 02, 2020 at 12:08:32AM +0100, Andreas Tille wrote:<br>
> Source: rnahybrid<br>
> Severity: serious<br>
> Tags: ftbfs<br>
> Justification: FTBFS<br>
> <br>
> Hi,<br>
> <br>
> I tried to rebuild the package but the build ends in:<br>
> <br>
> ...<br>
> gcc -g -O2 -fdebug-prefix-map=/build/rnahybrid-2.1.2=. -fstack-protector-strong -Wformat -Werror=format-security -g -O2 -fdebug-prefix-map=/build/rnahybrid-2.1.2=. -fstack-protector-strong -Wformat -Werror=format-security -Wl,-z,relro -Wl,-z,now -Wl,-z,relro -Wl,-z,now -o RNAeffective rnaeffective.o hybrid_core.o numerical.o energy.o input.o fasta.o random.o mt19937-1.o plot.o -lg2 -lm <br>
> /usr/bin/ld: /usr/bin/ld: /usr/bin/ld: hybrid_core.o:./src/hybrid_core.h:13: multiple definition of `x'; rnahybrid.o:./src/hybrid_core.h:13: first defined here<br>
> hybrid_core.o:./src/hybrid_core.h:/usr/bin/ld: hybrid_core.o13: multiple definition of `x'; :./src/hybrid_core.h:15: multiple definition of `y'; rnahybrid.o:./src/hybrid_core.h:15: first defined herehybrid_core.o<br>
> /usr/bin/ld: hybrid_core.o:./src/hybrid_core.h:28: multiple definition of `r1'; rnahybrid.o:./src/hybrid_core.h:28: first defined here<br>
> /usr/bin/ld: hybrid_core.o:./src/hybrid_core.h:28: multiple definition of `r2'; rnahybrid.o:./src/hybrid_core.h:28: first defined here<br>
> /usr/bin/ld: hybrid_core.o:./src/hybrid_core.h:28: multiple definition of `r3'; rnahybrid.o:./src/hybrid_core.h:28: first defined here<br>
> /usr/bin/ld: hybrid_core.o:./src/hybrid_core.h:13:./src/hybrid_core.h:28: multiple definition of `r4'; rnahybrid.o:./src/hybrid_core.h:28: first defined here<br>
> /usr/bin/ld: hybrid_core.o: multiple definition of `x'; :./src/hybrid_core.h:30: multiple definition of `a1'; rnahybrid.o:./src/hybrid_core.h:30: first defined here<br>
> /usr/bin/ld: hybrid_core.o:./src/hybrid_core.h:30: multiple definition of `a2'; rnahybrid.o:./src/hybrid_core.h:30: first defined herernaeffective.o:./src/hybrid_core.h:13: first defined here<br>
> /usr/bin/ld: hybrid_core.o<br>
> /usr/bin/ld: hybrid_core.o:./src/hybrid_core.h:30: multiple definition of `a3'; rnahybrid.o:./src/hybrid_core.h:30: first defined here<br>
> /usr/bin/ld: hybrid_core.o:./src/hybrid_core.h:30: multiple definition of `a4'; rnahybrid.o:./src/hybrid_core.h:30: first defined here<br>
> /usr/bin/ld: hybrid_core.o:./src/hybrid_core.h:30: multiple definition of `a5'; rnahybrid.o:./src/hybrid_core.h:30: first defined here<br>
> /usr/bin/ld: hybrid_core.o:./src/hybrid_core.h:30: multiple definition of `a6'; rnahybrid.o:./src/hybrid_core.h:30: first defined here<br>
> /usr/bin/ld:./src/hybrid_core.h:15: multiple definition of `y'; rnaeffective.o:./src/hybrid_core.h:15: first defined here<br>
> /usr/bin/ld: hybrid_core.o: hybrid_core.o:./src/hybrid_core.h:23: multiple definition of `helix_start'; rnahybrid.o:./src/hybrid_core.h:23: first defined here<br>
> /usr/bin/ld: hybrid_core.o:./src/hybrid_core.h:23: multiple definition of `helix_end'; rnahybrid.o:./src/hybrid_core.h:23: first defined here<br>
> /usr/bin/ld: hybrid_core.o:./src/energy.h:50: multiple definition of `canPair'; rnahybrid.o:./src/energy.h:50: first defined here<br>
> /usr/bin/ld:./src/hybrid_core.h:28: multiple definition of `r1'; rnaeffective.o:./src/hybrid_core.h:28: first defined here<br>
> /usr/bin/ld: hybrid_core.o:./src/hybrid_core.h:28: multiple definition of `r2'; rnaeffective.o:./src/hybrid_core.h:28: first defined here<br>
> /usr/bin/ld: hybrid_core.o:./src/hybrid_core.h:28: multiple definition of `r3'; rnaeffective.o:./src/hybrid_core.h:28: first defined here<br>
> /usr/bin/ld: hybrid_core.o:./src/hybrid_core.h:28: multiple definition of `r4'; rnaeffective.o:./src/hybrid_core.h:28: first defined here<br>
> /usr/bin/ld: hybrid_core.o:./src/hybrid_core.h:30: multiple definition of `a1'; rnaeffective.o:./src/hybrid_core.h:30: first defined here<br>
> /usr/bin/ld: hybrid_core.o:./src/hybrid_core.h:30: multiple definition of `a2'; rnaeffective.o:./src/hybrid_core.h:30: first defined here<br>
> /usr/bin/ld: rnacalibrate.ohybrid_core.o::./src/hybrid_core.h:./src/hybrid_core.h:3013: multiple definition of `: first defined herea3'<br>
> ...<br>
> <br>
> Kind regards<br>
> <br>
> Andreas.<br>
> <br>
> <br>
> -- System Information:<br>
> Debian Release: bullseye/sid<br>
> APT prefers unstable<br>
> APT policy: (500, 'unstable'), (500, 'testing'), (50, 'buildd-unstable'), (1, 'experimental')<br>
> Architecture: amd64 (x86_64)<br>
> <br>
> Kernel: Linux 5.9.0-3-amd64 (SMP w/4 CPU threads)<br>
> Kernel taint flags: TAINT_WARN<br>
> Locale: LANG=de_DE.UTF-8, LC_CTYPE=de_DE.UTF-8 (charmap=UTF-8), LANGUAGE not set<br>
> Shell: /bin/sh linked to /usr/bin/dash<br>
> Init: systemd (via /run/systemd/system)<br>
> LSM: AppArmor: enabled<br>
> <br>
> _______________________________________________<br>
> Debian-med-packaging mailing list<br>
> <a href="mailto:Debian-med-packaging@alioth-lists.debian.net" target="_blank">Debian-med-packaging@alioth-lists.debian.net</a><br>
> <a href="https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/debian-med-packaging" rel="noreferrer" target="_blank">https://alioth-lists.debian.net/cgi-bin/mailman/listinfo/debian-med-packaging</a><br>
<br>
-- <br>
<a href="http://fam-tille.de" rel="noreferrer" target="_blank">http://fam-tille.de</a><br>
<br>
</blockquote></div>