keith-packard / snek

Snek programming language for tiny systems
GNU General Public License v3.0
292 stars 30 forks source link

Cannot compile /snek/ports/crickit in Debian Bullseye Linux #65

Closed mobluse closed 1 year ago

mobluse commented 1 year ago
cd ~/snek/ports/crickit
make

gives an error:

/usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: snek-print.o: in function `snek_poly_format':
/home/pi/snek/ports/crickit/../../snek-print.c:83: undefined reference to `strfromf'
/usr/lib/gcc/arm-none-eabi/8.3.1/../../../arm-none-eabi/bin/ld: /home/pi/snek/ports/crickit/../../snek-print.c:111: undefined reference to `strfromf'
collect2: error: ld returned 1 exit status
make: *** [Makefile:44: snek-crickit-1.8.elf] Error 1

I discovered this when I tried make in ~/snek.

keith-packard commented 1 year ago

Yes, snek requires a newer version of picolibc than is available in that version. I'm not sure why bullseye ended up with such an old version (1.5.1-2) when the version including strtof was delivered to debian six months before that release. You should be able to add the testing archive to your configuration and install just the gcc-arm-none-eabi and picolibc-arm-none-eabi packages from that (and maybe binutils-arm-none-eabi). That would be the best solution if you can manage; there are a lot of picolibc bugs fixed that snek probably relies on implicitly.