[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