Ticket #11169 (needs_info defect)
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 to the SAGE_ROOT repository.
Attachments
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: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.
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?

