[RTEMS Project] #4916: Canadian cross building not staging GCC
RTEMS trac
trac at rtems.org
Thu Jun 8 12:30:12 UTC 2023
#4916: Canadian cross building not staging GCC
-----------------------+--------------------
Reporter: hguerard | Owner: (none)
Type: defect | Status: new
Priority: normal | Milestone:
Component: tool/rsb | Version: 6
Severity: normal | Keywords: cxc
Blocked By: | Blocking:
-----------------------+--------------------
I am performing a canadian cross compilation on Linux Ubuntu for Windows
targeting the ARM architecture using the following command:
{{{
./source-builder/sb-set-builder --prefix=/home/vagrant/rtems-
toolchain/output --trace--host=i686-w64-mingw32 6/rtems-arm
}}}
The build completes successfully. When I inspected the content of the
output folder (/home/vagrant/rtems-toolchain/output) and GCC is missing.
For instance, the file ''/home/vagrant/rtems-toolchain/output/bin/arm-
rtems6-gcc.exe'' is not present.
When inspecting the log (with trace enabled), I see 7 builds:
{{{
_bset: 2: mode: staging: builds: dtc-1.6.1-i686-w64-mingw32-1,
expat-2.4.8-i686-w64-mingw32-1, gmp-6.2.1-i686-w64-mingw32-1, arm-
rtems6-gdb-13.1-i686-w64-mingw32-1, arm-
rtems6-binutils-2.39-i686-w64-mingw32-1, arm-rtems6-gcc-cf59d86-newlib-
17ac400-i686-w64-mingw32-1, rtems-tools-
c8bf7309332990a52ae98ed3926c0f62984e8193-1
}}}
All builds get installed expects for
{{{
arm-rtems6-binutils-2.39-i686-w64-mingw32-1, arm-rtems6-gcc-cf59d86
-newlib-17ac400-i686-w64-mingw32-1
}}}
because the build-installable is flagged as **not installable**.
{{{
_build: installable: host=i686-w64-mingw32 build=x86_64-linux-gnu no-
install=False Cxc=True disable_installing=False disabled=False
_bset: : staging: installable=False build-installable=False
}}}
When inspecting the build.py file, the condition is as follow:
{{{
def installable(self):
_host = self.config.expand('%{_host}')
_build = self.config.expand('%{_build}')
_canadian_cross = self.canadian_cross()
if self.macros.get('_disable_installing') and \
self.config.expand('%{_disable_installing}') == 'yes':
_disable_installing = True
else:
_disable_installing = False
_no_install = self.opts.no_install()
log.trace('_build: installable: host=%s build=%s ' \
'no-install=%r Cxc=%r disable_installing=%r disabled=%r'
% \
(_host, _build, _no_install, _canadian_cross,
_disable_installing, \
self.disabled()))
return len(_host) and len(_build) and \
not self.disabled() and \
not _disable_installing and \
not _canadian_cross
}}}
Because the build is marked as canadian_cross, it is not installed. Why is
that? [https://git.rtems.org/rtems-source-builder/commit/source-
builder/sb/build.py?id=6444d5806dbdd66dd23a18df824872eb84fbe248 This
change has been introduced in this commit.]
In my case, I have patched the build.py file to remove the **not
_canadian_cross** condition in the return and it resolved my issue.
--
Ticket URL: <http://devel.rtems.org/ticket/4916>
RTEMS Project <http://www.rtems.org/>
RTEMS Project
More information about the bugs
mailing list