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

Bug 554836

Summary: dev-lang/spidermonkey file collisions between slots with perl-5.22
Product: Gentoo Linux Reporter: Cosmin Giradu <ncosmin>
Component: Current packagesAssignee: Mozilla Gentoo Team <mozilla>
Status: RESOLVED DUPLICATE    
Severity: normal CC: gnome, ncosmin
Priority: Normal    
Version: unspecified   
Hardware: AMD64   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---
Attachments: Replacing if(defined(@array)) with if(@array) seems to solve the issue

Description Cosmin Giradu 2015-07-14 08:33:33 UTC
I got file collisions while trying to emerge -e @world between the two slotted installations of spidermonkey.
I have tried unmerging both versions and then remerging, but I still get the same collisions. Right now I only have dev-lang/spidermonkey-1.8.5-r4 installed because after the unmerge dev-lang/spidermonkey-24.2.0-r2 refuses to install.

Reproducible: Always

Steps to Reproduce:
1. emerge -v1 dev-lang/spidermonkey:0 dev-lang/spidermonkey:24

Actual Results:  
 * This package will overwrite one or more files that may belong to other
 * packages (see list below). You can use a command such as `portageq
 * owners / <filename>` to identify the installed package that owns a
 * file. If portageq reports that only one package owns a file then do
 * NOT file a bug report. A bug report is only useful if it identifies at
 * least two or more packages that are known to install the same file(s).
 * If a collision occurs and you can not explain where the file came from
 * then you should simply ignore the collision since there is not enough
 * information to determine if a real problem exists. Please do NOT file
 * a bug report at http://bugs.gentoo.org unless you report exactly which
 * two packages install the same file(s). See
 * http://wiki.gentoo.org/wiki/Knowledge_Base:Blockers for tips on how to
 * solve the problem. And once again, please do NOT file a bug report
 * unless you have completely understood the above message.
 * 
 * Detected file collision(s):
 * 
 * 	/usr/bin/js-config
 * 	/usr/bin/js
 * 
 * Searching all installed packages for file collisions...
 * 
 * Press Ctrl-C to Stop
 * 
 * dev-lang/spidermonkey-1.8.5-r4:0::gentoo
 * 	/usr/bin/js
 * 	/usr/bin/js-config
 * 
 * Package 'dev-lang/spidermonkey-24.2.0-r2' NOT merged due to file
 * collisions. If necessary, refer to your elog messages for the whole
 * content of the above message.


Expected Results:  
both spidermonkey versions should install

emerge --info dev-lang/spidermonkey
Portage 2.2.20 (python 2.7.10-final-0, default/linux/amd64/13.0/desktop/gnome/systemd, gcc-4.9.3, glibc-2.20-r2, 4.1.1-z216 x86_64)
=================================================================
                         System Settings
=================================================================
System uname: Linux-4.1.1-z216-x86_64-Intel-R-_Pentium-R-_CPU_G620_@_2.60GHz-with-gentoo-2.2
KiB Mem:    12170680 total,    383712 free
KiB Swap:   17665272 total,  17662328 free
Timestamp of repository gentoo: Tue, 14 Jul 2015 08:00:01 +0000
sh bash 4.3_p39
ld GNU ld (Gentoo 2.25 p1.2) 2.25
ccache version 3.2.2 [enabled]
app-shells/bash:          4.3_p39::gentoo
dev-java/java-config:     2.2.0::gentoo
dev-lang/perl:            5.22.0::gentoo
dev-lang/python:          2.7.10::gentoo, 3.3.5-r1::gentoo, 3.4.3::gentoo
dev-util/ccache:          3.2.2::gentoo
dev-util/cmake:           3.2.3::gentoo
dev-util/pkgconfig:       0.28-r3::gentoo
sys-apps/baselayout:      2.2::gentoo
sys-apps/openrc:          0.17::gentoo
sys-apps/sandbox:         2.6-r1::gentoo
sys-devel/autoconf:       2.13::gentoo, 2.69-r1::gentoo
sys-devel/automake:       1.10.3-r1::gentoo, 1.11.6-r1::gentoo, 1.13.4::gentoo, 1.14.1::gentoo, 1.15::gentoo
sys-devel/binutils:       2.25-r1::gentoo
sys-devel/gcc:            4.9.3::gentoo
sys-devel/gcc-config:     1.8::gentoo
sys-devel/libtool:        2.4.6-r1::gentoo
sys-devel/make:           4.1-r1::gentoo
sys-kernel/linux-headers: 4.1::gentoo (virtual/os-headers)
sys-libs/glibc:           2.20-r2::gentoo
Repositories:

