Hello list. I should have come here sooner looking for someone with more C
compiling experience than I have. I used to compile picoLisp in a Tinycore
linux container with ease following these steps:
- tce-load compiletc (this adds gcc, make, etc. so we can compile)
- copy picolisp source tarball into container
- compile PicoLisp
- remove build files
- tce-audit builddb
- tce-audit delete compiletc
A Dockerfile would then copy in the pre-compiled picolisp, add appropriate
links for global installation resulting in a tidy, small image.
For some time now, following the same process I get this:
/tmp/picoLisp/src $ cd ../src64/
/tmp/picoLisp/src64 $ make
/mkAsm x86-64 ".linux" .s Linux base "" ../lib/map version.l glob.l
main.l gc.l apply.l flow.l sym.l subr.l big.l io.l db.l net.l err.l
sys/x86-64.linux.code.l
./ersatz/pil: exec: line 5: java: not found
Makefile:159: recipe for target 'x86-64.linux.base.s' failed
make: *** [x86-64.linux.base.s] Error 2
And this....
/tmp $ cd picoLisp/src
/tmp/picoLisp/src $ make
gcc -c -O2 -pipe -falign-functions=32 -fomit-frame-pointer
-fno-strict-aliasing -W -Wimplicit -Wreturn-type -Wunused -Wformat
-Wuninitialized -Wstrict-prototypes -D_GNU_SOURCE -D_FILE_OFFS
ET_BITS=64 -m32 -D_OS='"Linux"' main.c
In file included from /usr/include/features.h:389:0,
from /usr/include/stdio.h:27,
from pico.h:5,
from main.c:5:
/usr/include/gnu/stubs.h:7:27: fatal error: gnu/stubs-32.h: No such file or
directory
compilation terminated.
Makefile:129: recipe for target 'main.o' failed
make: *** [main.o] Error 1
/tmp/picoLisp/src $
A cursory search led to missing 32-bit libraries in the 64-bit Tinycore
image. No big deal, what if I tried in a Alpine linux container (only
32-bit but small and gaining popularity) similarly:
https://jpst.it/QgPQ (Using a paste service due to verbose output)
picolisp compiles easily on Netrunner (based on Manjaro based on Arch)
which I'm typing this from. Any C gurus that can make more sense of this
is greatly appreciated. Thanks for reading my short novel and any pointers.
-David