Flexspin compiler error - maybe?
A program I've been working on started throwing this type of error message a few weeks ago. I did think initially it was a self-generated error but after trying quite a few attempts at remedying the issue I went back to sample code from the authors of flexspin and was able to replicate the issue. My impression is that the errors are from the compiler itself. This is running on Ubuntu 22.04, machine has plenty of memory. Anyone have any ideas?
Here's the compiler output:
"/home/pmrobert/oip2/flexprop/bin/flexspin" -2 -l --tabs=4 -D_BAUD=230400 -O1 --charset=utf8 -I "/home/pmrobert/flexprop/include" "/home/pmrobert/oip2/flexprop/samples/shell/shell.c"
Propeller Spin/PASM Compiler 'FlexSpin' (c) 2011-2024 Total Spectrum Software Inc. and contributors
Version 6.9.7-beta-HEAD-v6.9.7 Compiled on: May 17 2024
error: Pointer does not reference memory
error: Pointer does not reference memory
error: Pointer does not reference memory
shell.c
|-psram.spin2
|-|-psram4drv-dualCE.spin2
opendir.c
fs9p_vfs.c
|-fs9p_internal.cc
fatfs_vfs.c
|-fatfs.cc
parallaxfs_vfs.c
|-parallaxfs_internal.cc
|-|-flash_fs.spin2
lfs_spi_vfs.c
|-lfswrapper.cc
|-|-SpiFlash.spin2
mount.c
fmt.c
posixio.c
exec.c
fputs.c
sprintf.c
fgets.c
fopen.c
perror.c
rename.c
strcmp.c
strrchr.c
ctype.c
stat.c
_mount.c
basicfmt.c
errno.c
vfs.c
memcmp.cimal
strchr.c
sdmm.cc
time.c
localtim.c
malloc.c
bufio.c
strcspn.c
strspn.c
memcmp.c
strchr.c
malloc.c
lfs_util.c
bufio.c
isatty.c
fileno.c
malloc.c
strerror.c
dofmt.c
vfs.c
fmt.c
stat.c
posixio.c
strncpy.c
strncat.c
strncmp.c
strncmp.c
strrchr.c
malloc.c
getenv.c
gettimeofday.c
ctype.c
malloc.c
bufio.c
ioctl.c
ieee32.c
bufio.c
strncmp.c
child process exited abnormally
Finished at Fri May 17 19:58:16 2024
Comments
Try rolling back a few compiler versions, current versions may or may not be a bit funny.
@pmrobert : Yes, that is (unfortunately) a compiler bug -- in fixing one bug, I introduced another in what seemed like completely unrelated code. It should be fixed in 6.9.8, which comes from the release/v6.9 branch on github.
@ersmith git master still can't build the shell example
It seems to work for me. What error are you getting?
Same as OP. I even did make clean to make sure it's all updated
I just did a fresh checkout from github in a new directory, and that works too, so I didn't forget to push anything. The fix for OP's build problem is in 59ca49fc, and current top of master is a12af4ab ("Fix parsing of Spin2_vNN directive"). Are you sure you're not on a branch or tag?
Ahh, so here's the problem: since the shell is in flexprop's example directory, which also contains a spin2cpp/build directory, I managed to use that by forgetting one layer of "../". That does mean that flexprop's submodule is outdated though, I guess.
That explains it. flexprop doesn't get updated all that often, so "flexprop's submodule is outdated" is usually true .
The most recent version (6.9.8) works just fine - thank you very much! Tangentially the script I use to update the flex* install is:
sudo apt -y update
sudo apt -y upgrade
cd $HOME
mkdir -p src
cd src
rm -rf flexprop
git clone --recursive https://github.com/totalspectrum/flexprop
cd flexprop
make install INSTALL=~/oip2/flexprop
./bin/flexspin --version
Any suggestions to improve it would be gladly accepted.
Mike R...
instead of deleting and re-cloning, you can
to the same effect