#4107 closed defect (fixed)

waf -j24 fails on powerpc/psim -- probable dependency issue

Reported by: Joel Sherrill Owned by: Sebastian Huber
Priority: normal Milestone: 6.1
Component: build Version: 6
Severity: normal Keywords:
Cc: Blocked By:
Blocking:

Description

While experimenting with -j options since waf defaults to fewer jobs than I have been using with make, I tripped across this failure on powerpc/psim which I assume is a missing dependency somewhere:

1561/4127] Linking build/powerpc/psim/testsuites/fstests/fsjffs2gc01.exe
[1562/4127] Linking build/powerpc/psim/testsuites/fstests/fsclose01.exe
[1563/4127] Linking build/powerpc/psim/libdebugger.a
[1564/4127] Linking build/powerpc/psim/libz.a
[1565/4127] Compiling testsuites/fstests/fslink/test.c
/home/joel/rtems-work/tools/6/lib/gcc/powerpc-rtems6/10.2.1/../../../../powerpc-rtems6/bin/ld: cannot find -ljffs2
collect2: error: ld returned 1 exit status

../../../testsuites/fstests/fsdosfsname01/init.c: In function 'test_creating_invalid_directories':
../../../testsuites/fstests/fsdosfsname01/init.c:430:19: warning: '%s' directive output may be truncated writing up to 6424 bytes into a region of size 257 [-Wformat-truncation=]
  430 |               "%s/%s",
      |                   ^~
../../../testsuites/fstests/fsdosfsname01/init.c:428:5: note: 'snprintf' output between 6 and 6430 bytes into a destination of size 262
  428 |     snprintf( dirname,
      |     ^~~~~~~~~~~~~~~~~~
  429 |               sizeof( dirname ),
      |               ~~~~~~~~~~~~~~~~~~
  430 |               "%s/%s",
      |               ~~~~~~~~
  431 |               MOUNT_DIR,
      |               ~~~~~~~~~~
  432 |               DIRECTORY_NAMES_INVALID[index] );
      |               ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

../../../cpukit/mghttpd/mongoose.c: In function 'handle_request':
../../../cpukit/mghttpd/mongoose.c:1919:45: warning: '.gz' directive output may be truncated writing 3 bytes into a region of size between 1 and 255 [-Wformat-truncation=]
 1919 |       snprintf(gz_path, sizeof(gz_path), "%s.gz", buf);
      |                                             ^~~
