trying to emerge safecat-1.11. i'm using a non-~x86 system with safecat (which is masked with the '~x86 keyword') in my 'package.keywords' file. i'm using all gentoo packages (except safecat now ;). all other packages emerge with no problems. safecat is found and downloaded, but when trying to compile i come up with this: --- >>> emerge (1 of 1) net-mail/safecat-1.11 to / >>> md5 src_uri ;-) safecat-1.11.tar.gz >>> Unpacking source... >>> Unpacking safecat-1.11.tar.gz to /var/tmp/portage/safecat-1.11/work * Applying safecat-1.11-gentoo.patch ... [ ok ] * Replacing obsolete head/tail with POSIX compliant ones * - fixed Makefile * - fixed make-compile.sh >>> Source unpacked. cat warn-auto.sh maildir.sh \ | sed s}HOME}"`head -n 1 conf-root`"}g \ > maildir chmod 755 maildir ( cat warn-auto.sh; \ echo CC=\'`head -n 1 conf-cc`\'; \ echo LD=\'`head -n 1 conf-ld`\'; \ ) > auto-ccld.sh cat auto-ccld.sh make-load.sh > make-load chmod 755 make-load cat auto-ccld.sh find-systype.sh > find-systype chmod 755 find-systype ./find-systype > systype ( cat warn-auto.sh; ./make-load "`cat systype`" ) > load chmod 755 load cat auto-ccld.sh make-compile.sh > make-compile chmod 755 make-compile ( cat warn-auto.sh; ./make-compile "`cat systype`" ) > \ compile chmod 755 compile ( ( ./compile tryulong32.c && ./load tryulong32 && \ ./tryulong32 ) >/dev/null 2>&1 \ && cat uint32.h2 || cat uint32.h1 ) > uint32.h rm -f tryulong32.o tryulong32 ./compile safecat.c ./compile: line 3: exec: -O: invalid option exec: usage: exec [-cl] [-a name] file [redirection ...] make: *** [safecat.o] Error 2 !!! ERROR: net-mail/safecat-1.11 failed. !!! Function src_compile, Line 38, Exitcode 2 !!! (no error message) !!! If you need support, post the topmost build error, NOT this status message. --- the file '/var/tmp/portage/safecat-1.11/work/safecat-1.11/compile' contains this: exec -O2 -march=athlon-tbird -fomit-frame-pointer -pipe -c ${1+"$@"} i think it's missing a 'gcc' after the 'exec'. the 'conf-cc' file contains: -O2 -march=athlon-tbird -fomit-frame-pointer -pipe note the leading space. i don't know if that's right or not. Reproducible: Always Steps to Reproduce: 1. keywords='~x86' emerge -av safecat 2. 3. Actual Results: compile error: ./compile: line 3: exec: -O: invalid option Expected Results: successful emerge
The reason for this is the make-compile.sh file in safecat tries to use $CC ... but this is not set! So a quick fix CC=gcc emerge safecat works for me....
from ChangeLog: 22 Mar 2005; <agriffis@gentoo.org> safecat-1.11.ebuild: Use toolchain functions instead of $CC et al Please emerge sync, then try again. Reopen if it doesn't work for.
yup, it worked.