Имеем gcc3.3-3.3.3-alt1 (не приложены патчи deb-ada-gcc-name и deb-libstdc++-doclink). Пытаюсь собрать кросскомпилятор в i386-mingw32msvc, вылезает следующая ошибка в самом начале stage2: make[2]: Leaving directory `/home/raorn/src/BTE/RPM/i386-mingw32msvc-gcc/work/gcc-3.3.3-20040217/build-i386-mingw32msvc/gcc' echo timestamp > stage1_copy echo stage2_build > stage_last (cd stage1 && rm -f `echo main.o libbackend.a alias.o bb-reorder.o bitmap.o builtins.o caller-save.o calls.o cfg.o cfganal.o cfgbuild.o cfgcleanup.o cfglayout.o cfgloop.o cfgrtl.o combine.o conflict.o convert.o cse.o cselib.o dbxout.o debug.o df.o diagnostic.o doloop.o dominance.o dwarf2asm.o dwarf2out.o dwarfout.o emit-rtl.o except.o explow.o expmed.o expr.o final.o flow.o fold-const.o function.o gcse.o genrtl.o ggc-common.o global.o graph.o gtype-desc.o haifa-sched.o hashtable.o hooks.o ifcvt.o insn-attrtab.o insn-emit.o insn-extract.o insn-opinit.o insn-output.o insn-peep.o insn-recog.o integrate.o intl.o jump.o langhooks.o lcm.o lists.o local-alloc.o loop.o mbchar.o optabs.o params.o predict.o print-rtl.o print-tree.o profile.o ra.o ra-build.o ra-colorize.o ra-debug.o ra-rewrite.o real.o recog.o reg-stack.o regclass.o regmove.o regrename.o reload.o reload1.o reorg.o resource.o rtl.o rtlanal.o rtl-error.o sbitmap.o sched-deps.o sched-ebb.o sched-rgn.o sched-vis.o sdbout.o sibcall.o simplify-rtx.o ssa.o ssa-ccp.o ssa-dce.o stmt.o stor-layout.o stringpool.o timevar.o toplev.o tracer.o tree.o tree-dump.o tree-inline.o unroll.o varasm.o varray.o version.o vmsdbgout.o xcoffout.o et-forest.o ggc-page.o i386.o winnt.o c-parse.o c-lang.o c-pretty-print.o attribs.o c-errors.o c-lex.o c-pragma.o c-decl.o c-typeck.o c-convert.o c-aux-info.o c-common.o c-opts.o c-format.o c-semantics.o c-objc-common.o c-dump.o libcpp.a cpplib.o cpplex.o cppmacro.o cppexp.o cppfiles.o cpptrad.o cpphash.o cpperror.o cppinit.o cppdefault.o cppmain.o hashtable.o line-map.o mkdeps.o prefix.o mbchar.o *.c *.h gen*`) echo timestamp > clean_s1 make CC=" stage1/xgcc -Bstage1/ -B/usr/i386-mingw32msvc/bin/" \ STAGE_PREFIX=stage1/ \ ADAC="\$(CC)" AR_FOR_TARGET="i386-mingw32msvc-ar" RANLIB_FOR_TARGET="i386-mingw32msvc-ranlib" CFLAGS="-g -O2" LDFLAGS="" WARN_CFLAGS="\$(GCC_WARN_CFLAGS)" STRICT_WARN="-pedantic -Wno-long-long" libdir=/usr/lib LANGUAGES="c proto gcov ada c++ f77 java objc" MAKEOVERRIDES= OUTPUT_OPTION="-o \$@" make[2]: Entering directory `/home/raorn/src/BTE/RPM/i386-mingw32msvc-gcc/work/gcc-3.3.3-20040217/build-i386-mingw32msvc/gcc' stage1/xgcc -Bstage1/ -B/usr/i386-mingw32msvc/bin/ -c -g -O2 -DIN_GCC -DCROSS_COMPILE -W -Wall -Wwrite-strings -Wstrict-prototypes -Wmissing-prototypes -pedantic -Wno-long-long -DHAVE_CONFIG_H -DGENERATOR_FILE -DCYGWIN_CROSS_DIR=\"/usr/i386-mingw32msvc\" -I. -I. -I../../gcc -I../../gcc/. -I../../gcc/config -I../../gcc/../include ../../gcc/gengenrtl.c -o gengenrtl.o In file included from ../../gcc/gengenrtl.c:23: ../../gcc/system.h:246:22: sys/wait.h: No such file or directory make[2]: *** [gengenrtl.o] Error 1 make[2]: Leaving directory `/home/raorn/src/BTE/RPM/i386-mingw32msvc-gcc/work/gcc-3.3.3-20040217/build-i386-mingw32msvc/gcc' make[1]: *** [stage2_build] Error 2 make[1]: Leaving directory `/home/raorn/src/BTE/RPM/i386-mingw32msvc-gcc/work/gcc-3.3.3-20040217/build-i386-mingw32msvc/gcc' make: *** [bootstrap-lean] Error 2 И действительно, sys/wait.h в mingw32-runtime отсутствует и не было его никогда там. В то же время gcc-3.3 прекрасно собирается. Я совсем дурак или у меня просто руки слегка кривоваты? Секция %build выглядит следующим оразом (shamelessly stolen from gcc3.3.spec): %build for f in */configure.in; do (cd "${f%/*}" && [ configure.in -nt configure ] && autoconf) done for f in */Makefile.am; do (cd "${f%/*}" && [ Makefile.am -nt Makefile.in ] && automake) done %define buildtarget build-%cross_arch %__rm -rf %buildtarget %__mkdir_p %buildtarget pushd %buildtarget CC=gcc %remove_optflags %optflags_nocpp %optflags_notraceback CC="$CC" \ CFLAGS="$RPM_OPT_FLAGS" \ CXXFLAGS="$RPM_OPT_FLAGS" \ GCJFLAGS="$RPM_OPT_FLAGS" \ XCFLAGS="$RPM_OPT_FLAGS" \ TCFLAGS="$RPM_OPT_FLAGS" \ ../configure --prefix=%prefix \ --includedir=%_includedir \ --libdir=%_libdir \ --with-slibdir=/lib \ --mandir=%_mandir \ --infodir=%_infodir \ --disable-checking \ --enable-long-long \ --enable-__cxa_atexit \ --enable-languages="c,c++%{?_with_fortran:,f77}%{?_with_objc:,objc}%{?_with_treelang:,treelang}%{?_with_java:,java}%{?_with_ada:,ada}" \ --enable-objc-gc \ --with-system-zlib \ --without-included-gettext \ --without-newlib \ --disable-multilib \ --host=%_target_platform --build=%_target_platform --target=%cross_arch %make_build bootstrap-lean %if_with ada # SMP-incompatible build. %make -C gcc gnatlib-shared %make -C gcc gnattools %endif #with_ada %if_with testsuite %make -k check ../contrib/test_summary %endif #with_testsuite popd #%buildtarget -- Regards, Sir Raorn.