rtems testsuites do not compile

Morgan, Keith S morgank at lanl.gov
Tue Oct 15 17:08:12 UTC 2019


We are attempting to build the rtems5 testsuites in rtems/testsuites. In particular, we are interested in the rhealstone tests (rtems/testsuites/rhealstone). We have attempted compiling the testsuites for a LEON3 bsp, but have run into the following error (and other similar errors):

[johndoe at localhost]$ RTEMS_MAKEFILE_PATH=${HOME}/rtems-devel/bsp-install/sparc-rtems5/leon3/ make
${HOME}/rtems-devel/bsp-install//make/custom/default.cfg:14: ${HOME}/rtems-devel/bsp-install//sparc-rtems/leon3/make/bsp.cfg: No such file or directory
gmake[1]: *** No rule to make target '${HOME}/rtems-devel/bsp-install//sparc-rtems/leon3/make/bsp.cfg'.  Stop.

It appears that some combination of RTEMS_ROOT, RTEMS_SHARE and RTEMS_BSP are not being set, which causes the default.cfg to look in the wrong place for bsp.cfg. These variables are supposed to be set by the Makefile.inc which is found in the RTEMS_MAKEFILE_PATH that we define on the command line.

We have tried many different combinations of environment variables and options to the config script to no avail.

Note that we run the configure script for the testsuites as shown below. The configure "help" mentions several options and environment variables that seem to be RTEMS specific so we invoke the configure script with those options and environment variables defined, but perhaps we are missing important options and/or variables?

[johndoe at localhost]$ RTEMS_BSP_FAMILY=${HOME}/rtems-devel/bsp-install/sparc-rtems5/ \
RTEMS_BSP=leon3 \
./configure \
--host=sparc-rtems5 \
--enable-rtems-root=${HOME}/rtems-devel/bsp-install/ \
--enable-cpukit-root=${HOME}/rtems-devel/bsp-install/sparc-rtems5/leon3/lib/ \
--enable-project-root=${HOME}/rtems-devel/bsp-install/sparc-rtems5/leon3/lib/ \
--prefix=${HOME}/rtems-devel/bsp-install/sparc-rtems5/

We have also tried doing everything with RTEMS 4.11, but get similar results.

Sincerely,
Keith Morgan & Dallin Milby


The full output is shown below (sanitized).

[johndoe at localhost]$ ./configure --help
`configure' configures rtems-c-src-tests 5.0.0 to adapt to many kinds of systems.

Usage: ./configure [OPTION]... [VAR=VALUE]...

To assign environment variables (e.g., CC, CFLAGS...), specify them as
VAR=VALUE.  See below for descriptions of some of the useful variables.

Defaults for the options are specified in brackets.

Configuration:
  -h, --help              display this help and exit
      --help=short        display options specific to this package
      --help=recursive    display the short help of all the included packages
  -V, --version           display version information and exit
  -q, --quiet, --silent   do not print `checking ...' messages
      --cache-file=FILE   cache test results in FILE [disabled]
  -C, --config-cache      alias for `--cache-file=config.cache'
  -n, --no-create         do not create output files
      --srcdir=DIR        find the sources in DIR [configure dir or `..']

Installation directories:
  --prefix=PREFIX         install architecture-independent files in PREFIX
                          [/opt/rtems-5]
  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
                          [PREFIX]

