Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.debian.bugs.dist > #1019548 > unrolled thread

Bug#957532: mes: ftbfs with GCC-10

Started byVagrant Cascadian <vagrant@reproducible-builds.org>
First post2020-07-28 05:50 +0200
Last post2020-07-29 18:50 +0200
Articles 2 — 1 participant

Back to article view | Back to linux.debian.bugs.dist

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Bug#957532: mes: ftbfs with GCC-10 Vagrant Cascadian <vagrant@reproducible-builds.org> - 2020-07-28 05:50 +0200
    Bug#957532: mes: ftbfs with GCC-10 Vagrant Cascadian <vagrant@reproducible-builds.org> - 2020-07-29 18:50 +0200

#1019548 — Bug#957532: mes: ftbfs with GCC-10

FromVagrant Cascadian <vagrant@reproducible-builds.org>
Date2020-07-28 05:50 +0200
SubjectBug#957532: mes: ftbfs with GCC-10
Message-ID<AxoMN-6ku-1@gated-at.bofh.it>

[Multipart message — attachments visible in raw view] — view raw

Control: forwarded 957532 bug-mes@gnu.org
Control: tags 957532 upstream

Debian has switched to gcc 10 by default for the development releases,
and that currently breaks building mes.

Please let me know if there is anything I can do to help!

live well,
  vagrant