../../../cpukit/mghttpd/mongoose.c:1919:7: note: 'snprintf' output between 4 and 258 bytes into a destination of size 255
 1919 |       snprintf(gz_path, sizeof(gz_path), "%s.gz", buf);
      |       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Waf: Leaving directory `/home/joel/rtems-work/rtems/build/powerpc/psim'
Build failed
 -> task in 'testsuites/fstests/fsjffs2gc01.exe' failed with exit status 1 (run with -v to display more information)

INI file was:

[powerpc/psim]
# Selects the compiler used to build the BSP (allowed values are "gcc" and
# "clang").  Please note that the values of some options depend on the compiler
# selection and changing the compiler may lead to unpredictable behaviour if
# these options are not adjusted as well.  Use the --rtems-compiler command line
# option to get the default values for a particular compiler via
# ./waf bsp_defaults.
COMPILER = gcc
# Flags passed to the library archiver
ARFLAGS = crD
# Warning flags passed to the C and C++ compiler
WARNING_FLAGS = -Wall
# Warning flags passed to the C compiler
CC_WARNING_FLAGS = -Wmissing-prototypes -Wimplicit-function-declaration -Wstrict-prototypes -Wnested-externs
# Warning flags passed to the C++ compiler
CXX_WARNING_FLAGS = 
# Enable the Ada support
__RTEMS_ADA__ = False
# Enable the RTEMS internal debug support
RTEMS_DEBUG = False
# Enable the Driver Manager startup
RTEMS_DRVMGR_STARTUP = False
# Enable the message passing based multiprocessing support (MPCI); do
# not confuse this with the SMP support
RTEMS_MULTIPROCESSING = False
# Enable the legacy TCP/IP network support
RTEMS_NETWORKING = False
# Enable the Newlib C library support
RTEMS_NEWLIB = True
# Enable the para-virtualization support
RTEMS_PARAVIRT = False
# Enable support for POSIX signals
RTEMS_POSIX_API = True
# Enable the SMP lock profiling support
RTEMS_PROFILING = False
# Enable the Symmetric Multiprocessing (SMP) support
RTEMS_SMP = False
# Build the Ada test programs (may be also enabled by BUILD_TESTS)
BUILD_ADATESTS = False
# Build the test programs
BUILD_TESTS = True
# Build the benchmark programs (may be also enabled by BUILD_TESTS)
BUILD_BENCHMARKS = False
# Build the file system test programs (may be also enabled by
# BUILD_TESTS)
BUILD_FSTESTS = False
# Build the library test programs (may be also enabled by BUILD_TESTS)
BUILD_LIBTESTS = False
# Build the MPCI test programs (may be also enabled by BUILD_TESTS)
BUILD_MPTESTS = False
# Build the POSIX test programs (may be also enabled by BUILD_TESTS)
BUILD_PSXTESTS = False
# Build the POSIX timing test programs (may be also enabled by
# BUILD_TESTS)
BUILD_PSXTMTESTS = False
# Build the Rhealstone benchmark programs (may be also enabled by
# BUILD_TESTS)
BUILD_RHEALSTONE = False
# Build the sample programs (may be also enabled by BUILD_TESTS)
BUILD_SAMPLES = True
# Build the SMP test programs (may be also enabled by BUILD_TESTS)
BUILD_SMPTESTS = False
# Build the single-processor test programs (may be also enabled by
# BUILD_TESTS)
BUILD_SPTESTS = False
# Build the timing test programs (may be also enabled by BUILD_TESTS)
BUILD_TMTESTS = False
# Build the validation test programs (may be also enabled by
# BUILD_TESTS)
BUILD_VALIDATIONTESTS = False
# Optimization flags passed to the C and C++ compiler
OPTIMIZATION_FLAGS = -O2 -g -fdata-sections -ffunction-sections
# ABI flags
ABI_FLAGS = -Dppc603e -meabi -mcpu=603e -msdata=sysv
# This sets a mode where the time runs as fast as possible when a
# clock ISR occurs while the IDLE thread is executing.  This can
# significantly reduce simulation times.
CLOCK_DRIVER_USE_FAST_IDLE = True
# If defined then the BSP may reduce the available memory size
# initially. This can be useful for debugging (reduce the core size)
# or dynamic loading (std gcc text offsets/jumps are < +/-32M).  Note
# that the policy can still be defined by the application (see sbrk.c,
# BSP_sbrk_policy). By undefining CONFIGURE_MALLOC_BSP_SUPPORTS_SBRK
# this feature is removed and a little memory is saved.
CONFIGURE_MALLOC_BSP_SUPPORTS_SBRK = True
# If defined, then the PowerPC specific code in RTEMS will use some of
# the special purpose registers to slightly optimize interrupt
# response time.  The use of these registers can conflict with other
# tools like debuggers.
PPC_USE_SPRG = False
# This defines the base address of the exception table.  NOTE: Vectors
# are actually at 0xFFF00000 but file starts at offset.
PPC_VECTOR_FILE_BASE = 0xfff00100
# If defined to a non-zero value, prints the some information in case
# of a fatal error.
BSP_VERBOSE_FATAL_EXTENSION = 1
# Flags passed to the linker (GNU ld)
LDFLAGS = -Wl,--gc-sections
# Install the legacy application Makefile framework.
INSTALL_LEGACY_MAKEFILES = True
# If defined to a non-zero value, prints the exception context when an
# unexpected exception occurs.
BSP_PRINT_EXCEPTION_CONTEXT = 1
# If defined to a non-zero value, reset the board when the application
# exits.
BSP_RESET_BOARD_AT_EXIT = 1
# If defined to a non-zero value, print a message and wait until
# pressed before resetting board when application exits.
BSP_PRESS_KEY_FOR_RESET = 0

Change History (3)

comment:1 Changed on Sep 30, 2020 at 7:08:19 PM by Joel Sherrill

Owner: set to Sebastian Huber
Status: newassigned

comment:2 Changed on Oct 1, 2020 at 5:39:30 AM by Sebastian Huber <sebastian.huber@…>

In 9628dfd/rtems-docs:

eng: Clarify stlib build attribute

Update #4107.

comment:3 Changed on Oct 1, 2020 at 5:47:05 AM by Sebastian Huber <sebastian.huber@…>

Resolution: fixed
Status: assignedclosed

In 16b29af2/rtems:

build: Fix build dependencies of JFFS2 tests

Close #4107.

Note: See TracTickets for help on using tickets.