-
Notifications
You must be signed in to change notification settings - Fork 134
Open
Description
Core Problems
- Uncompiled Source Files: Many PAR program
.cfiles exist in source tree (e.g.,src/par/main/velocity_perturbation/velpert.c) but aren't compiled to$CWPROOT/bin/ - Broken
suhelpDetection: The help command fails to list PAR programs due to outdated source file lookup
Detailed Findings
1. Compilation Issues:
- Verified missing programs (e.g.,
velpert) have source files:find src/par -name velpert.c # → src/par/main/velocity_perturbation/velpert.c - These programs don't appear in
$CWPROOT/bin/after standard installation - Manual compilation works:
cd src/par/main/velocity_perturbation make # Successfully creates velpert in bin/
More details can be found in this document:
missed_commands.md
2. suhelp Problems:
- Current output shows error instead of program list:
PAR PROGRAMS: (programs with self-documentation) ls: cannot access '*.c': No such file or directory - Root cause: Script looks for
.cfiles only in flat directory ($PAR/main/*.c) while sources now live in subfolders
3. Connection Between Issues:
- The compilation system and help system share the same broken assumption about source file locations
- Both need updating to understand the new subdirectory structure
Expected Behavior
- Compilation: All PAR programs in
src/par/main/and subdirectories should compile during installation - Help System:
suhelpshould display all available PAR programs
Suggested Fixes
For Compilation:
# Proposed change to Makefile:
# Recursively compile all .c files in par/main/
PAR_PROGS := $(shell find par/main -name '*.c' | sed 's/\.c//')For suhelp:
# Change to recursively find programs
find $PAR/main -name "*.c" | sed 's|.*/||;s/\.c$//'Impact Analysis
This affects:
- All users installing from source
- Anyone relying on
suhelpfor program discovery - Particularly impacts programs like
velpertin subdirectories
Supporting Evidence
Test case with velpert:
- Source exists: ✅
src/par/main/velocity_perturbation/velpert.c - Not compiled by default: ❌ Missing in
$CWPROOT/bin/ - Manually compilable: ✅
makein source directory works suhelpbroken: ❌ Can't detect even after manual compilation
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels