#2332 closed defect (fixed)

rtemstools cannot be built by RSB under MinGW32

Reported by: Daniel Krüger Owned by:
Priority: normal Milestone: 4.11.1
Component: tool Version: 4.10
Severity: normal Keywords:
Cc: Blocked By:
Blocking:

Description

I want to built the Toolchain for RTEMS on Windows 7 SP1 (32 bit with MinGW32/MSYS2), but that fails during built of the RTEMS tools. The build environment has been setup as the documentation of the RTEMS Source Builder suggests.

rsb-report-autoconf-2.69-i686-w32-mingw32-1.txt:

RTEMS Tools Project - Source Builder Error Report
 Build: error: building rtH1
 Command Line: ../source-builder/sb-set-builder --log=l-arm.txt --prefix=C:/msys32/opt/rtems-4.11 4.11/rtems-arm
 Python: 2.7.9 (default, Dec 10 2014, 12:24:55) [MSC v.1500 32 bit (Intel)]
 P:\SW\gitrepo\rtems-source-builder.git/origin/b65c131f2e11e352fde6efa0ec2fe5000dad3a4a-modified
 Windows
Tail of the build log:
script: 56: 
script: 57: export CFLAGS_FOR_TARGET
script: 58: export CXXFLAGS_FOR_TARGET
script: 59: # Set up the path. Put the CXC path first.
script: 60: if test -n "${SB_TMPBINDIR}" ; then
script: 61:  PATH="${SB_TMPBINDIR}:$PATH"
script: 62: fi
script: 63: if test -n "${SB_TMPCXCBINDIR}" ; then
script: 64:  PATH="${SB_TMPCXCBINDIR}:$PATH"
script: 65: fi
script: 66: if test -n "${SB_EXTRAPATH}" ; then
script: 67:  PATH="${SB_EXTRAPATH}:$PATH"
script: 68: fi
script: 69: 
script: 70: 
script: 71: export PATH
script: 72: # Default environment set up.
script: 73: LANG=C
script: 74: export LANG
script: 75: unset DISPLAY || :
script: 76: umask 022
script: 77: cd "/C/Projekte/rtems-source-builder/rtems/build/rtH1"
script: 78: echo "=> rtems-tools-HEAD-1:"
script: 79: echo "==> %prep:"
script: 80: build_top=$(pwd)
script: 81: source_dir_rtems_tools="rtems-tools-HEAD-1"
source setup: rtems-tools-HEAD-1: source rtems-tools -q -D -n rtems-tools-HEAD-1
Creating source directory: sources\git
making dir: C:\Projekte\rtems-source-builder\rtems\sources\git
git: clone: git://git.rtems.org/rtems-tools.git -> sources\git\rtems-tools.git
git: reset: git://git.rtems.org/rtems-tools.git
git: checkout: git://git.rtems.org/rtems-tools.git => master
git: pull: git://git.rtems.org/rtems-tools.git
script: 82: cd /C/Projekte/rtems-source-builder/rtems/build/rtH1
script: 83: ln -s /C/Projekte/rtems-source-builder/rtems/sources/git/rtems-tools.git ${source_dir_rtems_tools}
script: 84: cd rtems-tools-HEAD-1
script: 85: chmod -R a+rX,g-w,o-w .
script: 86: cd ${build_top}
script: 87: SB_CXC="no"
script: 88: echo "==> clean %{buildroot}: ${SB_BUILD_ROOT}"
script: 89: rm -rf ${SB_BUILD_ROOT}
script: 90: /bin/mkdir -p ${SB_BUILD_ROOT}
script: 91: echo "==> %build:"
script: 92: build_top=$(pwd)
script: 93: if test "i686-w32-mingw32" != "i686-w32-mingw32" ; then
script: 94: RT_HOST="-host=i686-w32-mingw32"
script: 95: else
script: 96: RT_HOST=
script: 97: fi
script: 98: cd ${source_dir_rtems_tools}
script: 99: ./waf configure ${RT_HOST} --prefix=/C/msys32/opt/rtems-4.11
script:100: ./waf
script:101: cd ${build_top}
script:102: echo "==> %install:"
script:103: build_top=$(pwd)
script:104: rm -rf $SB_BUILD_ROOT
script:105: cd ${source_dir_rtems_tools}
script:106: ./waf --destdir=$SB_BUILD_ROOT install
script:107: cd ${build_top}
script:108: echo "==> %clean:"
removing: C:\Projekte\rtems-source-builder\rtems\build\rtH1
making dir: C:\Projekte\rtems-source-builder\rtems\build\rtH1
write script: /C/Projekte/rtems-source-builder/rtems/build/rtH1/doit
building: rtems-tools-HEAD-1
run: sh -ex  /C/Projekte/rtems-source-builder/rtems/build/rtH1/doit
+ export 'SB_ORIG_PATH=/mingw32/bin:/usr/local/bin:/usr/bin:/usr/bin:/c/Python27:/c/Windows/system32:/c/Windows:/c/Windows/System32/Wbem:/c/Windows/System32/WindowsPowerShell/v1.0:/c/opt/rtems-4.11/bin:/c/opt/gdc/bin:/c/opt/arm-gdcproject-linux-gnueabi/bin:/c/Program Files/Microsoft SQL Server/100/Tools/Binn:/c/Program Files/Microsoft SQL Server/100/DTS/Binn:/c/Program Files/TortoiseGit/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl'
+ SB_ORIG_PATH='/mingw32/bin:/usr/local/bin:/usr/bin:/usr/bin:/c/Python27:/c/Windows/system32:/c/Windows:/c/Windows/System32/Wbem:/c/Windows/System32/WindowsPowerShell/v1.0:/c/opt/rtems-4.11/bin:/c/opt/gdc/bin:/c/opt/arm-gdcproject-linux-gnueabi/bin:/c/Program Files/Microsoft SQL Server/100/Tools/Binn:/c/Program Files/Microsoft SQL Server/100/DTS/Binn:/c/Program Files/TortoiseGit/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl'
+ SB_PREFIX=/C/msys32/opt/rtems-4.11
++ echo /C/msys32/opt/rtems-4.11
++ sed -e 's/^\///'
+ SB_PREFIX_CLEAN=C/msys32/opt/rtems-4.11
+ SB_SOURCE_DIR=/C/Projekte/rtems-source-builder/rtems/sources
+ SB_BUILD_DIR=/C/Projekte/rtems-source-builder/rtems/build/rtH1
+ SB_HOST_CFLAGS='-O2 -pipe '
+ SB_HOST_CXXFLAGS='-O2 -pipe '
+ SB_HOST_LDFLAGS=-L/C/Projekte/rtems-source-builder/rtems/build/tmp/sb-produktion/4.11/rtems-arm/C/msys32/opt/rtems-4.11/lib
+ SB_BUILD_CFLAGS='-O2 -pipe -I/C/Projekte/rtems-source-builder/rtems/build/tmp/sb-produktion/4.11/rtems-arm/C/msys32/opt/rtems-4.11/include'
+ SB_BUILD_CXXFLAGS='-O2 -pipe -I/C/Projekte/rtems-source-builder/rtems/build/tmp/sb-produktion/4.11/rtems-arm/C/msys32/opt/rtems-4.11/include'
+ SB_BUILD_LDFLAGS=-L/C/Projekte/rtems-source-builder/rtems/build/tmp/sb-produktion/4.11/rtems-arm/C/msys32/opt/rtems-4.11/lib
+ SB_CFLAGS='-O2 -pipe -I/C/Projekte/rtems-source-builder/rtems/build/tmp/sb-produktion/4.11/rtems-arm/C/msys32/opt/rtems-4.11/include '
+ SB_CXXFLAGS='-O2 -pipe -I/C/Projekte/rtems-source-builder/rtems/build/tmp/sb-produktion/4.11/rtems-arm/C/msys32/opt/rtems-4.11/include '
+ SB_ARCH=i686
+ SB_OS=win32
+ export SB_SOURCE_DIR SB_BUILD_DIR SB_ARCH SB_OS
+ export SB_HOST_CFLAGS SB_HOST_CXXFLAGS SB_HOST_LDFLAGS
+ export SB_BUILD_CFLAGS SB_BUILD_CXXFLAGS SB_BUILD_LDFLAGS
+ export SB_CFLAGS SB_CXXFLAGS
+ SB_DOC_DIR=/C/msys32/opt/rtems-4.11/share/doc
+ export SB_DOC_DIR
+ SB_PACKAGE_NAME=rtems-tools-HEAD-1
+ SB_PACKAGE_BUILDNAME=rtH1
+ SB_PACKAGE_VERSION=HEAD
+ SB_PACKAGE_RELEASE=1
+ export SB_PACKAGE_NAME SB_PACKAGE_VERSION SB_PACKAGE_RELEASE
+ export SB_PREFIX
+ SB_BUILD_DIR=/C/Projekte/rtems-source-builder/rtems/build/rtH1
+ SB_BUILD_ROOT=/C/Projekte/rtems-source-builder/rtems/build/tmp/rtems-tools-HEAD-1-root-produktion
+ SB_BUILD_ROOT_BINDIR=/C/Projekte/rtems-source-builder/rtems/build/tmp/rtems-tools-HEAD-1-root-produktion/C/msys32/opt/rtems-4.11/bin
+ export SB_BUILD_ROOT SB_BUILD_DIR SB_BUILD_ROOT_BINDIR
+ SB_BUILD_CXC_DIR=/C/Projekte/rtems-source-builder/rtems/build/rtH1-cxc
+ SB_BUILD_CXC_ROOT=/C/Projekte/rtems-source-builder/rtems/build/tmp/rtH1-produktion-cxc
+ SB_BUILD_CXC_ROOT_BINDIR=/C/Projekte/rtems-source-builder/rtems/build/tmp/rtH1-produktion-cxc/C/msys32/opt/rtems-4.11/bin
+ export SB_BUILD_CXC_ROOT SB_BUILD_CXC_DIR SB_BUILD_CXC_ROOT_BINDIR
+ SB_TMPROOT=/C/Projekte/rtems-source-builder/rtems/build/tmp/sb-produktion/4.11/rtems-arm
+ SB_TMPPREFIX=/C/Projekte/rtems-source-builder/rtems/build/tmp/sb-produktion/4.11/rtems-arm/C/msys32/opt/rtems-4.11
+ SB_TMPBINDIR=/C/Projekte/rtems-source-builder/rtems/build/tmp/sb-produktion/4.11/rtems-arm/C/msys32/opt/rtems-4.11/bin
+ export SB_TMPROOT SB_TMPPREFIX SB_TMPBINDIR
+ SB_TMPCXCROOT=/C/Projekte/rtems-source-builder/rtems/build/tmp/sb-produktion/4.11/rtems-arm
+ SB_TMPCXCPREFIX=/C/Projekte/rtems-source-builder/rtems/build/tmp/sb-produktion-cxc/4.11/rtems-arm/C/msys32/opt/rtems-4.11
+ SB_TMPCXCBINDIR=/C/Projekte/rtems-source-builder/rtems/build/tmp/sb-produktion-cxc/4.11/rtems-arm/C/msys32/opt/rtems-4.11/bin
+ export SB_TMPCXCROOT SB_TMPCXCPREFIX SB_TMPCXCBINDIR
+ SB_EXTRAPATH=/C/Projekte/rtems-source-builder/source-builder
+ export CFLAGS_FOR_TARGET
+ export CXXFLAGS_FOR_TARGET
+ test -n /C/Projekte/rtems-source-builder/rtems/build/tmp/sb-produktion/4.11/rtems-arm/C/msys32/opt/rtems-4.11/bin
+ PATH='/C/Projekte/rtems-source-builder/rtems/build/tmp/sb-produktion/4.11/rtems-arm/C/msys32/opt/rtems-4.11/bin:/mingw32/bin:/usr/local/bin:/usr/bin:/usr/bin:/c/Python27:/c/Windows/system32:/c/Windows:/c/Windows/System32/Wbem:/c/Windows/System32/WindowsPowerShell/v1.0:/c/opt/rtems-4.11/bin:/c/opt/gdc/bin:/c/opt/arm-gdcproject-linux-gnueabi/bin:/c/Program Files/Microsoft SQL Server/100/Tools/Binn:/c/Program Files/Microsoft SQL Server/100/DTS/Binn:/c/Program Files/TortoiseGit/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl'
+ test -n /C/Projekte/rtems-source-builder/rtems/build/tmp/sb-produktion-cxc/4.11/rtems-arm/C/msys32/opt/rtems-4.11/bin
+ PATH='/C/Projekte/rtems-source-builder/rtems/build/tmp/sb-produktion-cxc/4.11/rtems-arm/C/msys32/opt/rtems-4.11/bin:/C/Projekte/rtems-source-builder/rtems/build/tmp/sb-produktion/4.11/rtems-arm/C/msys32/opt/rtems-4.11/bin:/mingw32/bin:/usr/local/bin:/usr/bin:/usr/bin:/c/Python27:/c/Windows/system32:/c/Windows:/c/Windows/System32/Wbem:/c/Windows/System32/WindowsPowerShell/v1.0:/c/opt/rtems-4.11/bin:/c/opt/gdc/bin:/c/opt/arm-gdcproject-linux-gnueabi/bin:/c/Program Files/Microsoft SQL Server/100/Tools/Binn:/c/Program Files/Microsoft SQL Server/100/DTS/Binn:/c/Program Files/TortoiseGit/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl'
+ test -n /C/Projekte/rtems-source-builder/source-builder
+ PATH='/C/Projekte/rtems-source-builder/source-builder:/C/Projekte/rtems-source-builder/rtems/build/tmp/sb-produktion-cxc/4.11/rtems-arm/C/msys32/opt/rtems-4.11/bin:/C/Projekte/rtems-source-builder/rtems/build/tmp/sb-produktion/4.11/rtems-arm/C/msys32/opt/rtems-4.11/bin:/mingw32/bin:/usr/local/bin:/usr/bin:/usr/bin:/c/Python27:/c/Windows/system32:/c/Windows:/c/Windows/System32/Wbem:/c/Windows/System32/WindowsPowerShell/v1.0:/c/opt/rtems-4.11/bin:/c/opt/gdc/bin:/c/opt/arm-gdcproject-linux-gnueabi/bin:/c/Program Files/Microsoft SQL Server/100/Tools/Binn:/c/Program Files/Microsoft SQL Server/100/DTS/Binn:/c/Program Files/TortoiseGit/bin:/usr/bin/site_perl:/usr/bin/vendor_perl:/usr/bin/core_perl'
+ export PATH
+ LANG=C
+ export LANG
+ unset DISPLAY
+ umask 022
+ cd /C/Projekte/rtems-source-builder/rtems/build/rtH1
+ echo '=> rtems-tools-HEAD-1:'
+ echo '==> %prep:'
=> rtems-tools-HEAD-1:
==> %prep:
++ pwd
+ build_top=/C/Projekte/rtems-source-builder/rtems/build/rtH1
+ source_dir_rtems_tools=rtems-tools-HEAD-1
+ cd /C/Projekte/rtems-source-builder/rtems/build/rtH1
+ ln -s /C/Projekte/rtems-source-builder/rtems/sources/git/rtems-tools.git rtems-tools-HEAD-1
+ cd rtems-tools-HEAD-1
+ chmod -R a+rX,g-w,o-w .
+ cd /C/Projekte/rtems-source-builder/rtems/build/rtH1
+ SB_CXC=no
+ echo '==> clean %{buildroot}: /C/Projekte/rtems-source-builder/rtems/build/tmp/rtems-tools-HEAD-1-root-produktion'
==> clean %{buildroot}: /C/Projekte/rtems-source-builder/rtems/build/tmp/rtems-tools-HEAD-1-root-produktion
+ rm -rf /C/Projekte/rtems-source-builder/rtems/build/tmp/rtems-tools-HEAD-1-root-produktion
+ /bin/mkdir -p /C/Projekte/rtems-source-builder/rtems/build/tmp/rtems-tools-HEAD-1-root-produktion
+ echo '==> %build:'
==> %build:
++ pwd
+ build_top=/C/Projekte/rtems-source-builder/rtems/build/rtH1
+ test i686-w32-mingw32 '!=' i686-w32-mingw32
+ RT_HOST=
+ cd rtems-tools-HEAD-1
+ ./waf configure --prefix=/C/msys32/opt/rtems-4.11
Setting top to                           : C:\Projekte\rtems-source-builder\rtems\build\rtH1\rtems-tools-HEAD-1 
Setting out to                           : C:\Projekte\rtems-source-builder\rtems\build\rtH1\rtems-tools-HEAD-1\build 
Checking for 'msvc' (C compiler)         : c:\Program Files\Microsoft Visual Studio 10.0\VC\BIN\CL.exe 
Checking for 'msvc' (C++ compiler)       : c:\Program Files\Microsoft Visual Studio 10.0\VC\BIN\CL.exe 
Checking for header alloca.h             : not found 
Checking for header fcntl.h              : yes 
Checking for header process.h            : yes 
Checking for header stdlib.h             : yes 
Checking for header string.h             : yes 
Checking for header strings.h            : not found 
Checking for header sys/file.h           : not found 
Checking for header sys/stat.h           : yes 
Checking for header sys/time.h           : not found 
Checking for header sys/types.h          : yes 
Checking for header sys/wait.h           : not found 
Checking for header unistd.h             : not found 
Checking for header vfork.h              : not found 
Checking for function getrusage          : not found 
Checking for header sys/wait.h           : not found 
Checking for function kill               : not found 
Checking for function open64             : not found 
Checking for function stat64             : not found 
Checking for program 'python'            : C:\Python27\python.exe 
Checking for python version              : (2, 7, 9, 'final', 0) 
Checking for python version              : (2, 7, 9, 'final', 0) 
'configure' finished successfully (2.803s)
+ ./waf
Waf: Entering directory `C:\Projekte\rtems-source-builder\rtems\build\rtH1\rtems-tools-HEAD-1\build'
[  1/236] Compiling rtemstoolkit\elftoolchain\libelf\libelf_convert.m4
[  2/236] Compiling rtemstoolkit\elftoolchain\libelf\libelf_fsize.m4
[  3/236] Compiling rtemstoolkit\elftoolchain\libelf\libelf_msize.m4
[  4/236] Compiling rtemstoolkit\elftoolchain\libelf\elf.c
elf.c

c:\projekte\rtems-source-builder\rtems\build\rth1\rtems-tools-head-1\rtemstoolkit\elftoolchain\libelf\libelf.h(32) : fatal error C1083: Datei (Include) kann nicht ge”ffnet werden: "sys/param.h": No such file or directory


cl : Befehlszeile warning D9002 : Unbekannte Option "-pipe" wird ignoriert.

cl : Befehlszeile warning D9002 : Unbekannte Option "-g" wird ignoriert.


Waf: Leaving directory `C:\Projekte\rtems-source-builder\rtems\build\rtH1\rtems-tools-HEAD-1\build'
Build failed
 -> task in 'elf' failed (exit status 2): 
	{task 26199408: c elf.c -> elf.c.4.o}
