rm -rf ../../DynaLoader.o cp DynaLoader.o ../../DynaLoader.o make[1]: Leaving directory '/Volumes/Scratch/tmp/portage/dev-lang/perl-5.20.1/work/perl-5.20.1/ext/DynaLoader' rm -f libperl.5.20.1.dylib parts/inc/misc provides isASCII, which is still marked todo for 5.6.0 parts/inc/misc provides isCNTRL, which is still marked todo for 5.6.0 parts/inc/variables provides PL_parser, which is still marked todo for 5.9.5 env MACOSX_DEPLOYMENT_TARGET=10.3 -o libperl.5.20.1.dylib -Wl,-dead_strip_dylibs -dynamiclib -compatibility_version 5.20.0 -current_version 5.20.1 -install_name /opt/gentoo/usr/lib/perl5/5.20.1/x86_64-darwin-thread-multi/CORE/libperl.5.20.dylib op.o perl.o gv.o toke.o perly.o pad.o regcomp.o dump.o util.o mg.o reentr.o mro.o keywords.o hv.o av.o run.o pp_hot.o sv.o pp.o scope.o pp_ctl.o pp_sys.o doop.o doio.o regexec.o utf8.o taint.o deb.o universal.o globals.o perlio.o perlapi.o numeric.o mathoms.o locale.o pp_pack.o pp_sort.o caretx.o DynaLoader.o -ldl -lm -lutil -lc env: -o: No such file or directory GNUmakefile:360: recipe for target 'libperl.5.20.1.dylib' failed make: *** [libperl.5.20.1.dylib] Error 127 make: *** Waiting for unfinished jobs.... There definitely appears to be a ${CC} (or similar) missing from that 'env' line... $ emerge -pqv '=dev-lang/perl-5.20.1::gentoo_prefix' [ebuild U ] dev-lang/perl-5.20.1 [5.18.2-r1] USE="berkdb gdbm ithreads -debug -doc" $ emerge --info Portage 2.2.10.1-prefix (python 2.7.6-final-0, prefix/darwin/macos/10.9/x64, gcc-4.2.1, unavailable, 13.4.0 x86_64) ================================================================= System Settings ================================================================= System uname: Darwin-13.4.0-x86_64-i386-64bit Timestamp of tree: Thu, 25 Sep 2014 19:37:09 +0000 app-shells/bash: 4.2_p45-r1 dev-lang/python: 2.7.6-r1 dev-util/cmake: 3.0.2 dev-util/pkgconfig: 0.28-r2 sys-devel/autoconf: 2.69 sys-devel/automake: 1.14 sys-devel/gcc-config: 1.8-r00.1 sys-devel/libtool: 2.4.2-r1 sys-devel/make: 4.0-r1 ACCEPT_KEYWORDS="amd64 amd64-linux x64-macos ~x64-macos" ACCEPT_LICENSE="* -@EULA" CBUILD="x86_64-apple-darwin13" CFLAGS="-arch x86_64 -march=core-avx-i -mmacosx-version-min=10.9 -fcolor-diagnostics -ftrapv -O3 -pipe" CHOST="x86_64-apple-darwin13" CONFIG_PROTECT="/etc /usr/share/gnupg/qualified.txt" CONFIG_PROTECT_MASK="/etc/ca-certificates.conf /etc/env.d /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/terminfo" CXXFLAGS="-arch x86_64 -march=core-avx-i -mmacosx-version-min=10.9 -fcolor-diagnostics -ftrapv -O3 -pipe" DISTDIR="/opt/gentoo/usr/portage/distfiles" FCFLAGS="" FEATURES="assume-digests binpkg-logs buildpkg candy clean-logs collision-protect compress-build-logs compressdebug config-protect-if-modified distlocks downgrade-backup ebuild-locks fixlafiles force-prefix merge-sync news nostrip parallel-fetch parallel-install preserve-libs protect-owned sfperms split-elog split-log splitdebug strict stricter unknown-features-warn unmerge-backup unmerge-logs unmerge-orphans userfetch userpriv usersandbox usersync" FFLAGS="" GENTOO_MIRRORS="http://distfiles.gentoo.org" LC_ALL="C" LDFLAGS="-Wl,-dead_strip_dylibs" MAKEOPTS="-j7" PKGDIR="/opt/gentoo/usr/portage/packages/clang" PORTAGE_CONFIGROOT="/opt/gentoo/" 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="/Volumes/Scratch/tmp" PORTDIR="/opt/gentoo/usr/portage" USE_PYTHON="2.7" Unset: CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, SYNC CC="/opt/gentoo/usr/bin/clang" CXX="/opt/gentoo/usr/bin/clang++" $ clang --version clang version 3.5.0 (tags/RELEASE_350/final) Target: x86_64-apple-darwin13.4.0 Thread model: posix
Clearer output (from perl-5.20.0-r1, also affected): Updating 'mktables.lst' DYLD_LIBRARY_PATH=/Volumes/Scratch/tmp/portage/dev\-lang/perl\-5.20.0\-r1/work/perl\-5.20.0 ./miniperl -Ilib -Ilib -MExtUtils::Miniperl -e 'writemain(\"perlmain.c", @ARGV)' DynaLoader clang -c -DPERL_CORE -fno-common -DPERL_DARWIN -no-cpp-precomp -fno-strict-aliasing -pipe -I/opt/gentoo/usr/include -std=c89 -arch x86_64 -march=core-avx-i -mmacosx-version-min=10.9 -O0 -g -pipe -Wall -ansi -W -Wextra -Wdeclaration-after-statement -Wendif-labels -Wc++-compat -Wwrite-strings -Wno-unused-value perlmain.c clang -c -DPERL_CORE -fno-common -DPERL_DARWIN -no-cpp-precomp -fno-strict-aliasing -pipe -I/opt/gentoo/usr/include -std=c89 -arch x86_64 -march=core-avx-i -mmacosx-version-min=10.9 -O0 -g -pipe -Wall -ansi -W -Wextra -Wdeclaration-after-statement -Wendif-labels -Wc++-compat -Wwrite-strings -Wno-unused-value op.c clang -c -DPERL_CORE -fno-common -DPERL_DARWIN -no-cpp-precomp -fno-strict-aliasing -pipe -I/opt/gentoo/usr/include -std=c89 -arch x86_64 -march=core-avx-i -mmacosx-version-min=10.9 -O0 -g -pipe -Wall -ansi -W -Wextra -Wdeclaration-after-statement -Wendif-labels -Wc++-compat -Wwrite-strings -Wno-unused-value perl.c DYLD_LIBRARY_PATH=/Volumes/Scratch/tmp/portage/dev\-lang/perl\-5.20.0\-r1/work/perl\-5.20.0 ./miniperl -Ilib make_ext.pl DynaLoader.o MAKE=make LIBPERL_A=libperl.5.20.0.dylib LINKTYPE=static Making DynaLoader (all) Running Makefile.PL in ext/DynaLoader ../../miniperl -I../../lib Makefile.PL INSTALLDIRS=perl INSTALLMAN1DIR=none INSTALLMAN3DIR=none PERL_CORE=1 LIBPERL_A=libperl.5.20.0.dylib LINKTYPE=static Generating a Unix-style Makefile Writing Makefile for DynaLoader make[1]: Entering directory '/Volumes/Scratch/tmp/portage/dev-lang/perl-5.20.0-r1/work/perl-5.20.0/ext/DynaLoader' make[1]: Leaving directory '/Volumes/Scratch/tmp/portage/dev-lang/perl-5.20.0-r1/work/perl-5.20.0/ext/DynaLoader' Making all in ext/DynaLoader make all PERL_CORE=1 LIBPERL_A=libperl.5.20.0.dylib LINKTYPE=static make[1]: Entering directory '/Volumes/Scratch/tmp/portage/dev-lang/perl-5.20.0-r1/work/perl-5.20.0/ext/DynaLoader' ../../miniperl "-I../../lib" "-I../../lib" DynaLoader_pm.PL DynaLoader.pm cp DynaLoader.pm ../../lib/DynaLoader.pm rm -f DynaLoader.xs cp dl_dlopen.xs DynaLoader.xs ../../miniperl "-I../../lib" "-I../../lib" ../../lib/ExtUtils/xsubpp -noprototypes -typemap ../../lib/ExtUtils/typemap DynaLoader.xs > DynaLoader.xsc && mv DynaLoader.xsc DynaLoader.c clang -c -fno-common -DPERL_DARWIN -no-cpp-precomp -fno-strict-aliasing -pipe -I/opt/gentoo/usr/include -arch x86_64 -march=core-avx-i -mmacosx-version-min=10.9 -O0 -g -pipe -DVERSION=\"1.25\" -DXS_VERSION=\"1.25\" "-I../.." -DLIBC="" DynaLoader.c rm -rf ../../DynaLoader.o cp DynaLoader.o ../../DynaLoader.o make[1]: Leaving directory '/Volumes/Scratch/tmp/portage/dev-lang/perl-5.20.0-r1/work/perl-5.20.0/ext/DynaLoader' rm -f libperl.5.20.0.dylib env MACOSX_DEPLOYMENT_TARGET=10.3 -o libperl.5.20.0.dylib -Wl,-dead_strip_dylibs -dynamiclib -compatibility_version 5.20.0 -current_version 5.20.0 -install_name /opt/gentoo/usr/lib/perl5/5.20.0/x86_64-darwin-thread-multi/CORE/libperl.5.20.dylib op.o perl.o gv.o toke.o perly.o pad.o regcomp.o dump.o util.o mg.o reentr.o mro.o keywords.o hv.o av.o run.o pp_hot.o sv.o pp.o scope.o pp_ctl.o pp_sys.o doop.o doio.o regexec.o utf8.o taint.o deb.o universal.o globals.o perlio.o perlapi.o numeric.o mathoms.o locale.o pp_pack.o pp_sort.o caretx.o DynaLoader.o -ldl -lm -lutil -lc env: -o: No such file or directory GNUmakefile:360: recipe for target 'libperl.5.20.0.dylib' failed make: *** [libperl.5.20.0.dylib] Error 127
GNUmakefile line 359 reads: $(LIBPERL): $& $(obj) $(DYNALOADER) $(LIBPERLEXPORT) rm -f $@ $(LD) -o $@ $(SHRPLDFLAGS) $(obj) $(DYNALOADER) $(libs) ... and starts with: CC = clang LD = env MACOSX_DEPLOYMENT_TARGET=10.3 ${cc:-gcc} ... which somehow appears to evaluating to 'env MACOSX_DEPLOYMENT_TARGET=10.3 '?
Thanks, noticed this yesterday too. I think they should have used CC, not cc. Therefore the expansion is empty, but should have been replaced by gcc, that's the odd thing. On the other hand, Makefile isn't shell script, so perhaps that's the problem here.
(In reply to Fabian Groffen from comment #3) > Thanks, noticed this yesterday too. I think they should have used CC, not > cc. Therefore the expansion is empty, but should have been replaced by gcc, > that's the odd thing. On the other hand, Makefile isn't shell script, so > perhaps that's the problem here. Ah yeah - I think you've got it: I also initially thought that 'cc' should be 'CC' - but since 'CC' is defined just above this seemed unlikely to be the intention, and I also expected it to default to 'gcc' (rather than blank) otherwise. But, as you say, this is a Makefile rather than shell, so I suspect that the author also got confused between the two ;)
Fixed by forcing LD to be set.