[RTEMS Project] #2205: RTEMS tools don't build on MinGW due to missing <sys/queue.h>
RTEMS trac
trac at rtems.org
Wed Mar 11 23:57:20 UTC 2015
#2205: RTEMS tools don't build on MinGW due to missing <sys/queue.h>
-----------------------------+---------------------
Reporter: sebastian.huber | Owner: chrisj
Type: defect | Status: new
Priority: normal | Milestone: 4.11
Component: tools | Version: 4.11
Severity: blocker | Resolution:
Keywords: |
-----------------------------+---------------------
Comment (by chrisj):
I have taken a look and there must be something specific to your Windows
setup we need to isolate. I do not know what this is.
This is the exec options used by waf taken from the error trace you
posted:
{{{
'c:\\mingw\\bin\\gcc.exe',
'-pipe', '-g', '-O2',
'-Ic:\\MinGW\\home\\git-rtems-tools\\build',
'-Ic:\\MinGW\\home\\git-rtems-
tools\\build\\rtemstoolkit\\elftoolchain\\libelf',
'-Ic:\\MinGW\\home\\git-rtems-tools\\rtemstoolkit\\elftoolchain\\libelf',
'-Ic:\\MinGW\\home\\git-rtems-
tools\\build\\rtemstoolkit\\elftoolchain\\common',
'-Ic:\\MinGW\\home\\git-rtems-tools\\rtemstoolkit\\elftoolchain\\common',
'-Ic:\\MinGW\\home\\git-rtems-tools\\build\\rtemstoolkit\\win32',
'-Ic:\\MinGW\\home\\git-rtems-tools\\rtemstoolkit\\win32',
'..\\rtemstoolkit\\elftoolchain\\libelf\\elf.c',
'-c', '-o',
'rtemstoolkit\\elftoolchain\\libelf\\elf.c.4.o'
}}}
and this is the trace from my working build with './waf -v':
{{{
'C:\\msys64\\mingw64\\bin\\gcc.exe',
'-pipe', '-g', '-O2',
'-IC:\\opt\\rtems\\rt\\rtems-tools.git\\build',
'-IC:\\opt\\rtems\\rt\\rtems-
tools.git\\build\\rtemstoolkit\\elftoolchain\\libelf',
'-IC:\\opt\\rtems\\rt\\rtems-
tools.git\\rtemstoolkit\\elftoolchain\\libelf',
'-IC:\\opt\\rtems\\rt\\rtems-
tools.git\\build\\rtemstoolkit\\elftoolchain\\common',
'-IC:\\opt\\rtems\\rt\\rtems-
tools.git\\rtemstoolkit\\elftoolchain\\common',
'-IC:\\opt\\rtems\\rt\\rtems-tools.git\\build\\rtemstoolkit\\win32',
'-IC:\\opt\\rtems\\rt\\rtems-tools.git\\rtemstoolkit\\win32',
'-DPYTHONDIR="C:\\users\\chris\\appdata\\local\\temp\\Lib\\site-
packages"',
'-DPYTHONARCHDIR="C:\\users\\chris\\appdata\\local\\temp\\Lib\\site-
packages"',
'..\\rtemstoolkit\\elftoolchain\\libelf\\elf.c',
'-c', '-o',
'rtemstoolkit\\elftoolchain\\libelf\\elf.c.4.o'
}}}
If you remove the PYTHON* defines from my command line they are the same.
The important path is:
{{{
'-Ic:\\MinGW\\home\\git-rtems-tools\\build\\rtemstoolkit\\win32'
}}}
because that directory contains 'sys/queue.h'. This means you and I are
detecting 'win32' correctly and the paths are being updated to include the
Windows version of queue.h. Why the compiler is not seeing the header in
your case is something I do not know.
Please note, one advantage MSYS2 has is it comes with a stable version of
git. There are versions of Git for Windows that contain cygwin/msys forked
DLLs and they interact with MinGW's MSYS and MSYS2's MSYS.
--
Ticket URL: <http://devel.rtems.org/ticket/2205#comment:6>
RTEMS Project <http://www.rtems.org/>
RTEMS Project
More information about the bugs
mailing list