[GCC-XML] Issues with backslashes in gcc reported search path in Windows

Davidson, Josh josh.davidson at lmco.com
Thu Feb 9 14:57:33 EST 2012


I ran into an issue where different distributions of MinGW report their include search paths differently with respect to how directory separators are used.  Below, you can see the output of one MinGW distribution and corresponding gccxml build that mostly works followed by another that is completely broken.  In the first example, MinGW mostly uses all forward slashes.  There are a couple paths that have backslashes, which MinGW fail on.  In the second example, all of the paths have backslashes, so gccxml doesn't pick up any of the system headers.

Is there a way to work around this?  I don't want to pass in the system includes via -I because that can change from machine to machine.

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!COMPILER A GCC CONFIG!!!!!!!!!!!!!!!!!!!!

C:\Users\davidsj2\repos\SimCommon\src\C++\boost>"c:\MinGW-simics\bin\gcc.exe" -v BoostHeaders.hpp
Using built-in specs.
COLLECT_GCC=c:\MinGW-simics\bin\gcc.exe
COLLECT_LTO_WRAPPER=c:/mingw-simics/bin/../libexec/gcc/x86_64-w64-mingw32/4.5.3/lto-wrapper.exe
Target: x86_64-w64-mingw32
Configured with: ../../../build/gcc/src/configure --target=x86_64-w64-mingw32 --prefix=/c/buildbot/mingw-w64/mingw32/mingw-x86-x86_64/build/build/root --with-sysroot=/c/buildbot/mingw-w64/mingw32/mingw-x86-x86_64/build/build/root --enable-languages=all,obj-c++ --enable-fully-dynamic-string --disable-multilib
Thread model: win32
gcc version 4.5.3 20110207 (prerelease) (GCC)
COLLECT_GCC_OPTIONS='-v' '-mtune=generic' '-march=x86-64'
 c:/mingw-simics/bin/../libexec/gcc/x86_64-w64-mingw32/4.5.3/cc1plus.exe -quiet -v -iprefix c:\mingw-simics\bin\../lib/gcc/x86_64-w64-mingw32/4.5.3/ BoostHeaders.hpp -quiet -dumpbase BoostHeaders.hpp -mtune=generic -march=x86-64 -auxbase BoostHeaders -version -o C:\Users\davidsj2\AppData\Local\Temp\ccYFaCr3.s --output-pch=BoostHeaders.hpp.gch
GNU C++ (GCC) version 4.5.3 20110207 (prerelease) (x86_64-w64-mingw32)
        compiled by GNU C version 4.4.5 20101001 (release) [svn/rev.164871 - mingw-w64/oz], GMP version 5.0.1, MPFR version 2.4.2, MPC version 0.8.2
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
ignoring nonexistent directory "c:/buildbot/mingw-w64/mingw32/mingw-x86-x86_64/build/build/rootc:/buildbot/mingw-w64/mingw32/mingw-x86-x86_64/build/build/root/include"
ignoring duplicate directory "c:/mingw-simics/lib/gcc/../../lib/gcc/x86_64-w64-mingw32/4.5.3/include"
ignoring duplicate directory "c:/mingw-simics/lib/gcc/../../lib/gcc/x86_64-w64-mingw32/4.5.3/include-fixed"
ignoring nonexistent directory "c:/buildbot/mingw-w64/mingw32/mingw-x86-x86_64/build/build/root/mingw/include"
#include "..." search starts here:
#include <...> search starts here:
 c:\mingw-simics\bin\../lib/gcc/x86_64-w64-mingw32/4.5.3/include
 c:\mingw-simics\bin\../lib/gcc/x86_64-w64-mingw32/4.5.3/include-fixed
 c:/mingw-simics/lib/gcc/../../x86_64-w64-mingw32/include/c++/4.5.3
 c:/mingw-simics/lib/gcc/../../x86_64-w64-mingw32/include/c++/4.5.3/x86_64-w64-mingw32
 c:/mingw-simics/lib/gcc/../../x86_64-w64-mingw32/include/c++/4.5.3/backward
 c:/mingw-simics/lib/gcc/../../x86_64-w64-mingw32/include
End of search list.
GNU C++ (GCC) version 4.5.3 20110207 (prerelease) (x86_64-w64-mingw32)
        compiled by GNU C version 4.4.5 20101001 (release) [svn/rev.164871 - mingw-w64/oz], GMP version 5.0.1, MPFR version 2.4.2, MPC version 0.8.2
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: 3fd3e1a57a1ebaa3e31328561e04d6bd

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!COMPILER A GCCXML CONFIG!!!!!!!!!!!!!!!!!!!!

C:\Users\davidsj2\repos\SimCommon\src\C++\boost>"c:\MinGW-simics\bin\gccxml.exe" -v BoostHeaders.hpp
ignoring nonexistent directory "c:mingw-simicsbin../lib/gcc/x86_64-w64-mingw32/4.5.3/include"
ignoring nonexistent directory "c:mingw-simicsbin../lib/gcc/x86_64-w64-mingw32/4.5.3/include-fixed"
#include wrapper search starts here:
 c:/MinGW-simics/share/gccxml-0.9/GCC/4.5
#include "..." search starts here:
#include <...> search starts here:
 c:/mingw-simics/lib/gcc/../../x86_64-w64-mingw32/include/c++/4.5.3
 c:/mingw-simics/lib/gcc/../../x86_64-w64-mingw32/include/c++/4.5.3/x86_64-w64-mingw32
 c:/mingw-simics/lib/gcc/../../x86_64-w64-mingw32/include/c++/4.5.3/backward
 c:/mingw-simics/lib/gcc/../../x86_64-w64-mingw32/include
