| Summary: | dev-lang/spidermonkey file collisions between slots with perl-5.22 | ||
|---|---|---|---|
| Product: | Gentoo Linux | Reporter: | Cosmin Giradu <ncosmin> |
| Component: | Current packages | Assignee: | 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
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 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 ] 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 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? 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. Affects gnome installation via gjs + polkit. 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 *** |