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

Bug 622622

Summary: cross-armv7a-hardfloat-linux-gnueabi/gcc:6.3.0: revdep-rebuild rebuilds this package all time
Product: Gentoo Linux Reporter: Conrad Kostecki <conikost>
Component: Current packagesAssignee: Gentoo Crossdev team <crossdev>
Status: RESOLVED FIXED    
Severity: normal CC: embedded, floppym, frares, itumaykin+gentoo, johannes.geiss, tsmksubc, vapier
Priority: Normal    
Version: unspecified   
Hardware: All   
OS: Linux   
See Also: https://bugs.gentoo.org/show_bug.cgi?id=182601
Whiteboard:
Package list:
Runtime testing required: ---
Bug Depends on:    
Bug Blocks: 627914    

Description Conrad Kostecki gentoo-dev 2017-06-24 15:47:17 UTC
I've emerged with crossdev -t avr a toolchain for avr.
But revdep-rebuild always wants to recompile cross-armv7a-hardfloat-linux-gnueabi/gcc:6.3.0.

Sounds like a bug, because this also happens, when I do not update any packages.

 * This is the new python coded version
 * Please report any bugs found using it.
 * The original revdep-rebuild script is installed as revdep-rebuild.sh
 * Please file bugs at: https://bugs.gentoo.org/
 * Collecting system binaries and libraries
 * Checking dynamic linking consistency
 * Assign files to packages

emerge  --oneshot --complete-graph=y cross-armv7a-hardfloat-linux-gnueabi/gcc:6.3.0
Calculating dependencies... done!
Comment 1 Conrad Kostecki gentoo-dev 2017-06-24 15:50:45 UTC
PS: crossdev -t armv7, sorry ;-) not avr.

Portage 2.3.6 (python 3.6.1-final-0, default/linux/amd64/13.0, gcc-6.3.0, glibc-2.24-r3, 4.11.6-gentoo x86_64)
=================================================================
System uname: Linux-4.11.6-gentoo-x86_64-Intel-R-_Atom-TM-_CPU_C2758_@_2.40GHz-with-gentoo-2.4.1
KiB Swap:   36700156 total,  36700156 free
Timestamp of repository gentoo: Sat, 24 Jun 2017 13:45:02 +0000
sh bash 4.4_p12
ld GNU ld (Gentoo 2.28 p1.2) 2.28
distcc 3.2rc1 x86_64-pc-linux-gnu [disabled]
ccache version 3.3.4 [enabled]
app-shells/bash:          4.4_p12::gentoo
dev-java/java-config:     2.2.0-r3::gentoo
dev-lang/perl:            5.24.1-r2::gentoo
dev-lang/python:          2.7.13::gentoo, 3.4.6::gentoo, 3.5.3::gentoo, 3.6.1-r1::gentoo
dev-util/ccache:          3.3.4::gentoo
dev-util/cmake:           3.8.2::gentoo
dev-util/pkgconfig:       0.29.2::gentoo
sys-apps/baselayout:      2.4.1::gentoo
sys-apps/openrc:          0.27.2::gentoo
sys-apps/sandbox:         2.10-r4::gentoo
sys-devel/autoconf:       2.13::gentoo, 2.69-r3::gentoo
sys-devel/automake:       1.11.6-r2::gentoo, 1.13.4-r1::gentoo, 1.15.1::gentoo
sys-devel/binutils:       2.28-r2::gentoo
sys-devel/gcc:            6.3.0::gentoo
sys-devel/gcc-config:     1.8-r1::gentoo
sys-devel/libtool:        2.4.6-r4::gentoo
sys-devel/make:           4.2.1-r1::gentoo
sys-kernel/linux-headers: 4.10::gentoo (virtual/os-headers)
sys-libs/glibc:           2.24-r3::gentoo
Repositories:

gentoo
    location: /usr/portage
    sync-type: rsync
    sync-uri: rsync://rsync.de.gentoo.org/gentoo-portage
    priority: -1000
    sync-rsync-extra-opts: --exclude-from=/etc/portage/rsync_excludes

