RSB help
Chris Johns
chrisj at rtems.org
Tue Apr 14 00:23:19 UTC 2020
On 11/4/20 2:06 am, Michael Westfall wrote:
> This time I'm trying to build ncurses-6.2 using the RSB with files
> .cfg/.bset files I made myself. Basically, I just copied and modified
> the files for building libcurl.
Nice. I have used ncurses with RTEMS many many years ago, it is a great
package.
> Here is what happens when I run the command:
> ../source-builder/sb-set-builder
> --prefix=/gem_sw/targetOS/RTEMS/rtems-5.0.0 --host=arm-rtems5
> --with-rtems-bsp=beagleboneblack addons/ncurses
>
> The build fails:
> rtems-bsp=beagleboneblack addons/ncurses
> RTEMS Source Builder - Set Builder, 5.0.0-m2004
> Build Set: addons/ncurses
> config: addons/ncurses-6.2-1.cfg
> package: ncurses-v6.2-arm-rtems5-1
> building: ncurses-v6.2-arm-rtems5-1
> error: building ncurses-v6.2-arm-rtems5-1
> Build FAILED
> See error report: rsb-report-ncurses-v6.2-arm-rtems5-1.txt
> error: building ncurses-v6.2-arm-rtems5-1
> Build Set: Time 0:00:42.979506
> Build FAILED
>
>
> Checking the error report file, I see:
> arm-rtems5-gcc -qrtems
> -B/gem_sw/targetOS/RTEMS/rtems-5.0.0/arm-rtems5/lib/
> -B/gem_sw/targetOS/RTEMS/rtems-5.0.0/arm-rtems5/beagleboneblack/lib/
> --specs bsp_specs -mcpu=cortex-a8 -O2 -g -ffunction-sections
> -fdata-sections --param max-inline-insns-single=1200 -o blue
> ../objects/blue.o
> -L/gem_sw/targetOS/RTEMS/rtems-5.0.0/arm-rtems5/beagleboneblack/lib
> -mcpu=cortex-a8
> -L/gem_sw/targetOS/RTEMS/source/rtems5/rtems-source-builder-5.0.0-m2004/rtems/build/tmp/sb-1000/addons/ncurses/gem_sw/targetOS/RTEMS/rtems-5.0.0/lib -I. -I../../ncurses-6.2/test -I../test -DHAVE_CONFIG_H -DDATA_DIR=\"/gem_sw/targetOS/RTEMS/rtems-5.0.0/arm-rtems5/beagleboneblack/share\" -I. -I../../ncurses-6.2/test -I../include -I../../ncurses-6.2/test/../include -I/gem_sw/targetOS/RTEMS/rtems-5.0.0/arm-rtems5/beagleboneblack/lib/include -D_XOPEN_SOURCE=600 -DNDEBUG -qrtems -B/gem_sw/targetOS/RTEMS/rtems-5.0.0/arm-rtems5/lib/ -B/gem_sw/targetOS/RTEMS/rtems-5.0.0/arm-rtems5/beagleboneblack/lib/ --specs bsp_specs -mcpu=cortex-a8 -O2 -g -ffunction-sections -fdata-sections --param max-inline-insns-single=1200 `echo "-L../lib -lform -lmenu -lpanel -lncurses -lbsd -lm -lz -lrtemsdefaultconfig" | sed -e 's/-lform.*-lpanel[^ ]*//'`
> arm-rtems5-gcc: fatal error:
> /gem_sw/targetOS/RTEMS/rtems-5.0.0/arm-rtems5/beagleboneblack/lib/bsp_specs:
> attempt to rename spec 'endfile' to already defined spec 'old_endfile'
> compilation terminated.
> Makefile:270: recipe for target 'background' failed
> make[1]: *** [background] Error 1
>
> The problem, I'm guessing is that --specs bsp_specs is included twice in
> the compiler command line.
<sigh>
> What am I missing to stop this from happening?
> I don't see anything the RSB documentation to help me with this.
I would add `--trace` and then look in the ncurses' configure generated
config.log file to see how the linker command line is created. I would
look at CFLAGS, LDFLAGS, CCFLAGS or one of the other types of flags to
see how they are being used. The other possible option is to see if you
can avoid examples or commands being linked?
An aside, Joel has done a lot of background work to remove spec files
from our compiler command line and Sebastian is pushing patches looking
to removing spec files from RTEMS 6. Lets hope this is successful as
this type of error disappears. There benefits of having a "normal"
compiler command line cannot be stated enough.
> I've attached my .cfg and .bset files.
They look good. I suspect something in the default pre-build set up is
effecting something ...
https://git.rtems.org/rtems-source-builder/tree/source-builder/defaults.mc#n212
This macro string is expanded and written into the script file
`do-build` so you can edit the generated script file and run it to see
what effect it has. In summary debugging this is a matter of seeing how
the pre-build variables are effecting the flags in the package and
config.log and the generated makefile will hopefully provide some clues.
You can then look at overriding the settings in your cfg file.
Chris
More information about the users
mailing list