['c:\\Program Files\\Microsoft Visual Studio 10.0\\VC\\BIN\\CL.exe', '/nologo', '-pipe', '-g', '-O2', '/IC:\\Projekte\\rtems-source-builder\\rtems\\build\\rtH1\\rtems-tools-HEAD-1\\build', '/IC:\\Projekte\\rtems-source-builder\\rtems\\build\\rtH1\\rtems-tools-HEAD-1\\build\\rtemstoolkit\\elftoolchain\\libelf', '/IC:\\Projekte\\rtems-source-builder\\rtems\\build\\rtH1\\rtems-tools-HEAD-1\\rtemstoolkit\\elftoolchain\\libelf', '/IC:\\Projekte\\rtems-source-builder\\rtems\\build\\rtH1\\rtems-tools-HEAD-1\\build\\rtemstoolkit\\elftoolchain\\common', '/IC:\\Projekte\\rtems-source-builder\\rtems\\build\\rtH1\\rtems-tools-HEAD-1\\rtemstoolkit\\elftoolchain\\common', '/IC:\\Projekte\\rtems-source-builder\\rtems\\build\\rtH1\\rtems-tools-HEAD-1\\build\\rtemstoolkit\\win32', '/IC:\\Projekte\\rtems-source-builder\\rtems\\build\\rtH1\\rtems-tools-HEAD-1\\rtemstoolkit\\win32', '/Ic:\\Program Files\\Microsoft Visual Studio 10.0\\VC\\INCLUDE', '/Ic:\\Program Files\\Microsoft Visual Studio 10.0\\VC\\ATLMFC\\INCLUDE', '/Ic:\\Program Files\\Microsoft SDKs\\Windows\\v7.0A\\include', '/DPYTHONDIR="C:\\Python27\\Lib\\site-packages"', '/DPYTHONARCHDIR="C:\\Python27\\Lib\\site-packages"', '', '..\\rtemstoolkit\\elftoolchain\\libelf\\elf.c', '/FC', '/c', '/Fo', 'C:\\Projekte\\rtems-source-builder\\rtems\\build\\rtH1\\rtems-tools-HEAD-1\\build\\rtemstoolkit\\elftoolchain\\libelf\\elf.c.4.o']
shell cmd failed: sh -ex  /C/Projekte/rtems-source-builder/rtems/build/rtH1/doit
error: building rtH1

