sys-apps/which-2.16 compile correctly on IRIX. 2.19, however, outputs "checking dependency style of cc... none" and then: make all-recursive make[1]: Entering directory `/usr/opt/portage/var/tmp/portage/sys-apps/which-2.19/work/which-2.19' Making all in tilde make[2]: Entering directory `/usr/opt/portage/var/tmp/portage/sys-apps/which-2.19/work/which-2.19/tilde' source='tilde.c' object='tilde.o' libtool=no \ DEPDIR=.deps depmode=none /bin/sh ../depcomp \ cc -DHAVE_CONFIG_H -I. -I. -I.. -I/opt/portage/usr/include -c99 -O2 -n32 -mips4 -r14000 -float_const -use_readonly_const -TARG:isa=mips4:platform=ip35:processor=r14000 -TENV:zeroinit_in_bss=ON -OPT:fast_io=ON:Olimit=8192:reorg_common=ON:swp=ON -LNO:auto_dist=ON:fusion_peeling_limit=8:gather_scatter=2 -diag_error 1035 -woff 1174,1183,1185,1552,3968,3970 -LANG:pch -c tilde.c Unknown depmode none make[2]: *** [tilde.o] Error 1 make[2]: Leaving directory `/usr/opt/portage/var/tmp/portage/sys-apps/which-2.19/work/which-2.19/tilde' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/usr/opt/portage/var/tmp/portage/sys-apps/which-2.19/work/which-2.19' make: *** [all] Error 2 If I try 'am_cv_CC_dependencies_compiler_type="pch" CFLAGS="${CFLAGS} -LANG:pch=ON" CXXFLAGS="${CXXFLAGS} -LANG:pch=ON" emerge -v which' then the output is: make all-recursive make[1]: Entering directory `/usr/opt/portage/var/tmp/portage/sys-apps/which-2.19/work/which-2.19' Making all in tilde make[2]: Entering directory `/usr/opt/portage/var/tmp/portage/sys-apps/which-2.19/work/which-2.19/tilde' source='tilde.c' object='tilde.o' libtool=no \ DEPDIR=.deps depmode=pch /bin/sh ../depcomp \ cc -DHAVE_CONFIG_H -I. -I. -I.. -I/opt/portage/usr/include -c99 -O2 -n32 -mips4 -r14000 -float_const -use_readonly_const -TARG:isa=mips4:platform=ip35:processor=r14000 -TENV:zeroinit_in_bss=ON -OPT:fast_io=ON:Olimit=8192:reorg_common=ON:swp=ON -LNO:auto_dist=ON:fusion_peeling_limit=8:gather_scatter=2 -diag_error 1035 -woff 1174,1183,1185,1552,3968,3970 -LANG:pch=ON -c tilde.c "tilde.c": creating precompiled header file "tilde.pch". tilde.c: tilde.o: tilde.c tilde.o: ../config.h tilde.o: /usr/include/unistd.h tilde.o: /usr/include/standards.h tilde.o: /usr/include/internal/sgimacros.h tilde.o: /usr/include/sys/types.h tilde.o: /usr/include/sgidefs.h tilde.o: /usr/include/sys/pthread.h tilde.o: /usr/include/sys/bsd_types.h tilde.o: /usr/include/sys/select.h tilde.o: /usr/include/string.h tilde.o: /usr/include/internal/string_core.h tilde.o: /usr/include/sys/unistd.h tilde.o: ../getopt.h tilde.o: /usr/include/sys/uio.h tilde.o: /usr/include/utime.h tilde.o: /usr/include/sys/utime.h tilde.o: /usr/include/re_comp.h tilde.o: /usr/include/stdlib.h tilde.o: /usr/include/internal/stdlib_core.h tilde.o: /usr/include/internal/locale_attr_core.h tilde.o: /usr/include/pwd.h tilde.o: /usr/include/stdio.h tilde.o: /usr/include/internal/stdio_core.h tilde.o: tilde.h tilde.o: xmalloc.h tilde.o: /opt/portage/usr/include/readline/rlstdc.h .deps/tilde.TPo: cc ERROR: file does not exist: .deps/tilde.TPo make[2]: *** [tilde.o] Error 2 make[2]: Leaving directory `/usr/opt/portage/var/tmp/portage/sys-apps/which-2.19/work/which-2.19/tilde' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/usr/opt/portage/var/tmp/portage/sys-apps/which-2.19/work/which-2.19' make: *** [all] Error 2 ... so is the problem that the compiler is creating 'tilde.pch' when the build script expects '.deps/tilde.TPo'. Nothing else has (yet) hit this issue, so is this a problem with the build system for which rather than the compiler?
(In reply to comment #0) ich-2.19/work/which-2.19/tilde' > source='tilde.c' object='tilde.o' libtool=no \ > DEPDIR=.deps depmode=pch /bin/sh ../depcomp \ > cc -DHAVE_CONFIG_H -I. -I. -I.. -I/opt/portage/usr/include -c99 -O2 > -n32 -mips4 -r14000 -float_const -use_readonly_const > -TARG:isa=mips4:platform=ip35:processor=r14000 -TENV:zeroinit_in_bss=ON > -OPT:fast_io=ON:Olimit=8192:reorg_common=ON:swp=ON > -LNO:auto_dist=ON:fusion_peeling_limit=8:gather_scatter=2 -diag_error 1035 > -woff 1174,1183,1185,1552,3968,3970 -LANG:pch=ON -c tilde.c > Nothing else has (yet) hit this issue, so is this a problem with the build > system for which rather than the compiler? It seems to me that the compiler invocation doesn't have a -o option, so indeed the output of the compiler may mismatch with what the build script thinks it is. Not sure how easy it is to add -o bla.Tpo ot something there.
Slight problem with the wrapper I'm using here: with depmode forced to 'pch', the compiler is invoked with: cc -DHAVE_CONFIG_H -I. -I. -I.. -I/opt/portage/usr/incTENV:zeroinit_in_bss=ON -OPT:fast_io=ON:Olimit=8192:reorg_common=ON:swp=ON -LNO:c -MT tilde.o -M -MF .deps/tilde.TPo ... to which it responds: cc ERROR parsing -MT: unknown flag cc ERROR parsing -MF: unknown flag MIPSpro seems to have the options: -M Runs only the preprocessor on the named files and writes make(1) dependencies to standard output. -MDupdate filename Updates filename to contain make(1) dependencies for the output file. -MDupdate updates only lines in filename that end with a distinctive make comment and begin with the name of the output file followed by a colon. The standard option used with make(1) is -MDupdate Makedepend. ... but no further -Mx options - so it looks as if the build-system for 'which' is going to need a redesign. (Incidentally, does this ebuild work on Solaris, HP/UX, AIX, or any of the other more traditional Unices? Do any of these not use GCC?)
(To make that clearer, the wrapper was hiding those two errors previously... the wrapper isn't *causing* the 'unknown flag' errors)
I've updated the MIPSpro wrapper I'm working on to remove '-MT' options and change '-MF' to '-MDupdate'. This does allow (with the environment variables 'am_cv_CC_dependencies_compiler_type="pch" CFLAGS="${CFLAGS} -LANG:pch=ON" CXXFLAGS="${CXXFLAGS} -LANG:pch=ON"') which-2.19 to build correctly. Having said this, I'm not sure that simply dropping '-MT' but keeping the following arguments (the object file in this case) will work in all cases, or just happens to do the right thing in this case...
(In reply to comment #2) [snip] > (Incidentally, does this ebuild work on Solaris, HP/UX, AIX, or any of the > other more traditional Unices? Do any of these not use GCC?) All our ports use GCC so far. Not all use binutils as that's not always possible/working.
tomorrow some problem on i686. Solved: am_cv_CC_dependencies_compiler_type="pch" CFLAGS="${CFLAGS} -LANG:pch=ON" CXXFLAGS="${CXXFLAGS} -LANG:pch=ON" but mb exist correctly some other way? excuse me for my english.
Created attachment 148068 [details] which.log
Created attachment 148070 [details] which_enviroment
Hi calculator, please file another bug for your problem. You seem to have another problem, but at least unrelated to Gentoo Prefix and/or MIPS/IRIX.
stuart, can we close this bug, considering your wrapper works around the problem now?
Not clear what the problem is. Please file a new bug for the latest versions and stuff.
To confirm, which-2.20 builds successfully (with IRIX-MIPSpro-wrapper) and so this bug seems to be resolved.
good, thanks