#3183 closed defect (fixed)

Build of RTEMS 4.11.2 using RSB fails for ARM

Reported by: Steen Palm Owned by: Chris Johns
Priority: normal Milestone: 4.11.3
Component: arch/arm Version: 4.11
Severity: normal Keywords: build
Cc: Blocked By:
Blocking:

Description

I have built release 4.11.2 of RTEMS for ERC32, and it can successfully run the hello example using the SPARC gdb.

I'm now trying to build RTEMS for ARM using RSB 4.11.2, but RSB fails after it has built the kernel, while it is making a hello example test. The strange thing is that RSB is attempting to use a file that is part of the RTEMS built for ERC32 - a file that does not exist. The prefix for the ERC32 RTEMS is /home/smile/dev/rtems/4.11/erc32 and /home/smile/dev/rtems/4.11/arm for the ARM RTEMS.

Used build command: ../source-builder/sb-set-builder --prefix=$HOME/dev/rtems/4.11/arm 4.11/rtems-arm

Extract from the log file rsb-report-arm-rtems4.11-kernel-4.11.2-1.txt:
...
make all-am
make[5]: Entering directory '/home/smile/dev/rtems/4.11/rtems-source-builder-4.11.2/rtems/build/arm-rtems4.11-kernel-4.11.2-1/arm-rtems4.11-kernel-4.11.2-1-4.11.2/build/arm-rtems4.11/c/nds/testsuites/samples'
BSP Testsuite Data: all tests
Making all in hello
make[6]: Entering directory '/home/smile/dev/rtems/4.11/rtems-source-builder-4.11.2/rtems/build/arm-rtems4.11-kernel-4.11.2-1/arm-rtems4.11-kernel-4.11.2-1-4.11.2/build/arm-rtems4.11/c/nds/testsuites/samples/hello'
arm-rtems4.11-gcc -B../../../../../nds/lib/ -specs bsp_specs -qrtems -DHAVE_CONFIG_H -I. -I../../../../../../../rtems-4.11.2/c/src/../../testsuites/samples/hello -I.. -mcpu=arm9tdmi -O2 -Wall -Wmissing-prototypes -Wimplicit-function-declaration -Wstrict-prototypes -Wnested-externs -MT init.o -MD -MP -MF .deps/init.Tpo -c -o init.o ../../../../../../../rtems-4.11.2/c/src/../../testsuites/samples/hello/init.c
mv -f .deps/init.Tpo .deps/init.Po
arm-rtems4.11-gcc -B../../../../../nds/lib/ -specs bsp_specs -qrtems -mcpu=arm9tdmi -O2 -Wall -Wmissing-prototypes -Wimplicit-function-declaration -Wstrict-prototypes -Wnested-externs -mcpu=arm9tdmi -o hello.exe init.o
arm-rtems4.11-nm -g -n hello.exe > hello.num arm-rtems4.11-size hello.exe

text data bss dec hex filename

145504 2384 4043392 4191280 3ff430 hello.exe

arm-rtems4.11-objcopy -O binary hello.exe hello.bin ../../../../../nds/build-tools/ndstool -c hello.nds -9 hello.bin -7 /home/smile/dev/rtems/4.11/erc32/sparc-rtems4.11/erc32/lib/coproc.bin
Cannot open file '/home/smile/dev/rtems/4.11/erc32/sparc-rtems4.11/erc32/lib/coproc.bin'.
Nintendo DS rom tool compiled for rtems - Oct 10 2017 by Rafael Vuijk, Dave Murphy, Alexei Karpenko
Makefile:626: recipe for target 'hello.exe' failed
make[6]: Leaving directory '/home/smile/dev/rtems/4.11/rtems-source-builder-4.11.2/rtems/build/arm-rtems4.11-kernel-4.11.2-1/arm-rtems4.11-kernel-4.11.2-1-4.11.2/build/arm-rtems4.11/c/nds/testsuites/samples/hello'
make[6]: * [hello.exe] Error 1
make[5]:
* [all-local] Error 1
make[4]: * [all] Error 2
make[3]:
* [all-recursive] Error 1
make[2]: * [all-recursive] Error 1
Makefile:583: recipe for target 'all-local' failed
make[5]: Leaving directory '/home/smile/dev/rtems/4.11/rtems-source-builder-4.11.2/rtems/build/arm-rtems4.11-kernel-4.11.2-1/arm-rtems4.11-kernel-4.11.2-1-4.11.2/build/arm-rtems4.11/c/nds/testsuites/samples'
Makefile:245: recipe for target 'all' failed
make[4]: Leaving directory '/home/smile/dev/rtems/4.11/rtems-source-builder-4.11.2/rtems/build/arm-rtems4.11-kernel-4.11.2-1/arm-rtems4.11-kernel-4.11.2-1-4.11.2/build/arm-rtems4.11/c/nds/testsuites/samples'
Makefile:313: recipe for target 'all-recursive' failed
make[3]: Leaving directory '/home/smile/dev/rtems/4.11/rtems-source-builder-4.11.2/rtems/build/arm-rtems4.11-kernel-4.11.2-1/arm-rtems4.11-kernel-4.11.2-1-4.11.2/build/arm-rtems4.11/c/nds/testsuites'
Makefile:424: recipe for target 'all-recursive' failed
make[2]: Leaving directory '/home/smile/dev/rtems/4.11/rtems-source-builder-4.11.2/rtems/build/arm-rtems4.11-kernel-4.11.2-1/arm-rtems4.11-kernel-4.11.2-1-4.11.2/build/arm-rtems4.11/c/nds'
make[1]:
* [all-recursive] Error 1
Makefile:286: recipe for target 'all-recursive' failed
make[1]: Leaving directory '/home/smile/dev/rtems/4.11/rtems-source-builder-4.11.2/rtems/build/arm-rtems4.11-kernel-4.11.2-1/arm-rtems4.11-kernel-4.11.2-1-4.11.2/build/arm-rtems4.11/c'
make: * [all-recursive] Error 1
Makefile:410: recipe for target 'all-recursive' failed shell cmd failed: /bin/sh -ex /home/smile/dev/rtems/4.11/rtems-source-builder-4.11.2/rtems/build/arm-rtems4.11-kernel-4.11.2-1/doit
error: building arm-rtems4.11-kernel-4.11.2-1

Change History (4)

comment:1 Changed on Oct 12, 2017 at 8:00:23 AM by Steen Palm

I forgot to mention that the platform is Debian 8.

comment:2 Changed on Oct 12, 2017 at 3:52:03 PM by Chris Johns

As a work around please add --without-rtems as an option to the RSB set builder command. You will then need to build RTEMS yourself and you can select the specific BSP you are interested in.

comment:3 Changed on Feb 6, 2018 at 12:41:37 AM by Chris Johns

Component: adminarch/arm
Milestone: 4.11.3
Owner: set to Chris Johns
Status: newassigned

comment:4 Changed on Feb 7, 2018 at 3:12:28 AM by Chris Johns

Resolution: fixed
Status: assignedclosed

This fix resolves the RSB side of things, the kernel is now not build by default with the following change so this error is avoided:

https://git.rtems.org/rtems-source-builder/commit/?h=4.11&id=49033ffc66f75d10ba47df166be77827d0069b56

The underlying bug in the BSP is still present and if it is a problem a new ticket can be created.

Note: See TracTickets for help on using tickets.