By default, `make install' will install all the files in
`/opt/rtems-5/bin', `/opt/rtems-5/lib' etc.  You can specify
an installation prefix other than `/opt/rtems-5' using `--prefix',
for instance `--prefix=$HOME'.

For better control, use the options below.

Fine tuning of the installation directories:
  --bindir=DIR            user executables [EPREFIX/bin]
  --sbindir=DIR           system admin executables [EPREFIX/sbin]
  --libexecdir=DIR        program executables [EPREFIX/libexec]
  --sysconfdir=DIR        read-only single-machine data [PREFIX/etc]
  --sharedstatedir=DIR    modifiable architecture-independent data [PREFIX/com]
  --localstatedir=DIR     modifiable single-machine data [PREFIX/var]
  --libdir=DIR            object code libraries [EPREFIX/lib]
  --includedir=DIR        C header files [PREFIX/include]
  --oldincludedir=DIR     C header files for non-gcc [/usr/include]
  --datarootdir=DIR       read-only arch.-independent data root [PREFIX/share]
  --datadir=DIR           read-only architecture-independent data [DATAROOTDIR]
  --infodir=DIR           info documentation [DATAROOTDIR/info]
  --localedir=DIR         locale-dependent data [DATAROOTDIR/locale]
  --mandir=DIR            man documentation [DATAROOTDIR/man]
  --docdir=DIR            documentation root
                          [DATAROOTDIR/doc/rtems-c-src-tests]
  --htmldir=DIR           html documentation [DOCDIR]
  --dvidir=DIR            dvi documentation [DOCDIR]
  --pdfdir=DIR            pdf documentation [DOCDIR]
  --psdir=DIR             ps documentation [DOCDIR]

Program names:
  --program-prefix=PREFIX            prepend PREFIX to installed program names
  --program-suffix=SUFFIX            append SUFFIX to installed program names
  --program-transform-name=PROGRAM   run sed PROGRAM on installed program names

System types:
  --build=BUILD     configure for building on BUILD [guessed]
  --host=HOST       cross-compile to build programs to run on HOST [BUILD]

Optional Features:
  --disable-option-checking  ignore unrecognized --enable/--with options
  --disable-FEATURE       do not include FEATURE (same as --enable-FEATURE=no)
  --enable-FEATURE[=ARG]  include FEATURE [ARG=yes]

  --enable-rtems-root     directory containing make/custom

  --enable-cpukit-root    directory containing lib/librtemscpu.a

  --enable-project-root   directory containing lib/librtemsbsp.a
  --enable-maintainer-mode
                          enable make rules and dependencies not useful (and
                          sometimes confusing) to the casual installer
  --enable-tests          enable tests (default:samples)
  --enable-cxx            enable C++ support
  --enable-dependency-tracking
                          do not reject slow dependency extractors
  --disable-dependency-tracking
                          speeds up one-time build
  --enable-ada            enable Ada support

Some influential environment variables:
  RTEMS_BSP_FAMILY
              RTEMS's BSP directory
  RTEMS_BSP   RTEMS_BSP to build
  CC          C compiler command
  CFLAGS      C compiler flags
  LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
              nonstandard directory <lib dir>
  LIBS        libraries to pass to the linker, e.g. -l<library>
  CPPFLAGS    (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
              you have headers in a nonstandard directory <include dir>
  CPP         C preprocessor
  CXX         C++ compiler command
  CXXFLAGS    C++ compiler flags
  CXXCPP      C++ preprocessor

Use these variables to override the choices made by `configure' or to help
it to find libraries and programs with nonstandard names/locations.

Report bugs to <https://devel.rtems.org/newticket>.

