The compilation of procmail fails with: CFLAGS="-march=athlon-xp -O2 -pipe -frename-registers -fomit-frame-pointer -finline-functions" Reproducible: Always Steps to Reproduce: 1. emerge procmail Actual Results: the compilation blocks to : ... Benchmarking your system's strstr() implementation Expected Results: A correct compilation and installation of the program.
could you at least narrow it down to whcih flag causes the failure ? and could you provide the output of the failure ?
The compilation flags -finline-functions blocks compilation of procmail. The complete output is: morpheus root # emerge procmail Calculating dependencies ...done! >>> emerge (1 of 1) net-mail/procmail-3.22-r6 to / >>> md5 src_uri ;-) procmail-3.22.tar.gz >>> Unpacking source... >>> Unpacking procmail-3.22.tar.gz to /var/tmp/portage/procmail-3.22-r6/work >>> Source unpacked. patching file src/authenticate.c /bin/sh ./initmake /bin/sh "/bin/sh" "/bin/rm -f" "mv -f" "ln" \ "-lm -ldir -lx -lsocket -lnet -linet -lnsl_s -lnsl_i -lnsl -lsun -lgen -lsockdns -ldl" \ "/lib /usr/lib /usr/local/lib" \ /dev/null "make" o \ "gcc" "-march=athlon-xp -O2 -pipe -frename-registers -fomit-frame-pointer -finline-functions -O2 " "-s " "procmail lockfile formail mailstat" \ "procmail formail lockfile" \ "procmailrc procmailsc procmailex" "src man" \ "/usr/bin" \ "strip" gcc seems to work fine, using that as the C-compiler ...scanning for 13 libraries... ...scanning for 12 libraries... ...scanning for 11 libraries... ...scanning for 10 libraries... ...scanning for 9 libraries... ...scanning for 8 libraries... ...scanning for 7 libraries... ...scanning for 6 libraries... ...scanning for 5 libraries... ...scanning for 4 libraries... Added LDFLAGS= -lm -lnsl -ldl -lc cd src; make ../autoconf.h echo Housekeeping file >config.check make[1]: Entering directory `/var/tmp/portage/procmail-3.22-r6/work/procmail-3.22/src' /bin/sh ./autoconf /bin/sh "/bin/rm -f" "mv -f" /dev/null \ "grep -F" "make" o "/tmp . " \ "/usr/bin" ../autoconf.h Using the following directories for the LOCKINGTESTs: /tmp . Initiating fcntl()/kernel-locking-support tests Proceeding with kernel-locking-support tests in the background Testing for const Testing for volatile Testing for prototypes Testing for enum Checking for POSIX and ANSI/ISO system include files Checking for network/comsat/biff support Testing for void*, size_t, off_t, pid_t, time_t, mode_t, uid_t & gid_t Checking realloc implementation Testing for WIFEXITED(), WIFSTOPPED(), WEXITSTATUS() & WSIGTERM() Testing for various struct passwd members Testing for memmove, strchr, strpbrk, strcspn, strtol, strstr, rename, setrgid, setegid, pow, opendir, mkdir, waitpid, fsync, ftruncate, strtod, strncasecmp, strerror, strlcat, memset, bzero, and _exit Determining the maximum number of 16 byte arguments execv() takes Benchmarking your system's strstr() implementation -----Note that the compilation blocks here.-----
-fomit-frame-pointer = implied by O1 -frename-registers = implied by O3 -finline-functions = implied by O3 fixed in CVS now. this was a case not caught by the fix in place before, so I updated the fix (see the comments in the ebuild for further details).