galactica
    location: /usr/local/portage
    masters: gentoo

ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=native -mfpmath=sse,387 -mtune=intel -O3 -fomit-frame-pointer -malign-data=abi -mtls-dialect=gnu2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /etc/stunnel/stunnel.conf /usr/share/gnupg/qualified.txt /var/lib/fhem /var/lib/pyload /var/lib/slimserver/prefs /var/lib/unifi/data/system.properties"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/php/apache2-php7.1/ext-active/ /etc/php/cgi-php7.1/ext-active/ /etc/php/cli-php7.1/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/splash /etc/terminfo"
CXXFLAGS="-march=native -mfpmath=sse,387 -mtune=intel -O3 -fomit-frame-pointer -malign-data=abi -mtls-dialect=gnu2 -pipe -fvisibility-inlines-hidden"
DISTDIR="/usr/portage/distfiles"
EMERGE_DEFAULT_OPTS="--autounmask=n --quiet-build=n --with-bdeps=y"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs ccache config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="ftp://ftp.halifax.rwth-aachen.de/gentoo/"
INSTALL_MASK="/etc/xinetd.d/* /usr/lib/systemd/system/*"
LANG="de_DE.UTF-8"
LC_ALL="de_DE.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,--sort-common -Wl,-z,now"
MAKEOPTS="-j9 -l8"
PKGDIR="/usr/portage/packages"
PORTAGE_BUNZIP2_COMMAND="pbunzip2"
PORTAGE_BZIP2_COMMAND="pbzip2"
PORTAGE_COMPRESS="xz"
PORTAGE_COMPRESS_FLAGS="-9e"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_EXTRA_OPTS="--exclude-from=/etc/portage/rsync_excludes"
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 aac acl alsa amd64 berkdb bzip2 cairo caps cddb cgi cjk cracklib crypt ctype curl cvs cxx dbus dga djvu encode exif ffmpeg flite fontconfig ftp gd gif git gmp gnutls gpm graphviz hddtemp iconv icu idn imlib inotify introspection ipv6 javascript jbig jit jpeg jpeg2k lcms libcaca libnotify libsamplerate lm_sensors lzma lzo maildir mbox mhash mikmod mime mmap modplug mp3 mysql mysqli ncurses nls nntp nptl offensive ogg openal opencl opengl openmp orc oss pam pcre pdf perl png policykit posix postproc postscript pulseaudio python raw readline samba seccomp session simplexml slang sndfile sockets spell sqlite ssl subversion suid svg symlink syslog tcpd theora threads tiff truetype udev unicode usb vaapi vdpau vhosts vim-syntax vorbis wavpack webp wmf x264 xattr xcb xft xml xmp xpm xvid zeroconf zlib zsh-completion" ABI_X86="32 64" COLLECTD_PLUGINS="apcups cgroups conntrack contextswitch cpu cpusleep df disk dns entropy ethstat exec filecount hddtemp hugepages interface ipc ipmi irq load lvm md memory mysql netlink nfs nginx ntpd openvpn ping processes protocols rrdcached sensors serial smart swap syslog tcpconns thermal unixsock uptime users" CPU_FLAGS_X86="aes mmx mmxext sse sse2 sse3 ssse3 sse4_1 sse4_2" CURL_SSL="openssl" ELIBC="glibc" GRUB_PLATFORMS="pc" INPUT_DEVICES="libinput" KERNEL="linux" L10N="de de_DE" LCD_DEVICES="crystalfontz glcd2usb lcd2usb" LINGUAS="de de_DE" NGINX_MODULES_HTTP="access auth_basic autoindex charset fancyindex fastcgi geo geoip gunzip gzip proxy realip rewrite stub_status upstream_keepalive" NGINX_MODULES_STREAM="access geo geoip realip ssl_preread" PHP_TARGETS="php7-1" PYTHON_SINGLE_TARGET="python3_5" PYTHON_TARGETS="python2_7 python3_4 python3_5 python3_6" USERLAND="GNU" VIDEO_CARDS="ast fbdev"
USE_PYTHON="2.7 3.4 3.5 3.6"
Unset:  CC, CPPFLAGS, CTARGET, CXX
Comment 2 Mike Gilbert gentoo-dev 2017-06-24 16:39:23 UTC
Please provide the output from revdep-rebuild --debug.
Comment 3 Conrad Kostecki gentoo-dev 2017-06-24 16:43:33 UTC
(In reply to Mike Gilbert from comment #2)
> Please provide the output from revdep-rebuild --debug.

 * This is the new python coded version
 * Please report any bugs found using it.
 * The original revdep-rebuild script is installed as revdep-rebuild.sh
 * Please file bugs at: https://bugs.gentoo.org/
        main(), _libs_to_check = set([])
        all_masks:

                /lib/modules
                /lib32/modules
                /lib64/modules
                /opt/oracle-jdk-bin-1.8.0.131
                libjava.so
                libjawt.so
                libjvm.so
                libodbc.so
                libodbcinst.so
 * Collecting system binaries and libraries
        analyse(), bin directories:
                /bin
                /lib
                /lib32
                /lib64
                /opt/bin
                /sbin
                /usr/bin
                /usr/lib
                /usr/lib/llvm/4/bin
                /usr/lib32
                /usr/lib64
                /usr/libexec
                /usr/local/bin
                /usr/local/sbin
                /usr/sbin
                /usr/x86_64-pc-linux-gnu/armv7a-hardfloat-linux-gnueabi/gcc-bin/6.3.0
                /usr/x86_64-pc-linux-gnu/avr/gcc-bin/6.3.0
                /usr/x86_64-pc-linux-gnu/gcc-bin/6.3.0
        analyse(), lib directories:
                /bin
                /lib
                /lib32
                /lib64
                /sbin
                /usr/bin
                /usr/lib
                /usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0
                /usr/lib/gcc/x86_64-pc-linux-gnu/6.3.0/32
                /usr/lib/llvm/4/lib32
                /usr/lib/llvm/4/lib64
                /usr/lib32
                /usr/lib32/OpenCL/vendors/mesa
                /usr/lib64
                /usr/lib64/OpenCL/vendors/mesa
                /usr/libexec
                /usr/local/lib
                /usr/local/lib32
                /usr/local/lib64
                /usr/sbin
        analyse(), masked directories:
                /lib/modules
                /lib32/modules
                /lib64/modules
                /opt/oracle-jdk-bin-1.8.0.131
        analyse(), masked files:

                libjava.so
                libjawt.so
                libjvm.so
                libodbc.so
                libodbcinst.so
        time to complete task: 9 milliseconds
 * Collecting dynamic linking informations
        Exception collecting libraries: [Errno 2] No such file or directory: '/usr/local/lib32'
        time to complete task: 77532 milliseconds
        analyse(), Found 12335 libraries (+4561 symlinks) and 12161 binaries
 * Scanning files
        scan(), scanelf params = ['-BF', '%F;%f;%S;%n;%M'], # files: 12625
        scan(), final output length: 9161
        scan_files(); total time to get scanelf data is 683 milliseconds
        scan_files(); total filenames found: 6349 in 1506 milliseconds
 * Checking dynamic linking consistency
        analyse(), Searching for 12625 libs, bins within 16896 libraries and links
        LibCheck.__init__(), new searchlibs: ['32', '64']
        LibCheck.search(), Checking for broken 32 bit libs
        LibCheck.search(); FOUND: 32bit, ld-linux-armhf.so.3, /usr/lib64/gcc/armv7a-hardfloat-linux-gnueabi/6.3.0/libstdc++.so.6.0.22
        LibCheck.search(), Checking for broken 64 bit libs
        LibCheck.search(); Total found: 1 libs, 1 files in 975 milliseconds
 * Broken files that require: ld-linux-armhf.so.3 (32 bits)
        * /usr/lib64/gcc/armv7a-hardfloat-linux-gnueabi/6.3.0/libstdc++.so.6.0.22
        LibCheck.process_results(); total filepaths found: 1 in 0 milliseconds
 * Assign files to packages
        * /usr/lib64/gcc/armv7a-hardfloat-linux-gnueabi/6.3.0/libstdc++.so.6.0.22 -> cross-armv7a-hardfloat-linux-gnueabi/gcc-6.3.0
        assign_packages(); assigned 1 packages, 0 orphans in 7899 milliseconds

emerge  --verbose --oneshot --complete-graph=y cross-armv7a-hardfloat-linux-gnueabi/gcc:6.3.0
Comment 4 Mike Gilbert gentoo-dev 2017-06-24 20:41:23 UTC
I think crossdev should probably add /usr/lib/gcc/${CHOST} to SEARCH_DIRS_MASK in /etc/revdep-rebuild/05cross-${CHOST}.
Comment 5 Conrad Kostecki gentoo-dev 2017-06-24 21:00:28 UTC
(In reply to Mike Gilbert from comment #4)
> I think crossdev should probably add /usr/lib/gcc/${CHOST} to
> SEARCH_DIRS_MASK in /etc/revdep-rebuild/05cross-${CHOST}.

Seems to do the job.
File /usr/lib64/gcc/armv7a-hardfloat-linux-gnueabi/6.3.0/libstdc++.so.6.0.22 ignored as it is masked
Comment 6 Francisco Ares 2017-11-08 16:24:15 UTC
Issuing a revdeb-rebuild in verbose mode:

machine02 ~ # revdep-rebuild -iv -- -p
 * This is the new python coded version
 * Please report any bugs found using it.
 * The original revdep-rebuild script is installed as revdep-rebuild.sh
 * Please file bugs at: https://bugs.gentoo.org/
 * Collecting system binaries and libraries
 * Collecting dynamic linking informations
 * Scanning files
 * Checking dynamic linking consistency
 * Broken files that require: ld-linux-armhf.so.3 (32 bits)
        * /usr/lib64/gcc/armv7a-hardfloat-linux-gnueabi/5.4.0/libasan.so.2.0.0
        * /usr/lib64/gcc/armv7a-hardfloat-linux-gnueabi/5.4.0/libatomic.so.1.1.0
        * /usr/lib64/gcc/armv7a-hardfloat-linux-gnueabi/5.4.0/libgfortran.so.3.0.0
        * /usr/lib64/gcc/armv7a-hardfloat-linux-gnueabi/5.4.0/libgomp.so.1.0.0
        * /usr/lib64/gcc/armv7a-hardfloat-linux-gnueabi/5.4.0/libitm.so.1.0.0
        * /usr/lib64/gcc/armv7a-hardfloat-linux-gnueabi/5.4.0/libstdc++.so.6.0.21
        * /usr/lib64/gcc/armv7a-hardfloat-linux-gnueabi/5.4.0/libubsan.so.0.0.0
 * Assign files to packages
        * /usr/lib64/gcc/armv7a-hardfloat-linux-gnueabi/5.4.0/libstdc++.so.6.0.21 -> cross-armv7a-hardfloat-linux-gnueabi/gcc-5.4.0-r3
        * /usr/lib64/gcc/armv7a-hardfloat-linux-gnueabi/5.4.0/libitm.so.1.0.0 -> cross-armv7a-hardfloat-linux-gnueabi/gcc-5.4.0-r3
        * /usr/lib64/gcc/armv7a-hardfloat-linux-gnueabi/5.4.0/libatomic.so.1.1.0 -> cross-armv7a-hardfloat-linux-gnueabi/gcc-5.4.0-r3
        * /usr/lib64/gcc/armv7a-hardfloat-linux-gnueabi/5.4.0/libasan.so.2.0.0 -> cross-armv7a-hardfloat-linux-gnueabi/gcc-5.4.0-r3
        * /usr/lib64/gcc/armv7a-hardfloat-linux-gnueabi/5.4.0/libgomp.so.1.0.0 -> cross-armv7a-hardfloat-linux-gnueabi/gcc-5.4.0-r3
        * /usr/lib64/gcc/armv7a-hardfloat-linux-gnueabi/5.4.0/libgfortran.so.3.0.0 -> cross-armv7a-hardfloat-linux-gnueabi/gcc-5.4.0-r3
        * /usr/lib64/gcc/armv7a-hardfloat-linux-gnueabi/5.4.0/libubsan.so.0.0.0 -> cross-armv7a-hardfloat-linux-gnueabi/gcc-5.4.0-r3

emerge -p --verbose --oneshot --complete-graph=y cross-armv7a-hardfloat-linux-gnueabi/gcc:5.4.0

These are the packages that would be merged, in order:

Calculating dependencies... done!
[ebuild   R    ] cross-armv7a-hardfloat-linux-gnueabi/gcc-5.4.0-r3:5.4.0::x-portage  USE="cxx fortran nls nptl openmp sanitize vtv (-altivec) -awt -cilk -debug -doc (-fixed-point) -gcj -go -graphite -hardened -jit -libssp -mpx -multilib -nopie -nossp -objc -objc++ -objc-gc -pgo -regression-test -vanilla" 0 KiB

Total: 1 package (1 reinstall), Size of downloads: 0 KiB



Those broken files are part of the package. If they are removed, revdep-rebuild calms down, but the package itself is broken now.  If it is emerged back, revdep-rebuild complains again about the same issues.
Comment 7 whatever 2018-07-19 02:37:04 UTC
There's another problem with the interaction between crossdev and revdep-rebuild. The new python revdep-rebuild uses a regex to parse SEARCH_DIRS_MASK, like so:

    match = re.match('SEARCH_DIRS_MASK=\\"([^"]+)\\"', line)

Which means SEARCH_DIRS_MASK in 05cross-* must be quoted with double quotes for it to work. However, crossdev currently writes the value without quotes, e.g. SEARCH_DIRS_MASK=/usr/armv7a-hardfloat-linux-gnueabi, so it fails to parse.

Looking further into it, it seems that at least firefox-bin has the same issue writing SEARCH_DIRS_MASK=/opt/firefox into the config (even though it also ships with a correct yet apparently unused files/10firefox-bin). Perhaps this should be a revdep-rebuild bug/issue with its docs?
Comment 8 Conrad Kostecki gentoo-dev 2019-10-24 20:27:21 UTC
Seems to be fixed, as revdep-rebuild doesn't rebuild anymore all the time. At least for me.