Opened 12 years ago
Last modified 12 years ago
#4735 new Patches
MinGW version 'mingw-x.y.z' requested but 'g++-mingw-x.y.z' not found and version 'x.y.z' of default 'g++' does not match
Reported by: | Owned by: | Vladimir Prus | |
---|---|---|---|
Milestone: | Boost 1.46.0 | Component: | build |
Version: | Boost Development Trunk | Severity: | Problem |
Keywords: | mingw version | Cc: |
Description
MinGW's version may be prefixed with 'g++-', and failing to match this variation causes many tests to fail.
.../trunk/boost/tools/build/v2/tools\gcc.jam:106: in gcc.init from module gcc error: toolset gcc initialization: error: version 'mingw-4.3.3' requested but 'g++-mingw-4.3.3' not found and version '4.3.3' of default 'g++' does not match
Attachments (1)
Change History (9)
comment:1 by , 12 years ago
comment:2 by , 12 years ago
Jim, I don't understand what's going on here. This error message should be only emitted if you have
using gcc : mingw-4.3.3 ;
in user-config.jam, without any command. Is that the case? If so, why are you specifying a version at all?
comment:3 by , 12 years ago
It's acting as though that were the case, but my ./tools_bb/user-config.jam has only this un-commented:
using gcc ;
It must be inserting the mingw somewhere, but I couldn't figure out where. Could we patch my test to try to trace it?
comment:4 by , 12 years ago
Summary: | MinGW version → MinGW version 'mingw-x.u.z' requested but 'g++-mingw-x.y.z' not found and version 'x.y.z' of default 'g++' does not match |
---|
Notice, too, the command-line here:
"['bjam', '-sBOOST_BUILD_PATH="F:\\tmp\\boost-MinGW-32\\trunk\\boost\\tools\\build\\v2\\test/.."', '-d0', '--quiet', 'toolset=gcc-mingw-4.3.3', '--test-config="F:\\tmp\\boost-MinGW-32\\trunk\\boost\\tools\\build\\v2\\test\\test-config.jam"', '--ignore-toolset-requirements']" returned 1
It's passing in gcc-mingw-4.3.3
which doesn't exactly match anything on the error message on line 106.
I'm submitting a patch for build-system.jam that filters out the '-mingw' explicitly. You might not like it, but it does get past line 106.
by , 12 years ago
Attachment: | build-v2-build-system-jam.patch added |
---|
comment:5 by , 12 years ago
Summary: | MinGW version 'mingw-x.u.z' requested but 'g++-mingw-x.y.z' not found and version 'x.y.z' of default 'g++' does not match → MinGW version 'mingw-x.y.z' requested but 'g++-mingw-x.y.z' not found and version 'x.y.z' of default 'g++' does not match |
---|
comment:6 by , 12 years ago
Type: | Bugs → Patches |
---|
I'm more and more convinced that this patch is the real fix.
One mystery solved: the regression test passes the toolset into test_all.py on the command-line, as such:
"C:\Software\Open\Python\python.exe" test_all.py --default-bjam --xml gcc-mingw-4.4.0 1>F:\boost\MinGW-32\trunk\results\boost-build-gcc-mingw-4.4.0\test_log.xml
Called without a toolset, it defaults to just "gcc" and works fine. This solves http://lists.boost.org/Archives/boost/2010/12/173676.php.
comment:7 by , 12 years ago
Version: | Boost 1.44.0 → Boost 1.46.0 |
---|
comment:8 by , 12 years ago
Milestone: | To Be Determined → Boost 1.46.0 |
---|---|
Version: | Boost 1.46.0 → Boost Development Trunk |
mingw g++ -dumpversion returns '4.3.3', but the version string passed into the rule has the 'mingw-' prefix attached, to it fails to match '4.3.3'.
g++ -dumpmachine returns 'mingw32'