gentoo
    location: /usr/portage
    sync-type: rsync
    sync-uri: rsync://rsync.gentoo.org/gentoo-portage
    priority: -1000

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

digi-pppoe
    location: /usr/local/digi-portage
    masters: gentoo
    priority: 1

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

sublime-text
    location: /var/lib/layman/sublime-text
    masters: gentoo
    priority: 50

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

ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="* -@EULA Oracle-BCLA-JavaSE AdobeFlash-10.3 AdobeFlash-11.x PUEL google-chrome Google-TOS"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-O2 -march=native -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/lib64/libreoffice/program/sofficerc /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/php/apache2-php5.5/ext-active/ /etc/php/apache2-php5.6/ext-active/ /etc/php/cgi-php5.5/ext-active/ /etc/php/cgi-php5.6/ext-active/ /etc/php/cli-php5.5/ext-active/ /etc/php/cli-php5.6/ext-active/ /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo"
CXXFLAGS="-O2 -march=native -pipe"
DISTDIR="/home/portage/distfiles"
EMERGE_DEFAULT_OPTS="--quiet-build=y"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs ccache config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync 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="en_US.UTF-8"
LC_ALL="en_US.UTF-8"
LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,--sort-common"
MAKEOPTS="-j3 -l32"
PKGDIR="/var/www/localhost/htdocs/genpkgs"
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"
PORTAGE_TMPDIR="/home/tmp"
USE="64bit S3TC X a52 aac aacplus acl acpi addns ads aio alsa amd64 anacron android authfile avx bash-completion bazaar bcmath berkdb bgpclassless bittorrent bluetooth branding bzip2 cairo caps cdda cddb cdinstall cdio cdr cgi clang cli clutter colord contrib corefonts cpio cracklib cron crypt cscope ctrls cups curl curlwrappers cxx d dbus dconf desktopglobe development double-precision dri dts dvd dvdr eap eap-sim eap-tls eds efiemu egl eglfs emboss encode evdev evo exif extensions extraengine faac fam fasteap firefox firmware flac font-styles fontconfig fontforge fonts fortran fpm ftp g3dvl gallium gbm gconf gd gdbm gdm gdu gif git glsl gmp gnome gnome-keyring gnome-online-accounts gnome-shell go gold gpg gpm graphite gssapi gstreamer gtk gtk3 gtkhotkey gtkhtml gtkspell hddtemp highlight hls hs2-0 http iconv icu id3tag imap infinality ingnome3 inifile inotify int-quality intl introspection iproute2 iptables ipv6 irc ithreads jabber java jemalloc jpeg jpeg2k json json-c kdbus kernel-builtin lame lcdfilter lcms ldap libav libav-aac libev libevent libkms libnotify libsecret libwww libxml2 libyaml lightning lighttpd llvm llvm-shared-libs lm_sensors lto lua lzma mad matroska mbox memcached mercurial mhash minizip mmap mms mmx mmxext mng modemmanager modules mono mp3 mp4 mpeg mplayer msn mudflap multilib mysql mysqli mysqlnd nano-syntax nautilus ncurses network network-cron networking new-login nls nptl nscd nsplugin ogg opengl openmp openrc openssl optimization opus pam pango pcntl pcre pcre16 pcre32 pdf perl php png policykit postproc postscript ppds printsupport pulseaudio python python3 qt3support qt4 r600-llvm-compiler rar rdesktop readline rpc rss rtc rtf rtmp rtsp ruby samba sandbox scanner sdl secure-delete sendmail session shaders shaper shared-glapi shout sip sipim skins slp smbclient smbsharemodes smi smp smux sna snmp soap sockets socks socks5 spell sphinx sql sqlite sqlite3 sse sse2 sse2_4way sse2check sse3 sse4 sse4_1 ssl ssse3 staging startup-notification stream subtitles subversion suid svg swat syslog system-boost system-cairo system-ffmpeg system-icu system-jpeg system-libvncserver system-libvpx system-sqlite systemd systray tcmalloc tcpd tdls theora threads thunderbird tidy tiff tracker truetype udev udisks uncommon-eap-types unicode unlock-notify upcall upnp upnp-av upower usb uxa vaapi vala vdpau vim vim-pager vim-syntax vlc vnc vorbis vpx vroot wayland wayland-compositor webgl webkit webkit2 webm webp winbind wma wxwidgets x264 xa xattr xcb xft xhtml xls xml xmlreader xmlrpc xmlwriter xmpp xmppuriqueries xorg xpm xrandr xrender xsl xslt xspice xterm xtradb xv xvid xvmc xwayland xz yahoo yaml youtube zeitgeist zip zlib" ABI_X86="32 64" ALSA_CARDS="hda-intel" 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="kexi words flow plan sheets stage tables krita karbon braindump author" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CPU_FLAGS_X86="mmx mmxext popcnt sse sse2 sse3 sse4_1 sse4_2 ssse3" CURL_SSL="nss" DRACUT_MODULES="caps systemd syslog" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ublox ubx" GRUB_PLATFORMS="pc coreboot efi-32 efi-64" INPUT_DEVICES="evdev keyboard mouse" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer pdfimport" LINGUAS="en" OFFICE_IMPLEMENTATION="libreoffice" PHP_TARGETS="php5-5" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_3" RUBY_TARGETS="ruby19 ruby20 ruby21 ruby22" SANE_BACKENDS="hp" USERLAND="GNU" VIDEO_CARDS="intel nouveau 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:  CPPFLAGS, CTARGET, INSTALL_MASK, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON

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