Change History (5)

comment:1 Changed on Apr 21, 2015 at 6:42:54 PM by Daniel Krüger

After adding the bug report my eyes fall on "Microsoft Visual Studio" which is also installed on the development PC. Could it be that Waf tries to use this instead of MinGW GCC? How can I force Waf to use GCC?

comment:2 Changed on Apr 21, 2015 at 6:46:37 PM by Joel Sherrill

I don't know for sure this will help but your environment has at least a PATH which points to MVS. Strip your PATH down to only the essentials for MINGW32. Do an "env" and look for other variables which might be set for MVS like LIB, etc. Those have been known to confuse builds in the past.

If this works (or at least helps), it probably should be at least documented as a hint. If the sb-checker program can detect some of these, it might be useful as well.

comment:3 in reply to:  1 Changed on Apr 21, 2015 at 10:05:23 PM by Chris Johns

Replying to systec-dk:

After adding the bug report my eyes fall on "Microsoft Visual Studio" which is also installed on the development PC. Could it be that Waf tries to use this instead of MinGW GCC? How can I force Waf to use GCC?

The waf script is searching for an available compiler and I cannot restrict it to just gcc because some hosts do not have gcc, such as FreeBSD. I am not sure how we can remove MSVC from the list. Can we just make the code build with MSVC ?

Is there still available a free to download MSVC I can play with ?

comment:4 Changed on Apr 23, 2015 at 1:48:20 PM by Daniel Krüger

Oh yes there is. It's just a little bit crazy to find the Visual Studio Express 2010 download on microsoft.com.

comment:5 Changed on Apr 23, 2016 at 11:45:53 PM by Chris Johns

Resolution: fixed
Status: newclosed

I think this issue is resolved in the latest RSB. I will close. Please reopen if the issue still exists.

Note: See TracTickets for help on using tickets.