Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 660824 - app-misc/lirc-0.10.0: fails parallel make
Summary: app-misc/lirc-0.10.0: fails parallel make
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Craig Andrews
URL: https://sourceforge.net/p/lirc/ticket...
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2018-07-09 19:41 UTC by Frank Krömmelbein
Modified: 2018-08-01 16:38 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
build.log (build.log,207.84 KB, text/plain)
2018-07-09 19:42 UTC, Frank Krömmelbein
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Frank Krömmelbein 2018-07-09 19:41:18 UTC
Reinstall of app-misc/lirc-0.10.0 fails for me with this error (0.10.1 fails with same error too):

/usr/lib/portage/python3.6/ebuild-helpers/xattr/install -c -m 644 lirc.org/images/atwf83.jpg lirc.org/images/marb18.jpg lirc.org/images/diode.gif lirc.org/images/lirc.gif '/var/tmp/portage/app-misc/lirc-0.10.0/image//var/lib/lirc/images'
Traceback (most recent call last):
  File "setup.py", line 10, in <module>
    import lirc.config
  File "/var/tmp/portage/app-misc/lirc-0.10.0/work/lirc-0.10.0/python-pkg/lirc/__init__.py", line 5, in <module>
    from . import paths
  File "/var/tmp/portage/app-misc/lirc-0.10.0/work/lirc-0.10.0/python-pkg/lirc/paths.py", line 22, in <module>
    os.path.join(HERE, '_client.so'))
FileExistsError: [Errno 17] File exists: '../lib/.libs/_client.so' -> '/var/tmp/portage/app-misc/lirc-0.10.0/work/lirc-0.10.0/python-pkg/lirc/_client.so'
make[2]: *** [Makefile:1577: all-local] Error 1
make[2]: *** Waiting for unfinished jobs....
make[1]: *** [Makefile:1092: install-recursive] Error 1
make: *** [Makefile:1398: install] Error 2
 * ERROR: app-misc/lirc-0.10.0::gentoo failed (install phase):
 *   emake failed

Last successfull emerge:
     Mon Jun 25 09:53:38 2018 >>> app-misc/lirc-0.10.0
       merge time: 1 minute and 41 seconds.


Portage 2.3.40 (python 3.6.5-final-0, default/linux/amd64/17.0/desktop/plasma, gcc-7.3.0, glibc-2.26-r7, 4.14.52-gentoo x86_64)
=================================================================
                         System Settings
=================================================================
System uname: Linux-4.14.52-gentoo-x86_64-Intel-R-_Core-TM-_i5-2500K_CPU_@_3.30GHz-with-gentoo-2.4.1
KiB Mem:    16297920 total,  10139444 free
KiB Swap:          0 total,         0 free
Head commit of repository gentoo: 348c9e6123d432411b5d2b3354e9293e4e271487

sh bash 4.4_p12
ld GNU ld (Gentoo 2.30 p2) 2.30.0
app-shells/bash:          4.4_p12::gentoo
dev-java/java-config:     2.2.0-r4::gentoo
dev-lang/perl:            5.24.3-r1::gentoo
dev-lang/python:          2.7.14-r1::gentoo, 3.6.5::gentoo
dev-util/cmake:           3.9.6::gentoo
dev-util/pkgconfig:       0.29.2::gentoo
sys-apps/baselayout:      2.4.1-r2::gentoo
sys-apps/openrc:          0.34.11::gentoo
sys-apps/sandbox:         2.13::gentoo
sys-devel/autoconf:       2.13::gentoo, 2.69-r4::gentoo
sys-devel/automake:       1.11.6-r3::gentoo, 1.15.1-r2::gentoo
sys-devel/binutils:       2.30-r2::gentoo
sys-devel/gcc:            7.3.0-r3::gentoo
sys-devel/gcc-config:     1.8-r1::gentoo
sys-devel/libtool:        2.4.6-r3::gentoo
sys-devel/make:           4.2.1::gentoo
sys-kernel/linux-headers: 4.13::gentoo (virtual/os-headers)
sys-libs/glibc:           2.26-r7::gentoo
Repositories:

gentoo
    location: /mnt/sda6/portage
    sync-type: git
    sync-uri: https://anongit.gentoo.org/git/repo/gentoo.git
    priority: -1000

mylocal
    location: /usr/local/portage
    masters: gentoo
    priority: 0

steam-overlay
    location: /var/lib/layman/steam-overlay
    masters: gentoo
    priority: 50