dev-lang/spidermonkey-1.8.5-r4::gentoo was built with the following:
USE="-debug -minimal -static-libs -test" ABI_X86="64"
Comment 1 Cosmin Giradu 2015-07-14 08:47:24 UTC
It looks like the build system looses the slot and/or version information somewhere:

# ls -la /home/tmp/portage/dev-lang/spidermonkey-24.2.0-r2/image/usr/lib64/
total 2860
drwxr-xr-x 3 root root    4096 Jul 14 11:45 .
drwxr-xr-x 5 root root    4096 Jul 14 11:45 ..
-rwxr-xr-x 1 root root 2915632 Jul 14 11:45 libmozjs-.so
drwxr-xr-x 2 root root    4096 Jul 14 11:45 pkgconfig


# find /home/tmp/portage/dev-lang/spidermonkey-24.2.0-r2/image -type d
/home/tmp/portage/dev-lang/spidermonkey-24.2.0-r2/image
/home/tmp/portage/dev-lang/spidermonkey-24.2.0-r2/image/usr
/home/tmp/portage/dev-lang/spidermonkey-24.2.0-r2/image/usr/bin
/home/tmp/portage/dev-lang/spidermonkey-24.2.0-r2/image/usr/lib64
/home/tmp/portage/dev-lang/spidermonkey-24.2.0-r2/image/usr/lib64/pkgconfig
/home/tmp/portage/dev-lang/spidermonkey-24.2.0-r2/image/usr/include
/home/tmp/portage/dev-lang/spidermonkey-24.2.0-r2/image/usr/include/mozjs-
/home/tmp/portage/dev-lang/spidermonkey-24.2.0-r2/image/usr/include/mozjs-/mozilla
/home/tmp/portage/dev-lang/spidermonkey-24.2.0-r2/image/usr/include/mozjs-/js
Comment 2 Cosmin Giradu 2015-07-14 09:17:14 UTC
Seems to be perl related. What I think happened is: I did an emerge -e @world and in the process that upgraded the version of perl on my system from 5.20 to 5.22. I'm doing a perl-cleaner --really-all right now, and see what happens next

