When invoking gcc from where it was installed by 'make install' (C:\MinGW\bin) everything works as expected. But as soon as I move the C:\MinGW directory into some other location standard header files are not looked up at the default locations any more. For example if MinGW directory is moved to C:\DevTools and gcc is invoked from C:\DevTools\MinGW\bin, standard headers are not looked up in the C:\DevTools\MinGW\include directory.
Additionally, localization stops working after the relocation. To illustrate the problem: C:\>set PATH=C:\MinGW\bin;%PATH% C:\>echo "" | cpp -v Используются внутренние спецификации. COLLECT_GCC=cpp COLLECT_LTO_WRAPPER=c:/mingw/bin/../libexec/gcc/mingw32/4.5.0/lto-wrapper.exe Целевая архитектура: mingw32 Параметры конфигурации: ../gcc_trunk/configure --enable-languages=c,c++ --disable-sjlj-exceptions --enable-shared --with-dwarf2 --disable-win32-registry --enable-libstdcxx-debug --enable-version-specific-runtime-libs --prefix=/mingw --build=mingw32 Модель многопоточности: win32 gcc версия 4.5.0 20100122 (experimental) [trunk revision 150484] (GCC) COLLECT_GCC_OPTIONS='-E' '-v' '-mtune=i386' c:/mingw/bin/../libexec/gcc/mingw32/4.5.0/cc1.exe -E -quiet -v -iprefix c:\mingw\bin\../lib/gcc/mingw32/4.5.0/ - -mtune=i386 повторное задание каталога "/mingw/include" проигнорировано повторное задание каталога "c:/mingw/lib/gcc/../../lib/gcc/mingw32/4.5.0/include" проигнорировано повторное задание каталога "c:/mingw/lib/gcc/../../lib/gcc/mingw32/4.5.0/include-fixed" проигнорировано повторное задание каталога "/mingw/include" проигнорировано порядок поиска для #include "...": порядок поиска для #include <...>: c:\mingw\bin\../lib/gcc/mingw32/4.5.0/include c:\mingw\bin\../lib/gcc/mingw32/4.5.0/include-fixed c:/MinGW/include c:/mingw/lib/gcc/../../mingw32/include конец списка поиска # 1 "<stdin>" # 1 "<built-in>" # 1 "<command-line>" # 1 "<stdin>" COMPILER_PATH=c:/mingw/bin/../libexec/gcc/mingw32/4.5.0/;c:/mingw/bin/../libexec/gcc/;c:/mingw/bin/../lib/gcc/mingw32/4.5.0/../../../../mingw32/bin/ LIBRARY_PATH=c:/mingw/bin/../lib/gcc/mingw32/4.5.0/;c:/mingw/bin/../lib/gcc/;c:/mingw/bin/../lib/gcc/mingw32/4.5.0/../../../../mingw32/lib/;c:/mingw/bin/../lib/gcc/mingw32/4.5.0/../../../;/mingw/lib/ COLLECT_GCC_OPTIONS='-E' '-v' '-mtune=i386' C:\>move MinGW C:\DevTools\ C:\>set PATH=C:\DevTools\MinGW\bin;%PATH% C:\>echo "" | cpp -v Using built-in specs. COLLECT_GCC=cpp COLLECT_LTO_WRAPPER=c:/devtools/mingw/bin/../libexec/gcc/mingw32/4.5.0/lto-wrapper.exe Target: mingw32 Configured with: ../gcc_trunk/configure --enable-languages=c,c++ --disable-sjlj-exceptions --enable-shared --with-dwarf2 --disable-win32-registry --enable-libstdcxx-debug --enable-version-specific-runtime-libs --prefix=/mingw --build=mingw32 Thread model: win32 gcc version 4.5.0 20100122 (experimental) [trunk revision 150484] (GCC) COLLECT_GCC_OPTIONS='-E' '-v' '-mtune=i386' c:/devtools/mingw/bin/../libexec/gcc/mingw32/4.5.0/cc1.exe -E -quiet -v -iprefix c:\devtools\mingw\bin\../lib/gcc/mingw32/4.5.0/ - -mtune=i386 ignoring nonexistent directory "c:/MinGW/include" ignoring nonexistent directory "/mingw/include" ignoring duplicate directory "c:/devtools/mingw/lib/gcc/../../lib/gcc/mingw32/4.5.0/include" ignoring duplicate directory "c:/devtools/mingw/lib/gcc/../../lib/gcc/mingw32/4.5.0/include-fixed" ignoring nonexistent directory "/mingw/include" #include "..." search starts here: #include <...> search starts here: c:\devtools\mingw\bin\../lib/gcc/mingw32/4.5.0/include c:\devtools\mingw\bin\../lib/gcc/mingw32/4.5.0/include-fixed c:/devtools/mingw/lib/gcc/../../mingw32/include End of search list. # 1 "<stdin>" # 1 "<built-in>" # 1 "<command-line>" # 1 "<stdin>" COMPILER_PATH=c:/devtools/mingw/bin/../libexec/gcc/mingw32/4.5.0/;c:/devtools/mingw/bin/../libexec/gcc/;c:/devtools/mingw/bin/../lib/gcc/mingw32/4.5.0/../../../../mingw32/bin/ LIBRARY_PATH=c:/devtools/mingw/bin/../lib/gcc/mingw32/4.5.0/;c:/devtools/mingw/bin/../lib/gcc/;c:/devtools/mingw/bin/../lib/gcc/mingw32/4.5.0/../../../../mingw32/lib/;c:/devtools/mingw/bin/../lib/gcc/mingw32/4.5.0/../../../ COLLECT_GCC_OPTIONS='-E' '-v' '-mtune=i386' -- Summary: [4.5 Regression] GCC is not relocatable anymore on Windows (mingw32) Product: gcc Version: 4.5.0 Status: UNCONFIRMED Severity: normal Priority: P3 Component: regression AssignedTo: unassigned at gcc dot gnu dot org ReportedBy: andriys at gmail dot com GCC build triplet: i386-pc-mingw32 GCC host triplet: i386-pc-mingw32 GCC target triplet: i386-pc-mingw32 http://gcc.gnu.org/bugzilla/show_bug.cgi?id=42886