On 2020-04-17, Matthias Klose wrote:
> The package fails to build in a test rebuild on at least amd64 with
> gcc-10/g++-10, but succeeds to build with gcc-9/g++-9. The
> severity of this report will be raised before the bullseye release,
> so nothing has to be done for the buster release.
>
> The full build log can be found at:
> http://people.debian.org/~doko/logs/gcc10-20200225/mes_0.22-1_unstable_gcc10.log
> The last lines of the build log are at the end of this report.
>
> To build with GCC 10, either set CC=gcc-10 CXX=g++-10 explicitly,
> or install the gcc, g++, gfortran, ... packages from experimental.
>
>   apt-get -t=experimental install g++ 
>
> Common build failures are new warnings resulting in build failures with
> -Werror turned on, or new/dropped symbols in Debian symbols files.
> For other C/C++ related build failures see the porting guide at
> http://gcc.gnu.org/gcc-10/porting_to.html
>
> [...]
> /usr/bin/ld: gcc-lib/libc.a(isatty.o):./gcc-lib/../include/mes/lib-mini.h:43: multiple definition of `environ'; crt1.o:./gcc-lib/../include/mes/lib-mini.h:43: first defined here
> /usr/bin/ld: gcc-lib/libc.a(isatty.o):./gcc-lib/../include/mes/lib-mini.h:44: multiple definition of `__stdin'; crt1.o:./gcc-lib/../include/mes/lib-mini.h:44: first defined here
> /usr/bin/ld: gcc-lib/libc.a(isatty.o):./gcc-lib/../include/mes/lib-mini.h:45: multiple definition of `__stdout'; crt1.o:./gcc-lib/../include/mes/lib-mini.h:45: first defined here
> /usr/bin/ld: gcc-lib/libc.a(isatty.o):./gcc-lib/../include/mes/lib-mini.h:46: multiple definition of `__stderr'; crt1.o:./gcc-lib/../include/mes/lib-mini.h:46: first defined here
> /usr/bin/ld: gcc-lib/libc.a(isatty.o):./gcc-lib/../include/mes/lib-mini.h:90: multiple definition of `errno'; crt1.o:./gcc-lib/../include/mes/lib-mini.h:90: first defined here
> /usr/bin/ld: gcc-lib/libc.a(buffered-read.o):./gcc-lib/../include/mes/lib-mini.h:43: multiple definition of `environ'; crt1.o:./gcc-lib/../include/mes/lib-mini.h:43: first defined here
> /usr/bin/ld: gcc-lib/libc.a(buffered-read.o):./gcc-lib/../include/mes/lib-mini.h:44: multiple definition of `__stdin'; crt1.o:./gcc-lib/../include/mes/lib-mini.h:44: first defined here
> /usr/bin/ld: gcc-lib/libc.a(buffered-read.o):./gcc-lib/../include/mes/lib-mini.h:45: multiple definition of `__stdout'; crt1.o:./gcc-lib/../include/mes/lib-mini.h:45: first defined here
> /usr/bin/ld: gcc-lib/libc.a(buffered-read.o):./gcc-lib/../include/mes/lib-mini.h:46: multiple definition of `__stderr'; crt1.o:./gcc-lib/../include/mes/lib-mini.h:46: first defined here
> /usr/bin/ld: gcc-lib/libc.a(buffered-read.o):./gcc-lib/../include/mes/lib-mini.h:90: multiple definition of `errno'; crt1.o:./gcc-lib/../include/mes/lib-mini.h:90: first defined here
> /usr/bin/ld: gcc-lib/libc.a(setenv.o):./gcc-lib/../include/mes/lib-mini.h:43: multiple definition of `environ'; crt1.o:./gcc-lib/../include/mes/lib-mini.h:43: first defined here
> /usr/bin/ld: gcc-lib/libc.a(setenv.o):./gcc-lib/../include/mes/lib-mini.h:44: multiple definition of `__stdin'; crt1.o:./gcc-lib/../include/mes/lib-mini.h:44: first defined here
> /usr/bin/ld: gcc-lib/libc.a(setenv.o):./gcc-lib/../include/mes/lib-mini.h:45: multiple definition of `__stdout'; crt1.o:./gcc-lib/../include/mes/lib-mini.h:45: first defined here
> /usr/bin/ld: gcc-lib/libc.a(setenv.o):./gcc-lib/../include/mes/lib-mini.h:46: multiple definition of `__stderr'; crt1.o:./gcc-lib/../include/mes/lib-mini.h:46: first defined here
> /usr/bin/ld: gcc-lib/libc.a(setenv.o):./gcc-lib/../include/mes/lib-mini.h:90: multiple definition of `errno'; crt1.o:./gcc-lib/../include/mes/lib-mini.h:90: first defined here
> /usr/bin/ld: gcc-lib/libc.a(malloc.o):./gcc-lib/../include/mes/lib-mini.h:43: multiple definition of `environ'; crt1.o:./gcc-lib/../include/mes/lib-mini.h:43: first defined here
> /usr/bin/ld: gcc-lib/libc.a(malloc.o):./gcc-lib/../include/mes/lib-mini.h:44: multiple definition of `__stdin'; crt1.o:./gcc-lib/../include/mes/lib-mini.h:44: first defined here
> /usr/bin/ld: gcc-lib/libc.a(malloc.o):./gcc-lib/../include/mes/lib-mini.h:45: multiple definition of `__stdout'; crt1.o:./gcc-lib/../include/mes/lib-mini.h:45: first defined here
> /usr/bin/ld: gcc-lib/libc.a(malloc.o):./gcc-lib/../include/mes/lib-mini.h:46: multiple definition of `__stderr'; crt1.o:./gcc-lib/../include/mes/lib-mini.h:46: first defined here
> /usr/bin/ld: gcc-lib/libc.a(malloc.o):./gcc-lib/../include/mes/lib-mini.h:90: multiple definition of `errno'; crt1.o:./gcc-lib/../include/mes/lib-mini.h:90: first defined here
> /usr/bin/ld: gcc-lib/libc.a(memcpy.o):./gcc-lib/../include/mes/lib-mini.h:43: multiple definition of `environ'; crt1.o:./gcc-lib/../include/mes/lib-mini.h:43: first defined here
> /usr/bin/ld: gcc-lib/libc.a(memcpy.o):./gcc-lib/../include/mes/lib-mini.h:44: multiple definition of `__stdin'; crt1.o:./gcc-lib/../include/mes/lib-mini.h:44: first defined here
> /usr/bin/ld: gcc-lib/libc.a(memcpy.o):./gcc-lib/../include/mes/lib-mini.h:45: multiple definition of `__stdout'; crt1.o:./gcc-lib/../include/mes/lib-mini.h:45: first defined here
> /usr/bin/ld: gcc-lib/libc.a(memcpy.o):./gcc-lib/../include/mes/lib-mini.h:46: multiple definition of `__stderr'; crt1.o:./gcc-lib/../include/mes/lib-mini.h:46: first defined here
> /usr/bin/ld: gcc-lib/libc.a(memcpy.o):./gcc-lib/../include/mes/lib-mini.h:90: multiple definition of `errno'; crt1.o:./gcc-lib/../include/mes/lib-mini.h:90: first defined here
> /usr/bin/ld: gcc-lib/libc.a(_getcwd.o):./gcc-lib/../include/mes/lib-mini.h:43: multiple definition of `environ'; crt1.o:./gcc-lib/../include/mes/lib-mini.h:43: first defined here
> /usr/bin/ld: gcc-lib/libc.a(_getcwd.o):./gcc-lib/../include/mes/lib-mini.h:44: multiple definition of `__stdin'; crt1.o:./gcc-lib/../include/mes/lib-mini.h:44: first defined here
> /usr/bin/ld: gcc-lib/libc.a(_getcwd.o):./gcc-lib/../include/mes/lib-mini.h:45: multiple definition of `__stdout'; crt1.o:./gcc-lib/../include/mes/lib-mini.h:45: first defined here
> /usr/bin/ld: gcc-lib/libc.a(_getcwd.o):./gcc-lib/../include/mes/lib-mini.h:46: multiple definition of `__stderr'; crt1.o:./gcc-lib/../include/mes/lib-mini.h:46: first defined here
> /usr/bin/ld: gcc-lib/libc.a(_getcwd.o):./gcc-lib/../include/mes/lib-mini.h:90: multiple definition of `errno'; crt1.o:./gcc-lib/../include/mes/lib-mini.h:90: first defined here
> /usr/bin/ld: gcc-lib/libc.a(_open3.o):./gcc-lib/../include/mes/lib-mini.h:43: multiple definition of `environ'; crt1.o:./gcc-lib/../include/mes/lib-mini.h:43: first defined here
> /usr/bin/ld: gcc-lib/libc.a(_open3.o):./gcc-lib/../include/mes/lib-mini.h:44: multiple definition of `__stdin'; crt1.o:./gcc-lib/../include/mes/lib-mini.h:44: first defined here
> /usr/bin/ld: gcc-lib/libc.a(_open3.o):./gcc-lib/../include/mes/lib-mini.h:45: multiple definition of `__stdout'; crt1.o:./gcc-lib/../include/mes/lib-mini.h:45: first defined here
> /usr/bin/ld: gcc-lib/libc.a(_open3.o):./gcc-lib/../include/mes/lib-mini.h:46: multiple definition of `__stderr'; crt1.o:./gcc-lib/../include/mes/lib-mini.h:46: first defined here
> /usr/bin/ld: gcc-lib/libc.a(_open3.o):./gcc-lib/../include/mes/lib-mini.h:90: multiple definition of `errno'; crt1.o:./gcc-lib/../include/mes/lib-mini.h:90: first defined here
> /usr/bin/ld: gcc-lib/libc.a(_read.o):./gcc-lib/../include/mes/lib-mini.h:43: multiple definition of `environ'; crt1.o:./gcc-lib/../include/mes/lib-mini.h:43: first defined here
> /usr/bin/ld: gcc-lib/libc.a(_read.o):./gcc-lib/../include/mes/lib-mini.h:44: multiple definition of `__stdin'; crt1.o:./gcc-lib/../include/mes/lib-mini.h:44: first defined here
> /usr/bin/ld: gcc-lib/libc.a(_read.o):./gcc-lib/../include/mes/lib-mini.h:45: multiple definition of `__stdout'; crt1.o:./gcc-lib/../include/mes/lib-mini.h:45: first defined here
> /usr/bin/ld: gcc-lib/libc.a(_read.o):./gcc-lib/../include/mes/lib-mini.h:46: multiple definition of `__stderr'; crt1.o:./gcc-lib/../include/mes/lib-mini.h:46: first defined here
> /usr/bin/ld: gcc-lib/libc.a(_read.o):./gcc-lib/../include/mes/lib-mini.h:90: multiple definition of `errno'; crt1.o:./gcc-lib/../include/mes/lib-mini.h:90: first defined here
> /usr/bin/ld: gcc-lib/libc.a(syscall.o):./gcc-lib/../include/errno.h:34: multiple definition of `errno'; crt1.o:./gcc-lib/../include/mes/lib-mini.h:90: first defined here
> /usr/bin/ld: gcc-lib/libc.a(mini.o):./gcc-lib/../include/mes/lib-mini.h:43: multiple definition of `environ'; crt1.o:./gcc-lib/../include/mes/lib-mini.h:43: first defined here
> /usr/bin/ld: gcc-lib/libc.a(mini.o):./gcc-lib/../include/mes/lib-mini.h:44: multiple definition of `__stdin'; crt1.o:./gcc-lib/../include/mes/lib-mini.h:44: first defined here
> /usr/bin/ld: gcc-lib/libc.a(mini.o):./gcc-lib/../include/mes/lib-mini.h:45: multiple definition of `__stdout'; crt1.o:./gcc-lib/../include/mes/lib-mini.h:45: first defined here
> /usr/bin/ld: gcc-lib/libc.a(mini.o):./gcc-lib/../include/mes/lib-mini.h:46: multiple definition of `__stderr'; crt1.o:./gcc-lib/../include/mes/lib-mini.h:46: first defined here
> /usr/bin/ld: gcc-lib/libc.a(mini.o):./gcc-lib/../include/mes/lib-mini.h:90: multiple definition of `errno'; crt1.o:./gcc-lib/../include/mes/lib-mini.h:90: first defined here
> /usr/bin/ld: gcc-lib/libc.a(abtol.o):./gcc-lib/../include/mes/lib-mini.h:43: multiple definition of `environ'; crt1.o:./gcc-lib/../include/mes/lib-mini.h:43: first defined here
> /usr/bin/ld: gcc-lib/libc.a(abtol.o):./gcc-lib/../include/mes/lib-mini.h:44: multiple definition of `__stdin'; crt1.o:./gcc-lib/../include/mes/lib-mini.h:44: first defined here
> /usr/bin/ld: gcc-lib/libc.a(abtol.o):./gcc-lib/../include/mes/lib-mini.h:45: multiple definition of `__stdout'; crt1.o:./gcc-lib/../include/mes/lib-mini.h:45: first defined here
> /usr/bin/ld: gcc-lib/libc.a(abtol.o):./gcc-lib/../include/mes/lib-mini.h:46: multiple definition of `__stderr'; crt1.o:./gcc-lib/../include/mes/lib-mini.h:46: first defined here
> /usr/bin/ld: gcc-lib/libc.a(abtol.o):./gcc-lib/../include/mes/lib-mini.h:90: multiple definition of `errno'; crt1.o:./gcc-lib/../include/mes/lib-mini.h:90: first defined here
> /usr/bin/ld: gcc-lib/libc.a(eputc.o):./gcc-lib/../include/mes/lib-mini.h:43: multiple definition of `environ'; crt1.o:./gcc-lib/../include/mes/lib-mini.h:43: first defined here
> /usr/bin/ld: gcc-lib/libc.a(eputc.o):./gcc-lib/../include/mes/lib-mini.h:44: multiple definition of `__stdin'; crt1.o:./gcc-lib/../include/mes/lib-mini.h:44: first defined here
> /usr/bin/ld: gcc-lib/libc.a(eputc.o):./gcc-lib/../include/mes/lib-mini.h:45: multiple definition of `__stdout'; crt1.o:./gcc-lib/../include/mes/lib-mini.h:45: first defined here
> /usr/bin/ld: gcc-lib/libc.a(eputc.o):./gcc-lib/../include/mes/lib-mini.h:46: multiple definition of `__stderr'; crt1.o:./gcc-lib/../include/mes/lib-mini.h:46: first defined here
> /usr/bin/ld: gcc-lib/libc.a(eputc.o):./gcc-lib/../include/mes/lib-mini.h:90: multiple definition of `errno'; crt1.o:./gcc-lib/../include/mes/lib-mini.h:90: first defined here
> /usr/bin/ld: gcc-lib/libc.a(isxdigit.o):./gcc-lib/../include/mes/lib-mini.h:43: multiple definition of `environ'; crt1.o:./gcc-lib/../include/mes/lib-mini.h:43: first defined here
> /usr/bin/ld: gcc-lib/libc.a(isxdigit.o):./gcc-lib/../include/mes/lib-mini.h:44: multiple definition of `__stdin'; crt1.o:./gcc-lib/../include/mes/lib-mini.h:44: first defined here
> /usr/bin/ld: gcc-lib/libc.a(isxdigit.o):./gcc-lib/../include/mes/lib-mini.h:45: multiple definition of `__stdout'; crt1.o:./gcc-lib/../include/mes/lib-mini.h:45: first defined here
> /usr/bin/ld: gcc-lib/libc.a(isxdigit.o):./gcc-lib/../include/mes/lib-mini.h:46: multiple definition of `__stderr'; crt1.o:./gcc-lib/../include/mes/lib-mini.h:46: first defined here
> /usr/bin/ld: gcc-lib/libc.a(isxdigit.o):./gcc-lib/../include/mes/lib-mini.h:90: multiple definition of `errno'; crt1.o:./gcc-lib/../include/mes/lib-mini.h:90: first defined here
> collect2: error: ld returned 1 exit status
> + test -f .log
> make[2]: *** [GNUmakefile:95: build] Error 1
> make[2]: Leaving directory '/<<PKGBUILDDIR>>'
> dh_auto_build: error: make -j4 V=2 returned exit code 2
> make[1]: *** [debian/rules:23: override_dh_auto_build] Error 25
> make[1]: Leaving directory '/<<PKGBUILDDIR>>'
> make: *** [debian/rules:17: binary] Error 2
> dpkg-buildpackage: error: debian/rules binary subprocess returned exit status 2

[toc] | [next] | [standalone]


#1019716

FromVagrant Cascadian <vagrant@reproducible-builds.org>
Date2020-07-29 18:50 +0200
Message-ID<AxXrc-2dA-7@gated-at.bofh.it>
In reply to#1019548

[Multipart message — attachments visible in raw view] — view raw

On 2020-07-27, Vagrant Cascadian wrote:
> Debian has switched to gcc 10 by default for the development releases,
> and that currently breaks building mes.

Apparently, Adding -fcommon to CFLAGS does allow the build to complete.

from https://gcc.gnu.org/gcc-10/porting_to.html:

  C language issues
  Default to -fno-common

  A common mistake in C is omitting extern 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 -fno-common,
  which means a linker error will now be reported. To fix this, use
  extern 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,
  __attribute__((__common__)) can be used to force that behavior even in
  code compiled without -fcommon. As a workaround, legacy C code where
  all tentative definitions should be placed into a common block can be
  compiled with -fcommon.


I'm thinking it's appropriate for mes to use -fcommon in this case,
since it uses it's own headers and libc.


live well,
  vagrant

[toc] | [prev] | [standalone]


Back to top | Article view | linux.debian.bugs.dist


csiph-web