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

Bug 334065

Summary: =sys-apps/portage-2.2rc68: rsync tries to transfer non-existent files with FEATURES=installsources and dev-util/debugedit-5.1.9
Product: Portage Development Reporter: Kobboi <gentoo>
Component: CoreAssignee: Portage team <dev-portage>
Status: CONFIRMED ---    
Severity: normal CC: arsen, eschwartz93, francesco, mgorny, sam, tester, toolchain, ua_gentoo_bugzilla
Priority: High    
Version: unspecified   
Hardware: All   
OS: Linux   
See Also: https://bugs.gentoo.org/show_bug.cgi?id=634378
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: clamav build.log, showing rsync error

Description Kobboi 2010-08-23 12:07:18 UTC
With FEATURES="installsources" set, an emerge of clamav seems to have (non-fatal) rsync issues. Logging and attaching build.log at the request of Portage dev "few"

Reproducible: Always
Comment 1 Kobboi 2010-08-23 12:07:49 UTC
Created attachment 244197 [details]
clamav build.log, showing rsync error
Comment 2 Kobboi 2010-08-23 12:33:23 UTC
 # emerge --info
Portage 2.2_rc68 (default/linux/amd64/10.0/desktop, gcc-4.4.4, glibc-2.11.2-r0, 2.6.35.2 x86_64)
=================================================================
System uname: Linux-2.6.35.2-x86_64-Intel-R-_Core-TM-_i7_CPU_930_@_2.80GHz-with-gentoo-1.12.13
Timestamp of tree: Mon, 23 Aug 2010 09:30:01 +0000
app-shells/bash:     4.0_p37
dev-java/java-config: 2.1.11
dev-lang/python:     2.4.6, 2.6.5-r2, 3.1.2-r4
dev-util/cmake:      2.8.1-r2
sys-apps/baselayout: 1.12.13
sys-apps/sandbox:    2.3-r1
sys-devel/autoconf:  2.13, 2.65
sys-devel/automake:  1.7.9-r2, 1.8.5-r4, 1.9.6-r3, 1.10.3, 1.11.1
sys-devel/binutils:  2.20.1-r1
sys-devel/gcc:       4.4.4-r1
sys-devel/gcc-config: 1.4.1
sys-devel/libtool:   2.2.6b
sys-devel/make:      3.81-r2
virtual/os-headers:  2.6.34 (sys-kernel/linux-headers)
ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=core2 -msse4 -mcx16 -mpopcnt -msahf -O2 -pipe -g"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/X11/xkb /usr/share/config /var/bind /var/lib/hsqldb"
CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/env.d/java/ /etc/eselect/postgresql /etc/fonts/fonts.conf /etc/gconf /etc/php/apache2-php5/ext-active/ /etc/php/cgi-php5/ext-active/ /etc/php/cli-php5/ext-active/ /etc/portage /etc/revdep-rebuild /etc/sandbox.d /etc/splash /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-march=core2 -msse4 -mcx16 -mpopcnt -msahf -O2 -pipe -g"
DISTDIR="/usr/portage/distfiles"
FEATURES="assume-digests buildpkg distlocks fixlafiles fixpackages installsources keeptemp news parallel-fetch preserve-libs protect-owned sandbox sfperms splitdebug strict unknown-features-warn unmerge-logs unmerge-orphans userfetch"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j8"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/var/lib/layman/sunrise /var/lib/layman/gnome /var/lib/layman/gamerlay /home/christophe/kobboi"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X a52 aac acl acpi alsa amd64 berkdb bluetooth branding bzip2 cairo cdr cli consolekit cracklib crypt cups cxx dbus doc dri dts dvd dvdr emboss encode examples exif fam firefox flac fortran fuse gdbm gif gnome gpm gtk iconv ipv6 jpeg kde lcms ldap libnotify lm_sensors mad mikmod mmx mng modules mp3 mp4 mpeg mudflap multilib nautilus ncurses nls nptl nptlonly ogg opengl openmp pam pango pcre pdf perl png ppds pppd python qt3support qt4 readline reflection sdl session spell spl sse sse2 ssl startup-notification svg sysfs tcpd tiff truetype unicode usb vorbis x264 xcb xml xorg xulrunner xv xvid xvmc zlib" ALSA_CARDS="hda-intel" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="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" ELIBC="glibc" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" RUBY_TARGETS="ruby18" USERLAND="GNU" VIDEO_CARDS="nvidia nouveau" 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:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, FFLAGS, INSTALL_MASK, LANG, LC_ALL, LINGUAS, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 3 Kobboi 2010-08-23 12:33:47 UTC
Same result with MAKEOPTS="-j1" instead of "-j10"
Comment 4 Zac Medico gentoo-dev 2010-08-23 15:17:03 UTC
It seems like a quirk of the app-antivirus/clamav-0.96.1 build system. It's as if it generated a temporary source file and then removed it. Are you seeing this for any other packages?
Comment 5 Kobboi 2010-08-23 15:59:59 UTC
I cleared /var/tmp/portage and emerged 4 random packages.

