Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 706946

Summary: dev-util/android-tools-9.0.0_p3-r1 : fails to build with -fno-common or gcc-10
Product: Gentoo Linux Reporter: Toralf Förster <toralf>
Component: Current packagesAssignee: Zac Medico <zmedico>
Status: RESOLVED FIXED    
Severity: normal CC: ao, dennis.lissov, fturco, kentnl, ostroffjh, plevine457, th-gen, xaviermiller
Priority: Normal Keywords: PATCH
Version: unspecified   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 705764    
Attachments: emerge-info.txt
dev-util:android-tools-9.0.0_p3-r1:20200128-124456.log
emerge-history.txt
environment
etc.portage.tbz2
logs.tbz2
android-tools-9.0.0-fno-common.patch

Description Toralf Förster gentoo-dev 2020-01-28 18:45:48 UTC
FAILED: adb 
x86_64-pc-linux-gnu-g++ -lpthread -lusb-1.0 -Wl,-O1 -Wl,--as-needed -Wl,-O1 -Wl,--as-needed core/base/file.cpp.o core/base/logging.cpp.o core/base/parsenetaddress.cpp.o core/base/stringprintf.cpp.o core/base/strings.cpp.o core/base/errors_unix.cpp.o core/base/test_utils.cpp.o core/liblog/log_event_write.c.o core/liblog/fake_log_device.c.o core/liblog/log_event_list.c.o core/liblog/logger_write.c.o core/liblog/config_write.c.o core/liblog/config_read.c.o core/liblog/logger_lock.c.o core/liblog/local_logger.c.o core/liblog/fake_writer.c.o core/liblog/logger_name.c.o core/liblog/stderr_write.c.o core/liblog/logprint.c.o core/libcutils/load_file.cpp.o core/libcutils/socket_local_client_unix.cpp.o core/libcutils/socket_network_client_unix.cpp.o core/libcutils/socket_local_server_unix.cpp.o core/libcutils/sockets_unix.cpp.o core/libcutils/socket_inaddr_any_server_unix.cpp.o core/libcutils/sockets.cpp.o core/libcutils/android_get_control_file.cpp.o core/libcutils/threads.cpp.o core/libcutils/fs_config.cpp.o core/libcutils/canned_fs_config.cpp.o core/adb/adb.cpp.o core/adb/adb_io.cpp.o core/adb/adb_listeners.cpp.o core/adb/adb_trace.cpp.o core/adb/adb_utils.cpp.o core/adb/bugreport.cpp.o core/adb/line_printer.cpp.o core/adb/sockets.cpp.o core/adb/transport.cpp.o core/adb/transport_local.cpp.o core/adb/transport_usb.cpp.o core/adb/transport_mdns_unsupported.cpp.o core/adb/fdevent.cpp.o core/adb/adb_auth_host.cpp.o core/adb/shell_service_protocol.cpp.o core/adb/console.cpp.o core/adb/socket_spec.cpp.o core/adb/commandline.cpp.o core/adb/adb_client.cpp.o core/adb/services.cpp.o core/adb/file_sync_client.cpp.o core/adb/sysdeps_unix.cpp.o core/adb/sysdeps/errno.cpp.o core/adb/client/main.cpp.o core/adb/client/usb_dispatch.cpp.o core/adb/client/usb_linux.cpp.o core/adb/client/usb_libusb.cpp.o core/adb/sysdeps/posix/network.cpp.o core/adb/diagnose_usb.cpp.o core/libcrypto_utils/android_pubkey.c.o boringssl/build/crypto/libcrypto.a -o adb
/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: core/liblog/config_write.c.o:(.bss+0x0): multiple definition of `__android_log_transport'; core/liblog/logger_write.c.o:(.bss+0x0): first defined here
/usr/lib/gcc/x86_64-pc-linux-gnu/9.2.0/../../../../x86_64-pc-linux-gnu/bin/ld: core/liblog/config_write.c.o:(.bss+0x20): multiple definition of `__android_log_readers_lock'; core/liblog/logger_write.c.o:(.bss+0x20): first defined here

  -------------------------------------------------------------------

  This is an unstable amd64 chroot image at a tinderbox (==build bot)
  name: 17.1_systemd-20200126-201521

  -------------------------------------------------------------------

  Please see the tracker bug for details.