More (relevant) info below:

# ebuild /usr/portage/dev-lang/spidermonkey/spidermonkey-24.2.0-r2.ebuild install
 * mozjs-24.2.0.tar.bz2 SHA256 SHA512 WHIRLPOOL size ;-) ...                                                                                            [ ok ]
 * checking ebuild checksums ;-) ...                                                                                                                    [ ok ]
 * checking auxfile checksums ;-) ...                                                                                                                   [ ok ]
 * checking miscfile checksums ;-) ...                                                                                                                  [ ok ]
>>> Unpacking source...
>>> Unpacking mozjs-24.2.0.tar.bz2 to /home/tmp/portage/dev-lang/spidermonkey-24.2.0-r2/work
>>> Source unpacked in /home/tmp/portage/dev-lang/spidermonkey-24.2.0-r2/work
>>> Preparing source in /home/tmp/portage/dev-lang/spidermonkey-24.2.0-r2/work/mozjs-24.2.0 ...
 * Applying spidermonkey-24-system-icu.patch ...                                                                                                        [ ok ]
 * Applying spidermonkey-24.2.0-fix-file-permissions.patch ...                                                                                          [ ok ]
 * Applying spidermonkey-24-upward-growing-stack.patch ...                                                                                              [ ok ]
 * Running autoconf ...                                                                                                                                 [ ok ]
>>> Source prepared.
>>> Configuring source in /home/tmp/portage/dev-lang/spidermonkey-24.2.0-r2/work/mozjs-24.2.0 ...
 * econf: updating mozjs-24.2.0/intl/icu/source/config.sub with /usr/share/gnuconfig/config.sub
 * econf: updating mozjs-24.2.0/intl/icu/source/config.guess with /usr/share/gnuconfig/config.guess
 * econf: updating mozjs-24.2.0/js/src/ctypes/libffi/config.sub with /usr/share/gnuconfig/config.sub
 * econf: updating mozjs-24.2.0/js/src/ctypes/libffi/config.guess with /usr/share/gnuconfig/config.guess
 * econf: updating mozjs-24.2.0/js/src/build/autoconf/config.sub with /usr/share/gnuconfig/config.sub
 * econf: updating mozjs-24.2.0/js/src/build/autoconf/config.guess with /usr/share/gnuconfig/config.guess
