Ticket #11169 (needs_info defect)

Opened 2 years ago

Last modified 14 months ago

Make testcc.sh exit with an exit code of 1 if preprocessing a file fails.

Reported by: drkirkby Owned by:
Priority: major Milestone: sage-5.10
Component: scripts Keywords: sd32
Cc: jhpalmieri Work issues:
Report Upstream: N/A Reviewers:
Authors: David Kirkby Merged in:
Dependencies: Stopgaps:

Description (last modified by jdemeyer) (diff)

The script $SAGE_ROOT/spkg/bin/testcc.sh checks to see what C compiler the environment variable $CC is. But currently the script always exits with a 0, even if an error occurs.

This patch will correct that.

Note some forms of error will not be detected. If CC is defined as ls, then the code will try to list the C file, which will succeed without error. But the changes will allow one to check if a compiler is installed or not.

drkirkby@hawk:~$ export CC=cc
drkirkby@hawk:~$ sage-4.7.alpha3/local/bin/testcc.sh $CC
Sun_Studio
drkirkby@hawk:~$ export CC=gcc
drkirkby@hawk:~$ sage-4.7.alpha3/local/bin/testcc.sh $CC
GCC
drkirkby@hawk:~$ export CC=junk
drkirkby@hawk:~$ sage-4.7.alpha3/local/bin/testcc.sh $CC
Error - junk is not compiling a C file properly

Apply 11169_testcc.patch Download to the SAGE_ROOT repository.

Attachments

11169_testcc.patch Download (787 bytes) - added by jdemeyer 14 months ago.

Change History

comment:1 Changed 2 years ago by drkirkby

  • Status changed from new to needs_review
  • Type changed from PLEASE CHANGE to defect

comment:2 follow-up: ↓ 4 Changed 2 years ago by mariah

  • Status changed from needs_review to needs_info

Where is test.cc used? It does not seem to be used by prereq-0.9 in sage-4.7.rc4.

comment:3 Changed 21 months ago by was

  • Keywords sd32 added

comment:4 in reply to: ↑ 2 Changed 16 months ago by drkirkby

  • Status changed from needs_info to needs_review

Replying to mariah:

Where is test.cc used? It does not seem to be used by prereq-0.9 in sage-4.7.rc4.

Some of the .spkg's use it. Not many I must admit, but a few do, mainly in an attempt to support the Sun (now Oracle) compiler, but it might be used for AIX/HP-UX too.

It would be worth fixing this bug. It might be sensible to add support for 'clang' to this script later, although since that's supposed to be compatible with gcc, perhaps it's not needed.

Changed 14 months ago by jdemeyer

comment:5 Changed 14 months ago by jdemeyer

  • Description modified (diff)

comment:6 Changed 14 months ago by jdemeyer

  • Status changed from needs_review to needs_info
  • Description modified (diff)
  • Summary changed from Make testcc.sh exit with an exit code of 1 if attempting to compile a file fails. to Make testcc.sh exit with an exit code of 1 if preprocessing a file fails.

I'm not entirely sure this patch is a good idea. How universal is the command line option "-E" to run the preprocessor?

Note: See TracTickets for help on using tickets.