gcc-config -l:
 [1] x86_64-pc-linux-gnu-9.2.0 *

clang:
clang version 9.0.1 
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/lib/llvm/9/bin
llvm:
9.0.1
Available Python interpreters, in order of preference:
  [1]   python3.8
  [2]   python3.6
  [3]   python3.7 (fallback)
  [4]   python2.7 (fallback)
Available Ruby profiles:
  [1]   ruby24 (with Rubygems)
  [2]   ruby25 (with Rubygems) *
Available Rust versions:
  [1]   rust-1.40.0 *
java-config:
The following VMs are available for generation-2:
*)	AdoptOpenJDK 8.242_p08 [openjdk-bin-8]
Available Java Virtual Machines:
  [1]   openjdk-bin-8  system-vm

repository:
==> /var/db/repos/gentoo/metadata/timestamp.chk <==
Tue, 28 Jan 2020 12:06:25 +0000

emerge -qpvO dev-util/android-tools
[ebuild  N    ] dev-util/android-tools-9.0.0_p3-r1  USE="-python" PYTHON_TARGETS="python2_7 python3_6 -python3_7"
Comment 1 Toralf Förster gentoo-dev 2020-01-28 18:45:51 UTC
Created attachment 606756 [details]
emerge-info.txt
Comment 2 Toralf Förster gentoo-dev 2020-01-28 18:45:54 UTC
Created attachment 606758 [details]
dev-util:android-tools-9.0.0_p3-r1:20200128-124456.log
Comment 3 Toralf Förster gentoo-dev 2020-01-28 18:45:57 UTC
Created attachment 606760 [details]
emerge-history.txt
Comment 4 Toralf Förster gentoo-dev 2020-01-28 18:46:00 UTC
Created attachment 606762 [details]
environment
Comment 5 Toralf Förster gentoo-dev 2020-01-28 18:46:04 UTC
Created attachment 606764 [details]
etc.portage.tbz2
Comment 6 Toralf Förster gentoo-dev 2020-01-28 18:46:08 UTC
Created attachment 606766 [details]
logs.tbz2
Comment 7 Peter Levine 2020-05-26 17:48:09 UTC
Created attachment 641948 [details, diff]
android-tools-9.0.0-fno-common.patch
Comment 8 Matt Whitlock 2020-05-27 19:09:42 UTC
(In reply to Peter Levine from comment #7)
> Created attachment 641948 [details, diff] [details, diff]
> android-tools-9.0.0-fno-common.patch

Thanks for the patch. The build still fails for me on ~amd64 with GCC 10.1.

FAILED: crypto/asn1/CMakeFiles/asn1.dir/tasn_enc.c.o 
/usr/lib/ccache/bin/x86_64-pc-linux-gnu-gcc -DBORINGSSL_IMPLEMENTATION -I../third_party/googletest/include -I../crypto/../include -I../crypto/asn1/../../include  -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -DNDEBUG -pipe -O3 -march=native -ggdb -Werror -Wformat=2 -Wsign-compare -Wmissing-field-initializers -Wwrite-strings -Wall -ggdb -fvisibility=hidden -fno-common -Wno-free-nonheap-object -Wimplicit-fallthrough -Wmissing-prototypes -Wold-style-definition -Wstrict-prototypes -Wshadow -std=c11 -D_XOPEN_SOURCE=700 -MD -MT crypto/asn1/CMakeFiles/asn1.dir/tasn_enc.c.o -MF crypto/asn1/CMakeFiles/asn1.dir/tasn_enc.c.o.d -o crypto/asn1/CMakeFiles/asn1.dir/tasn_enc.c.o -c ../crypto/asn1/tasn_enc.c
../crypto/asn1/tasn_enc.c: In function 'ASN1_item_ex_i2d':
../crypto/asn1/tasn_enc.c:193:12: error: this statement may fall through [-Werror=implicit-fallthrough=]
  193 |         if (aclass & ASN1_TFLG_NDEF)
      |            ^
../crypto/asn1/tasn_enc.c:197:5: note: here
  197 |     case ASN1_ITYPE_SEQUENCE:
      |     ^~~~
cc1: all warnings being treated as errors


It generally isn't a good idea for ebuilds to pass -Werror to the compiler. New versions of GCC implement new warnings that can break a build that uses -Werror.
Comment 9 Peter Levine 2020-05-27 20:21:37 UTC
(In reply to Matt Whitlock from comment #8)
> (In reply to Peter Levine from comment #7)
> > Created attachment 641948 [details, diff] [details, diff] [details, diff]
> > android-tools-9.0.0-fno-common.patch
> 
> Thanks for the patch. The build still fails for me on ~amd64 with GCC 10.1.

I can't reproduce it on my end but something like this at the end of src_prepare() should fix it:
> sed -i -e '/set(C_CXX_FLAGS \"-Werror/d' "${WORKDIR}"/boringssl/CMakeLists.txt || die
Comment 10 Peter Levine 2020-05-27 20:24:28 UTC
(In reply to Peter Levine from comment #9)
> (In reply to Matt Whitlock from comment #8)
> > (In reply to Peter Levine from comment #7)
> > > Created attachment 641948 [details, diff] [details, diff] [details, diff] [details, diff]
> > > android-tools-9.0.0-fno-common.patch
> > 
> > Thanks for the patch. The build still fails for me on ~amd64 with GCC 10.1.
> 
> I can't reproduce it on my end but something like this at the end of
> src_prepare() should fix it:
> > sed -i -e '/set(C_CXX_FLAGS \"-Werror/d' "${WORKDIR}"/boringssl/CMakeLists.txt || die

Sorry, meant this;
> sed -i -e '/set(C_CXX_FLAGS \"-Werror/s/-Werror//' /var/tmp/portage/dev-util/android-tools-9.0.0_p3-r1/work/boringssl/CMakeLists.txt
Comment 11 Peter Levine 2020-05-27 20:25:28 UTC
(In reply to Peter Levine from comment #10)
> (In reply to Peter Levine from comment #9)
> > (In reply to Matt Whitlock from comment #8)
> > > (In reply to Peter Levine from comment #7)
> > > > Created attachment 641948 [details, diff] [details, diff] [details, diff] [details, diff] [details, diff]
> > > > android-tools-9.0.0-fno-common.patch
> > > 
> > > Thanks for the patch. The build still fails for me on ~amd64 with GCC 10.1.
> > 
> > I can't reproduce it on my end but something like this at the end of
> > src_prepare() should fix it:
> > > sed -i -e '/set(C_CXX_FLAGS \"-Werror/d' "${WORKDIR}"/boringssl/CMakeLists.txt || die
> 
> Sorry, meant this;
> > sed -i -e '/set(C_CXX_FLAGS \"-Werror/s/-Werror//' /var/tmp/portage/dev-util/android-tools-9.0.0_p3-r1/work/boringssl/CMakeLists.txt

> sed -i -e '/set(C_CXX_FLAGS \"-Werror/s/-Werror//' "${WORKDIR}"/boringssl/CMakeLists.txt || die
Comment 12 Larry the Git Cow gentoo-dev 2020-05-28 06:21:26 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=b0e6ca5b5a6abc85d0e0415455cc1e7986a99586

commit b0e6ca5b5a6abc85d0e0415455cc1e7986a99586
Author:     Zac Medico <zmedico@gentoo.org>
AuthorDate: 2020-05-28 06:13:10 +0000
Commit:     Zac Medico <zmedico@gentoo.org>
CommitDate: 2020-05-28 06:21:19 +0000

    dev-util/android-tools: remove -Werror (bug 706946)
    
    Bug: https://bugs.gentoo.org/706946
    Package-Manager: Portage-2.3.100, Repoman-2.3.22
    Signed-off-by: Zac Medico <zmedico@gentoo.org>

 dev-util/android-tools/android-tools-9.0.0_p3-r1.ebuild | 2 ++
 1 file changed, 2 insertions(+)
Comment 13 Gabriel 2020-06-23 02:12:32 UTC
Same problem here.
Comment 14 Gabriel 2020-06-23 02:13:06 UTC
Portage 2.3.101 (python 3.7.7-final-0, default/linux/amd64/17.1/desktop/gnome/systemd, gcc-10.1.0, glibc-2.31-r5, 5.7.4 x86_64)
=================================================================
System uname: Linux-5.7.4-x86_64-Intel-R-_Core-TM-_i5-2450M_CPU_@_2.50GHz-with-gentoo-2.7
KiB Mem:     8067160 total,   1665508 free
KiB Swap:     307196 total,    303612 free
Head commit of repository gentoo: 62b3e0341e86460cb0d3c1abbfe79342cd606035

sh bash 5.0_p17
ld GNU ld (Gentoo 2.34 p4) 2.34.0
app-shells/bash:          5.0_p17::gentoo
dev-lang/perl:            5.30.3-r1::gentoo
dev-lang/python:          2.7.18::gentoo, 3.7.7-r2::gentoo, 3.8.3::gentoo, 3.9.0_beta3::gentoo
dev-util/cmake:           3.17.3::gentoo
sys-apps/baselayout:      2.7::gentoo
sys-apps/sandbox:         2.20::gentoo
sys-devel/autoconf:       2.13-r1::gentoo, 2.69-r5::gentoo
sys-devel/automake:       1.16.2::gentoo
sys-devel/binutils:       2.34-r1::gentoo
sys-devel/gcc:            10.1.0-r1::gentoo
sys-devel/gcc-config:     2.3.1::gentoo
sys-devel/libtool:        2.4.6-r6::gentoo
sys-devel/make:           4.3::gentoo
sys-kernel/linux-headers: 5.7::gentoo (virtual/os-headers)
sys-libs/glibc:           2.31-r5::gentoo
Repositories:

gentoo
    location: /var/db/repos/gentoo
    sync-type: git
    sync-uri: https://github.com/gentoo/gentoo.git
    priority: -1000

gnome-next
    location: /var/lib/layman/gnome-next
    masters: gentoo
    priority: 50

guru
    location: /var/lib/layman/guru
    masters: gentoo
    priority: 50

ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS=" -march=native -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS=" -march=native -O2 -pipe"
DISTDIR="/var/cache/distfiles"
EMERGE_DEFAULT_OPTS="--ask"
ENV_UNSET="DBUS_SESSION_BUS_ADDRESS DISPLAY GOBIN GOPATH PERL5LIB PERL5OPT PERLPREFIX PERL_CORE PERL_MB_OPT PERL_MM_OPT XAUTHORITY XDG_CACHE_HOME XDG_CONFIG_HOME XDG_DATA_HOME XDG_RUNTIME_DIR"
FCFLAGS=" -march=native -O2 -pipe"
FEATURES="assume-digests binpkg-docompress binpkg-dostrip binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles ipc-sandbox merge-sync multilib-strict network-sandbox news parallel-fetch pid-sandbox preserve-libs protect-owned qa-unresolved-soname-deps sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS=" -march=native -O2 -pipe"
GENTOO_MIRRORS="https://gentoo.c3sl.ufpr.br/ http://gentoo.c3sl.ufpr.br/ rsync://gentoo.c3sl.ufpr.br/gentoo/"
LANG="pt_BR.utf8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j4"
PKGDIR="/var/cache/binpkgs"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --omit-dir-times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages --exclude=/.git"
PORTAGE_TMPDIR="/var/tmp"
USE="X a52 aac acl acpi alsa amd64 berkdb bluetooth branding bzip2 cairo cdda cdr cli colord crypt cups dbus dri dts dvd dvdr eds emboss encode evo exif flac fortran gdbm gif gnome gnome-keyring gnome-online-accounts gpm gstreamer gtk iconv icu introspection ipv6 jpeg lcms ldap libnotify libsecret libtirpc luks1_default mad mng mp3 mp4 mpeg multilib nautilus ncurses networkmanager nls nptl ogg opengl openmp pam pango pcre pdf png policykit ppds pulseaudio qt5 readline sdl seccomp spell split-usr ssl startup-notification svg systemd tcpd tiff tracker truetype udev udisks unicode upower usb vorbis wayland wxwidgets x264 xattr xcb xml xv xvid zlib" ABI_X86="64" ADA_TARGET="gnat_2018" ALSA_CARDS="ali5451 als4000 atiixp atiixp-modem bt87x ca0106 cmipci emu10k1x ens1370 ens1371 es1938 es1968 fm801 hda-intel intel8x0 intel8x0m maestro3 trident usb-audio via82xx via82xx-modem ymfpci" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="karbon sheets words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="mmx mmxext sse sse2" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock greis isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="libinput" KERNEL="linux" L10N="pt-BR" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php7-2" POSTGRES_TARGETS="postgres10 postgres11" PYTHON_SINGLE_TARGET="python3_7" PYTHON_TARGETS="python2_7 python3_7" RUBY_TARGETS="ruby25" USERLAND="GNU" VIDEO_CARDS="intel i965 radeon r600" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CC, CPPFLAGS, CTARGET, CXX, INSTALL_MASK, LC_ALL, LINGUAS, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 15 Nick Andrade 2020-06-29 21:26:41 UTC
The attached -fno-common patch from 5/26 resolve the issue for me with gcc (Gentoo 10.1.0-r1 p2) 10.1.0 on ~amd64.
Comment 16 Larry the Git Cow gentoo-dev 2020-06-30 03:51:16 UTC
The bug has been closed via the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=65aac3a0d26254abf858e82eab4329f0a4d4b402

commit 65aac3a0d26254abf858e82eab4329f0a4d4b402
Author:     Zac Medico <zmedico@gentoo.org>
AuthorDate: 2020-06-30 03:41:36 +0000
Commit:     Zac Medico <zmedico@gentoo.org>
CommitDate: 2020-06-30 03:51:09 +0000

    dev-util/android-tools: support -fno-common (bug 706946)
    
    Add -fno-common patch by Peter Levine.
    
    Closes: https://bugs.gentoo.org/706946
    Package-Manager: Portage-2.3.103, Repoman-2.3.23
    Signed-off-by: Zac Medico <zmedico@gentoo.org>

 dev-util/android-tools/Manifest                         | 1 +
 dev-util/android-tools/android-tools-9.0.0_p3-r1.ebuild | 8 ++++++--
 2 files changed, 7 insertions(+), 2 deletions(-)
Comment 17 Zac Medico gentoo-dev 2020-06-30 03:52:44 UTC
(In reply to Peter Levine from comment #7)
> Created attachment 641948 [details, diff] [details, diff]
> android-tools-9.0.0-fno-common.patch

Thanks!
Comment 18 Larry the Git Cow gentoo-dev 2021-01-05 15:47:06 UTC
The bug has been referenced in the following commit(s):

https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=bf8a53572b7c540dea7715ce81d6192604ad8025

commit bf8a53572b7c540dea7715ce81d6192604ad8025
Author:     Andreas K. Huettel <dilfridge@gentoo.org>
AuthorDate: 2021-01-04 22:00:47 +0000
Commit:     Andreas K. Huettel <dilfridge@gentoo.org>
CommitDate: 2021-01-05 15:46:38 +0000

    dev-util/android-tools: Remove old
    
    Bug: https://bugs.gentoo.org/706946
    Package-Manager: Portage-3.0.12, Repoman-3.0.2
    Signed-off-by: Andreas K. Huettel <dilfridge@gentoo.org>

 dev-util/android-tools/Manifest                    | 10 ---
 .../android-tools/android-tools-5.1.1_p13.ebuild   | 65 ----------------
 .../android-tools/android-tools-6.0.1_p79.ebuild   | 87 ----------------------
 3 files changed, 162 deletions(-)