ACCEPT_KEYWORDS="amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=native -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/lib64/libreoffice/program/sofficerc /usr/share/config /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="/mnt/sda3/distfiles"
ENV_UNSET="DBUS_SESSION_BUS_ADDRESS DISPLAY 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="-O2 -pipe"
FEATURES="assume-digests binpkg-logs collision-protect config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync multilib-strict news parallel-fetch preserve-libs protect-owned sandbox sfperms strict unknown-features-warn unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync xattr"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://distfiles.gentoo.org"
LANG="de_DE.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
LINGUAS="de en"
MAKEOPTS="-j4"
PKGDIR="/usr/portage/packages"
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 aacs acl acpi activities alsa amd64 appstream berkdb bluetooth bluray branding btrfs bzip2 cairo cdda cdr cec chipcard chm cli corefonts crypt cryptsetup css cups cxx dbus declarative device-mapper djvu dmraid dri dts dvb dvd dvdr ebook elogind emboss encode epub exif f2fs fam fat ffmpeg flac fortran fuse gdbm gif gimp glamor google gpg gphoto2 gpm gtk iconv idn infinality ipv6 jfs jpeg kde kipi kwallet lcms ldap libnotify libtirpc linguas_de lirc lm_sensors logrotate lvm lz4 lzma lzo mad mdadm mjpeg mng mobi modules mp3 mp4 mpeg mtp multilib multimedia ncurses networkmanager nfs nls nptl ntfs ogg opencl openexr opengl openmp pam pango pcre pdf phonon pim plasma plymouth pm-utils png policykit postscript ppds qml qt5 rar raw readline reiser4 reiserfs rtmp samba scanner sdl seccomp semantic-desktop sftp smartcard speech spell spice ssl startup-notification svg taglib tcl tcpd thumbnail tiff touchpad truetype udev udf udisks unicode upower usb v4l vaapi vcd vdpau vnc vorbis vulkan wayland webp widgets wifi wmf wxwidgets x264 x265 xattr xcb xcomposite xfs xml xpm xv xvid xvmc yubikey zlib" ABI_X86="64" 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="author braindump flow karbon kexi plan sheets stage words" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="avx mmx mmxext popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock isync itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf skytraq superstar2 timing tsip tripmate tnt ublox ubx" INPUT_DEVICES="evdev keyboard joystick mouse synaptics" KERNEL="linux" L10N="de en" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="nlpsolver" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-6 php7-0" POSTGRES_TARGETS="postgres9_5 postgres10" PYTHON_SINGLE_TARGET="python3_6" PYTHON_TARGETS="python2_7 python3_6" RUBY_TARGETS="ruby23" USERLAND="GNU" VIDEO_CARDS="intel fbdev vesa nouveau nvidia dummy i965 radeon radeonsi amdgpu" 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, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LC_ALL, PORTAGE_BINHOST, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS

=================================================================
                        Package Settings
=================================================================

app-misc/lirc-0.10.0::gentoo was built with the following:
USE="X devinput gtk uinput usb -audio -doc -ftdi -inputlirc -static-libs -systemd" ABI_X86="(64)" PYTHON_SINGLE_TARGET="python3_6 -python3_4 -python3_5" PYTHON_TARGETS="python3_6 -python3_4 -python3_5"
Comment 1 Frank Krömmelbein 2018-07-09 19:42:00 UTC
Created attachment 539030 [details]
build.log
Comment 2 Craig Andrews gentoo-dev 2018-07-16 13:44:51 UTC
Can you clarify what you mean by reinstall?

I tried these steps and was unable to reproduce the problem:
* Start with lirc not installed
* emerge app-misc/lirc
* emerge app-misc/lirc
Comment 3 Frank Krömmelbein 2018-07-16 15:59:16 UTC
(In reply to Craig Andrews from comment #2)
> Can you clarify what you mean by reinstall?
> 
That i could emerge exactly this version on Jun 25. But now it fails.
I also tried: 
emerge -C lirc && emerge -1 lirc
with same error in install phase.
Comment 4 Manuel McLure 2018-07-16 22:04:24 UTC
I had the same problem and did some research into this. The problem is that the setup.py script is being called twice and those calls are overlapping so there's a race condition between the code that checks for the existence of the file and the code that creates the file. The workaround is to ensure that lirc builds with only one make thread. To do so, create a file "/etc/portage/env/singlemakethread.conf" containing the following single line:

MAKEOPTS="-j1"

Then in "/etc/portage/package.env" add the following line:

app-misc/lirc   singlemakethread.conf

The lirc ebuild will now build correctly.
Comment 5 Small_Penguin 2018-07-18 18:41:13 UTC
I confirm the existence of the problem and that calling emerge lirc with MAKEOPTS="-j1" fixes it.
Comment 6 Frank Krömmelbein 2018-07-18 19:39:38 UTC
Thank you very much, MAKEOPTS="-j1" works for me too.
But I'm wondering where this problem suddenly comes from.
Comment 7 Manuel McLure 2018-07-18 21:21:03 UTC
I think it's just a timing issue. When I first ran into this I thought that it was due to the use of os.path.exists() in paths.py instead of using os.path.lexists(), so I did a patch to change that and it seemed to work. But then when I tried to upgrade from 0.10.0 to 0.10.1 it had the same problem even though the patch was in place. So this is something that sometimes causes problems and sometimes doesn't - it can depend on the speed of the system, what else is happening at the time, etc.
Comment 8 Craig Andrews gentoo-dev 2018-08-01 16:19:02 UTC
Reported upstream at https://sourceforge.net/p/lirc/tickets/334/
Comment 9 Larry the Git Cow gentoo-dev 2018-08-01 16:38:08 UTC
The bug has been closed via the following commit(s):

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

commit b04f77d3b680bbb446f5b1a370830f9341f51931
Author:     Craig Andrews <candrews@gentoo.org>
AuthorDate: 2018-08-01 16:21:55 +0000
Commit:     Craig Andrews <candrews@gentoo.org>
CommitDate: 2018-08-01 16:37:42 +0000

    app-misc/lirc: Parallel make fails so don't parallel make
    
    Closes: https://bugs.gentoo.org/660824
    Package-Manager: Portage-2.3.44, Repoman-2.3.10

 app-misc/lirc/lirc-0.10.1.ebuild | 2 ++
 1 file changed, 2 insertions(+)