./configure --prefix=/usr --build=x86_64-pc-linux-gnu --host=x86_64-pc-linux-gnu --mandir=/usr/share/man --infodir=/usr/share/info --datadir=/usr/share --sysconfdir=/etc --localstatedir=/var/lib --libdir=/usr/lib64 --with-system-icu --enable-jemalloc --enable-readline --enable-threadsafe --with-system-nspr --enable-system-ffi --disable-optimize --enable-intl-api --disable-debug --disable-yarr-jit --disable-ion --disable-static --disable-tests
creating cache ./config.cache
checking host system type... x86_64-pc-linux-gnu
checking target system type... x86_64-pc-linux-gnu
checking build system type... x86_64-pc-linux-gnu
checking for mawk... no
checking for gawk... gawk
checking for perl5... no
checking for perl... /usr/bin/perl
Can't use 'defined(@array)' (Maybe you should just omit the defined()?) at ./config/milestone.pl line 59.
Can't use 'defined(@array)' (Maybe you should just omit the defined()?) at ./config/milestone.pl line 59.
Can't use 'defined(@array)' (Maybe you should just omit the defined()?) at ./config/milestone.pl line 59.
checking for gcc... x86_64-pc-linux-gnu-gcc
checking whether the C compiler (x86_64-pc-linux-gnu-gcc -O2 -march=native -pipe -Wl,-O1 -Wl,--as-needed -Wl,--sort-common) works... yes
checking whether the C compiler (x86_64-pc-linux-gnu-gcc -O2 -march=native -pipe -Wl,-O1 -Wl,--as-needed -Wl,--sort-common) is a cross-compiler... no
checking whether we are using GNU C... yes
checking whether x86_64-pc-linux-gnu-gcc accepts -g... yes
checking for c++... x86_64-pc-linux-gnu-g++
checking whether the C++ compiler (x86_64-pc-linux-gnu-g++ -O2 -march=native -pipe -Wl,-O1 -Wl,--as-needed -Wl,--sort-common) works... yes
checking whether the C++ compiler (x86_64-pc-linux-gnu-g++ -O2 -march=native -pipe -Wl,-O1 -Wl,--as-needed -Wl,--sort-common) is a cross-compiler... no
checking whether we are using GNU C++... yes
checking whether x86_64-pc-linux-gnu-g++ accepts -g... yes
checking for ranlib... x86_64-pc-linux-gnu-ranlib
checking for as... /usr/bin/as
checking for ar... x86_64-pc-linux-gnu-ar
checking for ld... x86_64-pc-linux-gnu-ld
checking for strip... strip
checking for windres... no
checking how to run the C preprocessor... x86_64-pc-linux-gnu-gcc -E
checking how to run the C++ preprocessor... x86_64-pc-linux-gnu-g++ -E
checking for sb-conf... no
checking for ve... no
checking for a BSD compatible install... /usr/lib/portage/python2.7/ebuild-helpers/xattr/install -c
checking whether ln -s works... yes
checking for tar archiver... checking for gnutar... no
checking for gtar... no
checking for tar... tar
tar
checking for minimum required perl version >= 5.006... 5.022000
checking for full perl installation... yes
Using Python from environment variable $PYTHON
Creating Python environment
New python executable in /home/tmp/portage/dev-lang/spidermonkey-24.2.0-r2/work/mozjs-24.2.0/js/src/_virtualenv/bin/python2.7
Also creating executable in /home/tmp/portage/dev-lang/spidermonkey-24.2.0-r2/work/mozjs-24.2.0/js/src/_virtualenv/bin/python
Installing setuptools............done.
Installing pip...............done.
running build_ext
copying build/lib.linux-x86_64-2.7/_psutil_linux.so -> 
copying build/lib.linux-x86_64-2.7/_psutil_posix.so -> 