End of search list.

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!COMPILER B GCC CONFIG!!!!!!!!!!!!!!!!!!!!

C:\Users\davidsj2\repos\SimCommon\src\C++\boost>"c:/MinGW/bin/gcc.exe" -v BoostHeaders.hpp
Using built-in specs.
COLLECT_GCC=c:/MinGW/bin/gcc.exe
COLLECT_LTO_WRAPPER=c:/mingw/bin/../libexec/gcc/x86_64-w64-mingw32/4.6.3/lto-wrapper.exe
Target: x86_64-w64-mingw32
Configured with: /home/drangon/work/mingw-w64-dgn/source/gcc/configure --host=x86_64-w64-mingw32 --target=x86_64-w64-mingw32 --disable-nls --enable-languages=c,c++,objc,obj-c++ --with-gmp=/home/drangon/work/mingw-w64-dgn/build/for_target --enable-twoprocess --disable-libstdcxx-pch --disable-win32-registry --prefix=/home/drangon/work/mingw-w64-dgn/target --with-sysroot=/home/drangon/work/mingw-w64-dgn/target
Thread model: win32
gcc version 4.6.3 20120127 (prerelease) (GCC)
COLLECT_GCC_OPTIONS='-v' '-mtune=generic' '-march=x86-64'
 c:/mingw/bin/../libexec/gcc/x86_64-w64-mingw32/4.6.3/cc1plus.exe -quiet -v -iprefix c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.6.3/ BoostHeaders.hpp
-quiet -dumpbase BoostHeaders.hpp -mtune=generic -march=x86-64 -auxbase BoostHeaders -version -o C:\Users\davidsj2\AppData\Local\Temp\cciw6Dae.s --output-pch=BoostHeaders.hpp.gch
GNU C++ (GCC) version 4.6.3 20120127 (prerelease) (x86_64-w64-mingw32)
        compiled by GNU C version 4.6.3 20120127 (prerelease), GMP version 5.0.2, MPFR version 3.1.0, MPC version 0.9
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
ignoring duplicate directory "c:/mingw/lib/gcc/../../lib/gcc/x86_64-w64-mingw32/4.6.3/../../../../include/c++/4.6.3"
ignoring duplicate directory "c:/mingw/lib/gcc/../../lib/gcc/x86_64-w64-mingw32/4.6.3/../../../../include/c++/4.6.3/x86_64-w64-mingw32"
ignoring duplicate directory "c:/mingw/lib/gcc/../../lib/gcc/x86_64-w64-mingw32/4.6.3/../../../../include/c++/4.6.3/backward"
ignoring duplicate directory "c:/mingw/lib/gcc/../../lib/gcc/x86_64-w64-mingw32/4.6.3/include"
ignoring nonexistent directory "/home/drangon/work/mingw-w64-dgn/target/home/drangon/work/mingw-w64-dgn/target/lib/gcc/x86_64-w64-mingw32/4.6.3/../../../../include"
ignoring duplicate directory "c:/mingw/lib/gcc/../../lib/gcc/x86_64-w64-mingw32/4.6.3/include-fixed"
ignoring duplicate directory "c:/mingw/lib/gcc/../../lib/gcc/x86_64-w64-mingw32/4.6.3/../../../../x86_64-w64-mingw32/include"
ignoring nonexistent directory "/home/drangon/work/mingw-w64-dgn/target/mingw/include"
#include "..." search starts here:
#include <...> search starts here:
 c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.6.3/../../../../include/c++/4.6.3
 c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.6.3/../../../../include/c++/4.6.3/x86_64-w64-mingw32
 c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.6.3/../../../../include/c++/4.6.3/backward
 c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.6.3/include
 c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.6.3/include-fixed
 c:\mingw\bin\../lib/gcc/x86_64-w64-mingw32/4.6.3/../../../../x86_64-w64-mingw32/include
End of search list.
GNU C++ (GCC) version 4.6.3 20120127 (prerelease) (x86_64-w64-mingw32)
        compiled by GNU C version 4.6.3 20120127 (prerelease), GMP version 5.0.2, MPFR version 3.1.0, MPC version 0.9
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: 5928114aaac0e37010a3909c738d0355

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!COMPILER B GCCXML CONFIG!!!!!!!!!!!!!!!!!!!!

C:\Users\davidsj2\repos\SimCommon\src\C++\boost>"c:/MinGW/bin/gccxml.exe" -v BoostHeaders.hpp
ignoring nonexistent directory "c:mingwbin../lib/gcc/x86_64-w64-mingw32/4.6.3/../../../../include/c++/4.6.3"
ignoring nonexistent directory "c:mingwbin../lib/gcc/x86_64-w64-mingw32/4.6.3/../../../../include/c++/4.6.3/x86_64-w64-mingw32"
ignoring nonexistent directory "c:mingwbin../lib/gcc/x86_64-w64-mingw32/4.6.3/../../../../include/c++/4.6.3/backward"
ignoring nonexistent directory "c:mingwbin../lib/gcc/x86_64-w64-mingw32/4.6.3/include"
ignoring nonexistent directory "c:mingwbin../lib/gcc/x86_64-w64-mingw32/4.6.3/include-fixed"
ignoring nonexistent directory "c:mingwbin../lib/gcc/x86_64-w64-mingw32/4.6.3/../../../../x86_64-w64-mingw32/include"
#include wrapper search starts here:
 c:/MinGW/share/gccxml-0.9/GCC/4.6
#include "..." search starts here:
#include <...> search starts here:
End of search list.



More information about the gccxml mailing list