[johndoe at localhost]$ RTEMS_BSP_FAMILY=${HOME}/rtems-devel/bsp-install/sparc-rtems5/ RTEMS_BSP=leon3 ./configure --host=sparc-rtems5 --enable-rtems-root=${HOME}/rtems-devel/bsp-install/ --enable-cpukit-root=${HOME}/rtems-devel/bsp-install/sparc-rtems5/leon3/lib/ --enable-project-root=${HOME}/rtems-devel/bsp-install/sparc-rtems5/leon3/lib/ --prefix=${HOME}/rtems-devel/bsp-install/sparc-rtems5/
checking for gmake... gmake
checking build system type... x86_64-pc-linux-gnu
checking host system type... sparc-unknown-rtems5
checking rtems target cpu... sparc
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for sparc-rtems5-strip... sparc-rtems5-strip
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether gmake sets $(MAKE)... yes
checking whether to enable maintainer-specific portions of Makefiles... no
checking for RTEMS_BSP... leon3
checking for style of include used by gmake... GNU
checking for sparc-rtems5-gcc... sparc-rtems5-gcc
checking for sparc-rtems5-gcc... (cached) sparc-rtems5-gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... .exe
checking whether we are cross compiling... yes
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether sparc-rtems5-gcc accepts -g... yes
checking for sparc-rtems5-gcc option to accept ISO C89... none needed
checking dependency style of sparc-rtems5-gcc... gcc3
checking how to run the C preprocessor... sparc-rtems5-gcc -E
checking whether sparc-rtems5-gcc accepts -specs... yes
checking BSP linkcmds... checking for RTEMS_SMP... no
checking for sparc-rtems5-g++... sparc-rtems5-g++
checking whether we are using the GNU C++ compiler... yes
checking whether sparc-rtems5-g++ accepts -g... yes
checking dependency style of sparc-rtems5-g++... gcc3
checking how to run the C++ preprocessor... sparc-rtems5-g++ -E
checking for sparc-rtems5-ar... sparc-rtems5-ar
checking for sparc-rtems5-as... sparc-rtems5-as
checking for sparc-rtems5-ld... sparc-rtems5-ld
checking for sparc-rtems5-nm... sparc-rtems5-nm
checking for sparc-rtems5-ranlib... sparc-rtems5-ranlib
checking for sparc-rtems5-objcopy... sparc-rtems5-objcopy
checking for sparc-rtems5-size... sparc-rtems5-size
checking for sparc-rtems5-strip... (cached) sparc-rtems5-strip
checking whether sparc-rtems5-gcc and cc understand -c and -o together... yes
checking for ${HOME}/rtems-devel/bsp-install/make/custom/leon3.cfg... yes
checking for RTEMS_POSIX_API... no
checking for RTEMS_MULTIPROCESSING... no
checking for RTEMS_NETWORKING... no
checking for RTEMS_SMP... (cached) no
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: executing depfiles commands
=== configuring in samples (${HOME}/rtems-devel/rtems/testsuites/samples)
configure: running /bin/sh ./configure --disable-option-checking '--prefix=${HOME}/rtems-devel/bsp-install/sparc-rtems5'  '--host=sparc-rtems5' '--enable-rtems-root=${HOME}/rtems-devel/bsp-install/' '--enable-cpukit-root=${HOME}/rtems-devel/bsp-install/sparc-rtems5/leon3/lib/' '--enable-project-root=${HOME}/rtems-devel/bsp-install/sparc-rtems5/leon3/lib/' 'host_alias=sparc-rtems5' 'RTEMS_BSP_FAMILY=${HOME}/rtems-devel/bsp-install/sparc-rtems5/' 'RTEMS_BSP=leon3' --cache-file=/dev/null --srcdir=.
checking for gmake... gmake
checking build system type... x86_64-pc-linux-gnu
checking host system type... sparc-unknown-rtems5
checking rtems target cpu... sparc
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for sparc-rtems5-strip... sparc-rtems5-strip
checking for a thread-safe mkdir -p... /usr/bin/mkdir -p
checking for gawk... gawk
checking whether gmake sets $(MAKE)... yes
checking whether to enable maintainer-specific portions of Makefiles... no
checking for RTEMS_BSP... leon3
checking for style of include used by gmake... GNU
checking for sparc-rtems5-gcc... sparc-rtems5-gcc
checking for sparc-rtems5-gcc... (cached) sparc-rtems5-gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... .exe
checking whether we are cross compiling... yes
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether sparc-rtems5-gcc accepts -g... yes
checking for sparc-rtems5-gcc option to accept ISO C89... none needed
checking dependency style of sparc-rtems5-gcc... gcc3
checking how to run the C preprocessor... sparc-rtems5-gcc -E
checking whether sparc-rtems5-gcc accepts -specs... yes
checking BSP linkcmds... checking for RTEMS_SMP... no
checking for sparc-rtems5-g++... sparc-rtems5-g++
checking whether we are using the GNU C++ compiler... yes
checking whether sparc-rtems5-g++ accepts -g... yes
checking dependency style of sparc-rtems5-g++... gcc3
checking how to run the C++ preprocessor... sparc-rtems5-g++ -E
checking for sparc-rtems5-ar... sparc-rtems5-ar
checking for sparc-rtems5-as... sparc-rtems5-as
checking for sparc-rtems5-ld... sparc-rtems5-ld
checking for sparc-rtems5-nm... sparc-rtems5-nm
checking for sparc-rtems5-ranlib... sparc-rtems5-ranlib
checking for sparc-rtems5-objcopy... sparc-rtems5-objcopy
checking for sparc-rtems5-size... sparc-rtems5-size
checking for sparc-rtems5-strip... (cached) sparc-rtems5-strip
checking for ${HOME}/rtems-devel/bsp-install/make/custom/leon3.cfg... yes
checking for RTEMS_MULTIPROCESSING... no
checking whether to build rtems++... yes
checking for RTEMS_NETWORKING... no
checking for RTEMS_SMP... (cached) no
checking sparc/leon3 base_mp test... PASS
checking sparc/leon3 base_sp test... PASS
checking sparc/leon3 capture test... PASS
checking sparc/leon3 cdtest test... PASS
checking sparc/leon3 iostream test... PASS
checking sparc/leon3 fileio test... PASS
checking sparc/leon3 hello test... PASS
checking sparc/leon3 loopback test... PASS
checking sparc/leon3 minimum test... PASS
checking sparc/leon3 nsecs test... PASS
checking sparc/leon3 paranoia test... PASS
checking sparc/leon3 pppd test... PASS
checking sparc/leon3 ticker test... PASS
checking sparc/leon3 unlimited test... PASS
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating config.h
config.status: executing depfiles commands

[johndoe at localhost]$ RTEMS_MAKEFILE_PATH=${HOME}/rtems-devel/bsp-install/sparc-rtems5/leon3/ make
Making  in samples
gmake[1]: Entering directory '${HOME}/rtems-devel/rtems/testsuites/samples'
${HOME}/rtems-devel/bsp-install//make/custom/default.cfg:14: ${HOME}/rtems-devel/bsp-install//sparc-rtems/leon3/make/bsp.cfg: No such file or directory
gmake[1]: *** No rule to make target '${HOME}/rtems-devel/bsp-install//sparc-rtems/leon3/make/bsp.cfg'.  Stop.
gmake[1]: Leaving directory '${HOME}/rtems-devel/rtems/testsuites/samples'
make: *** [Makefile:663: samples] Error 2

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.rtems.org/pipermail/users/attachments/20191015/bf95c97e/attachment-0001.html>


More information about the users mailing list