while trying to emerge johntheripper 1.6.38 I ran into the following problem >>> md5 files ;-) files/john-ntlm.skey.patch >>> md5 src_uri ;-) john-1.6.38.tar.gz >>> Unpacking source... >>> Unpacking john-1.6.38.tar.gz to /var/tmp/portage/johntheripper-1.6.38/work >>> Source unpacked. make: *** No rule to make target `linux-ppc'. Stop. !!! ERROR: app-crypt/johntheripper-1.6.38 failed. Reproducible: Always Steps to Reproduce: 1. 2. 3. !!! Relying on the shell to locate gcc, this may break !!! DISTCC, installing gcc-config and setting your current gcc !!! profile will fix this Portage 2.0.52-r1 (default-darwin/macos/10.4, gcc-4.0.0, libsystem-7.1-r0, 8.2.0 Power Macintosh) =============================================================== == System uname: 8.2.0 Power Macintosh powerpc macos-20041118 distcc 2.0.1-zeroconf powerpc-apple-darwin7.0 (protocol 1) (default port 3632) [disabled] dev-lang/python: [Not Present] sys-apps/sandbox: [Not Present] sys-devel/autoconf: [Not Present] sys-devel/automake: [Not Present] sys-devel/binutils: [Not Present] sys-devel/libtool: [Not Present] virtual/os-headers: 7.1 ACCEPT_KEYWORDS="ppc-macos ~ppc-macos" AUTOCLEAN="yes" CBUILD="powerpc-apple-darwin" CFLAGS="-O2 -pipe" CHOST="powerpc-apple-darwin" CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/share/config /var/ qmail/control" CONFIG_PROTECT_MASK="/etc/gconf /etc/env.d" CXXFLAGS="-O2 -pipe" DISTDIR="/usr/portage/distfiles" FEATURES="autoconfig collision-protect distlocks sfperms strict" GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/Linux/distributions/ gentoo" MAKEOPTS="-j2" PKGDIR="/usr/portage/packages" PORTAGE_TMPDIR="/var/tmp" PORTDIR="/usr/portage" SYNC="rsync://rsync.gentoo.org/gentoo-portage" USE="ppc emboss imagemagick nls png ppc-macos qt sdl slang tiff userland_Darwin kernel_Darwin elibc_Darwin" Unset: ASFLAGS, CTARGET, LANG, LC_ALL, LDFLAGS, LINGUAS, PORTDIR_OVERLAY
in the ebuild this has elif use ppc-macos; then emake ${OPTIONS} macosx-ppc-altivec-cc || die "Make failed" Does ppc-macos not set the USE flag? I'm going to be redoing the john ebuilds - they are too broken.
nah, the make script has changed. The options are now: macosx-ppc32-cc Mac OS X, PowerPC 32-bit, cc macosx-ppc64-cc Mac OS X 10.4+, PowerPC 64-bit, cc macosx-ppc32-altivec-cc Mac OS X, PowerPC w/AltiVec, cc so I guess we either chose "macosx-ppc32-altivec-cc" (which should fit everyone) or conditional on CHOST (darwin8 = 10.4+) to do "macosx-ppc64-cc". I think the first is sufficient for now. The actual problem in this bug, apart from the wrong make-target call, is that ppc was placed above ppc-macos. I put ppc below ppc-macos now, so the most specific one comes (and is matched) first. I checked in my fix, so you have a working ebuild to start from.
Thanks Fabian given altivec is a use flag I'm going to put this as a conditional in the next version 1.6.40 that I'm battling with at the moment. I've done a propper check on the make targets too this time.
Just reading what I said yesterday, I think I said some bogus. darwin8 = 10.4, but that doesn't imply that the arch is ppc64. If you happen to try to match the 64-bits version, I guess some more voodoo is necessary, however, since we do everything in 32-bits (the OS userland is not really 64-bits anyway) I am more than happy if you do altivec switching for the two 32-bits profiles. Just a thought, maybe it helps simplifying things for you.
The comments in the makefile say that: macosx-ppc64-altivec is slightly slower than macosx-ppc32-altivec for most hash types. 1.6.40 added that probably makes more sense than me now. Thanks again.