checking Python environment is Mozilla virtualenv... yes
checking for doxygen... :
checking for autoconf... /usr/bin/autoconf
checking for xargs... /usr/bin/xargs
checking for gmake... /usr/bin/gmake
checking for X... libraries /usr/lib64, headers 
checking for dnet_ntoa in -ldnet... no
checking for dnet_ntoa in -ldnet_stub... no
checking for gethostbyname... yes
checking for connect... yes
checking for remove... yes
checking for shmat... yes
checking for IceConnectionNumber in -lICE... yes
checking that static assertion macros used in autoconf tests work... yes
checking for --build-id option to ld... yes
checking whether the C compiler supports -Werror=return-type... yes
checking whether the C compiler supports -Wtype-limits... yes
checking whether the C compiler supports -Wempty-body... yes
checking whether the C compiler supports -Wsign-compare... yes
checking whether the C++ compiler supports -Werror=return-type... yes
checking whether the C++ compiler supports -Wtype-limits... yes
checking whether the C++ compiler supports -Wempty-body... yes
checking whether the C++ compiler supports -Werror=conversion-null... yes
checking whether the C++ compiler supports -Wsign-compare... yes
checking whether the C++ compiler supports -Wno-invalid-offsetof... yes
checking whether ld has archive extraction flags... yes
checking for 64-bit OS... yes
checking for custom <stdint.h> implementation... none specified
checking whether the linker supports Identical Code Folding... no
checking whether removing dead symbols breaks debugging... no
checking for ANSI C header files... yes
checking for working const... yes
checking for mode_t... yes
checking for off_t... yes
checking for pid_t... yes
checking for size_t... yes
checking for __stdcall... no
checking for ssize_t... yes
checking for st_blksize in struct stat... yes
checking for siginfo_t... yes
checking for the size of void*... 8
checking for endian.h... yes
checking for machine/endian.h... no
checking for sys/isa_defs.h... no
checking for uint... yes
checking for uint_t... no
checking for uname.domainname... yes
checking for uname.__domainname... no
checking for gcc c++0x headers bug without rtti... no
checking for visibility(hidden) attribute... yes
checking for visibility(default) attribute... yes
checking for visibility pragma support... yes
checking For gcc visibility bug with class-level attributes (GCC bug 26905)... no
checking For x86_64 gcc visibility bug with builtins (GCC bug 20297)... no
checking for gcc PR49911... no
checking for gcc pr39608... no
checking for llvm pr8927... no
checking for dirent.h that defines DIR... yes
checking for opendir in -ldir... no
checking for sys/byteorder.h... no
checking for compat.h... no
checking for getopt.h... yes
checking for sys/bitypes.h... yes
checking for memory.h... yes
checking for unistd.h... yes
checking for gnu/libc-version.h... yes
checking for nl_types.h... yes
checking for malloc.h... yes
checking for X11/XKBlib.h... yes
checking for io.h... no
checking for cpuid.h... yes
checking for sys/statvfs.h... yes
checking for sys/statfs.h... yes
checking for sys/vfs.h... yes
checking for sys/mount.h... yes
checking for sys/quota.h... yes
checking for linux/quota.h... yes
checking for new... yes
checking for sys/cdefs.h... yes
checking for linux/perf_event.h... yes
checking for perf_event_open system call... yes
checking for gethostbyname_r in -lc_r... no
checking for library containing dlopen... -ldl
checking for dlfcn.h... yes
checking for dladdr... yes
checking for socket in -lsocket... no
checking for pthread_create in -lpthreads... no
checking for pthread_create in -lpthread... yes
checking whether x86_64-pc-linux-gnu-gcc accepts -pthread... yes
checking whether x86_64-pc-linux-gnu-gcc needs -traditional... no
checking for 8-bit clean memcmp... yes
checking for fchmod... yes
checking for flockfile... yes
checking for getc_unlocked... yes
checking for _getc_nolock... no
checking for getpagesize... yes
checking for lchown... yes
checking for localtime_r... yes
checking for lstat64... yes
checking for memmove... yes
checking for random... yes
checking for rint... no
checking for sbrk... yes
checking for snprintf... yes
checking for stat64... yes
checking for statvfs... yes
checking for statvfs64... yes
checking for strerror... yes
checking for strtok_r... yes
checking for truncate64... yes
checking for wcrtomb... yes
checking for mbrtowc... yes
checking for res_ninit()... yes
checking for gnu_get_libc_version()... yes
checking for an implementation of va_copy()... yes
checking for an implementation of __va_copy()... yes
checking whether va_lists can be copied by value... no
checking whether the C++ "using" keyword resolves ambiguity... yes
checking for C++ dynamic_cast to void*... yes
checking whether C++ requires implementation of unused virtual methods... no
checking for trouble comparing to zero near std::operator!=()... no
checking for __thread keyword for TLS variables... yes
checking for __attribute__((always_inline))... yes
checking for __attribute__((malloc))... yes
checking for __attribute__((warn_unused_result))... yes
checking for LC_MESSAGES... yes
checking for localeconv... yes
checking for nspr-config... /usr/bin/nspr-config
checking for NSPR - version >= 4.9.2... yes
checking for gzread in -lz... yes
checking for pkg-config... /usr/bin/pkg-config
checking for libffi >= 3.0.9... yes
checking MOZ_FFI_CFLAGS... -I/usr/lib64/libffi-3.2.1/include 
checking MOZ_FFI_LIBS... -L/usr/lib64/../lib64 -lffi 
checking size of int *... 8
checking for __cxa_demangle... yes
checking for unwind.h... yes
checking for _Unwind_Backtrace... yes
checking for -pipe support... yes
checking whether C compiler supports -fprofile-generate... yes
checking for correct overload resolution with const and templates... no
checking for tm_zone tm_gmtoff in struct tm... yes
checking what kind of list files are supported by the linker... linkerscript
checking what kind of ordering can be done with the linker... none
checking for readline in -lreadline... yes
checking for posix_fallocate... yes
checking for icu-i18n >= 50.1... yes
checking MOZ_ICU_CFLAGS... 
checking MOZ_ICU_LIBS... -licui18n -licuuc -licudata 
checking for setlocale... yes
checking for localeconv... (cached) yes
updating cache ./config.cache
creating ./config.status
Reticulating splines...
Finished reading 3 moz.build files into 10 descriptors in 0.01s
Backend executed in 0.02s
8 total backend files. 8 created; 0 updated; 0 unchanged
Total wall time: 0.03s; CPU time: 0.03s; Efficiency: 99%
invoking /usr/bin/gmake to create js-config script
Build configuration changed. Regenerating backend.
Reticulating splines...
Finished reading 3 moz.build files into 10 descriptors in 0.01s
Backend executed in 0.02s
8 total backend files. 0 created; 0 updated; 8 unchanged
Total wall time: 0.02s; CPU time: 0.02s; Efficiency: 99%
rm -f js-config.tmp
/home/tmp/portage/dev-lang/spidermonkey-24.2.0-r2/work/mozjs-24.2.0/js/src/_virtualenv/bin/python ./config/Preprocessor.py --marker % -Dprefix="/usr" -Dexec_prefix="/usr" -Dincludedir="/usr/include" -Dlibdir="/usr/lib64" -DMOZILLA_VERSION="" -DLIBRARY_NAME="mozjs-" -DJS_CONFIG_LIBS="-lplds4 -lplc4 -lnspr4 -lpthread -ldl -Wl,-version-script,symverscript -licui18n -licuuc -licudata  -ldl  -lm -lz -ldl" -DJS_CONFIG_MOZ_JS_LIBS="-L/usr/lib64 -lmozjs-" -DMOZJS_MAJOR_VERSION="" -DMOZJS_MINOR_VERSION="" -DMOZJS_PATCH_VERSION="" -DMOZJS_ALPHA="" -DNSPR_CFLAGS="-I/usr/include/nspr" -DNSPR_PKGCONF_CHECK="nspr >= 4.9.2" -DUSE_CXX11="" js-config.in > js-config.tmp \
&& mv js-config.tmp js-config && chmod +x js-config
>>> Source configured.
[ Compilation follows ]
Comment 3 Cosmin Giradu 2015-07-14 10:06:11 UTC
Created attachment 406770 [details, diff]
Replacing if(defined(@array)) with if(@array) seems to solve the issue

As per perl docs, defined(@array) and defined(%hash) have been deprecated for a while now, and starting perl 5.22 they are fatal errors: https://metacpan.org/pod/distribution/perl/pod/perldelta.pod#defined-array-and-defined-hash-are-now-fatal-errors
Comment 4 Cosmin Giradu 2015-07-14 10:13:47 UTC
dev-lang/spidermonkey-1.8.5-r4 seems not to use said perl program, but maybe devs should consider applying this patch also to the other versions of the package?
Comment 5 Oleh 2015-07-16 06:52:11 UTC
this report is combination of 2 problems: perl-5.22 is already covered in https://bugs.gentoo.org/show_bug.cgi?id=552786

File collision can be covered here.
Comment 6 Gilles Dartiguelongue (RETIRED) gentoo-dev 2015-07-16 06:56:23 UTC
Affects gnome installation via gjs + polkit.
Comment 7 Ian Stakenvicius (RETIRED) gentoo-dev 2015-07-16 15:46:37 UTC
Since the root cause is the same, this is effectively a duplicate of the other bug.

*** This bug has been marked as a duplicate of bug 552786 ***