Add build configuration checks

Bug #1734732 reported by Andrew Johnson
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
EPICS Base
New
Wishlist
Unassigned

Bug Description

Dirk Zimoch reported:

EPICS 7 could be more verbose in case of configuration errors.

If I try this:
make CROSS_COMPILER_TARGET_ARCHS=doesnotexist

I do not get an error message complaining about missing configuration files for the "doesnotexist" architecture.

Instead I get:
make[4]: Entering directory `/afs/psi.ch/group/8431/dirk/git/BASE/base-7.0.1-pre1/modules/libcom/src/O.doesnotexist'
perl -CSD ../../src/error/makeStatTbl.pl ../../src/osi/devLib.h ../../src/osi/epicsTime.h ../../src/as/asLib.h ../../src/misc/epicsStdlib.h ../../src/pool/epicsThreadPool.h ../../src/error/errMdef.h
perl -CSD ../../src/env/bldEnvData.pl -t doesnotexist \
        -c gcc -s /usr/local/epics/base-7.0.1/configure
Usage: bldEnvData.pl [options] configure
  -h Help: Print this message
  -q Quiet: Only print errors
  -o file Output filename, default is envData.c
  -t arch Target architecture $(T_A) name
  -s os Operating system $(OS_CLASS)
  -c comp Compiler class $(CMPLR_CLASS)

/usr/local/epics/base-7.0.1/bin/RHEL7-x86_64/e_flex -S/usr/local/epics/base-7.0.1/include/flex.skel.static -8 -I -t ../../src/as/asLib_lex.l > asLib_lex.yy.c
mv asLib_lex.yy.c asLib_lex.c
/usr/local/epics/base-7.0.1/bin/RHEL7-x86_64/antelope -basLib ../../src/as/asLib.y
mv asLib.tab.c asLib.c
make[4]: *** No rule to make target `../O.Common/osiFileName.h', needed by `inc'. Stop.

Took me a while to find out that the error was a missing config file.

EPICS is more helpful if the host architecture configuration is missing:

make EPICS_HOST_ARCH=nosuchhost
configure/CONFIG:54: configure/os/CONFIG.nosuchhost.Common: No such file or directory
make: *** No rule to make target `configure/os/CONFIG.nosuchhost.Common'. Stop.

Not nice but points in the correct direction.

To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.