$ for i in `find /var/tmp/portage/ -name build.log`; do echo ">>> $i";  grep rsync $i; done
>>> /var/tmp/portage/media-video/mplayer-1.0_rc4_p20091026-r1/temp/build.log
installsources: rsyncing source files
>>> /var/tmp/portage/gnome-base/gnome-panel-2.30.2/temp/build.log
installsources: rsyncing source files
>>> /var/tmp/portage/sys-apps/iproute2-2.6.35-r1/temp/build.log
installsources: rsyncing source files
rsync: link_stat "/var/tmp/portage/sys-apps/iproute2-2.6.35-r1/work/iproute2-2.6.35/tc/emp_ematch.lex.c" failed: No such file or directory (2)
rsync: link_stat "/var/tmp/portage/sys-apps/iproute2-2.6.35-r1/work/iproute2-2.6.35/tc/emp_ematch.yacc.c" failed: No such file or directory (2)
rsync error: some files/attrs were not transferred (see previous errors) (code 23) at main.c(1039) [sender=3.0.6]
>>> /var/tmp/portage/sys-apps/usb_modeswitch-1.1.3-r1/temp/build.log
installsources: rsyncing source files
Comment 6 Zac Medico gentoo-dev 2010-08-24 16:18:28 UTC
(In reply to comment #5)
> installsources: rsyncing source files
> rsync: link_stat
> "/var/tmp/portage/sys-apps/iproute2-2.6.35-r1/work/iproute2-2.6.35/tc/emp_ematch.lex.c"
> failed: No such file or directory (2)
> rsync: link_stat
> "/var/tmp/portage/sys-apps/iproute2-2.6.35-r1/work/iproute2-2.6.35/tc/emp_ematchemp_ematch.yacc.c"
> failed: No such file or directory (2)

I was able to reproduce this one by building it (with installsources in FEATURES, -ggdb in CFLAGS, and debugedit-5.1.9 installed). The files don't exist, but the directory paths appeart to be correct since there are related corresponding .o files in them.

I'm not sure if this is simply the fault of the build system for removing the files after compiling them, or if debugedit is making some kind of mistake. However, I suspect it's the build system's fault.

Adding debugedit maintainer and herd to CC, in case they have anything to say.
Comment 7 Andreas K. Hüttel archtester gentoo-dev 2017-06-22 21:12:18 UTC
Not sure why toolchain is involved here.
Comment 8 knight4553kai@gmx.com 2019-11-04 04:41:43 UTC Comment hidden (spam)
Comment 9 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2023-12-14 08:44:54 UTC
I'm still seeing this for generated files.

Also, I have a feeling either one of, or both of, Arsen and Eli have mentioned this to me.
Comment 10 Arsen Arsenović gentoo-dev 2023-12-14 10:19:12 UTC
I certainly have.  I've seen generated parser sources, as well as their corresponding .y{,y} files in rsync complaints
Comment 11 Arsen Arsenović gentoo-dev 2023-12-14 10:28:07 UTC
ah, I see why some of these happen.  per (make)Chained Rules, make removes intermediary files.  for instance, bash has <builtin>.def files, that get converted to <builtin>.c files and then to <builtin>.o files.  the middle step gets removed.
Comment 12 Arsen Arsenović gentoo-dev 2023-12-14 10:28:56 UTC
oh, but bash does:

.def.o:
        $(RM) $@
        ./$(MKBUILTINS) $(DIRECTDEFINE) $<
        $(CC) -c $(CCFLAGS) $*.c || ( $(RM) $*.c ; exit 1 )
        $(RM) $*.c

... annoying.