sbcl-termux-build icon indicating copy to clipboard operation
sbcl-termux-build copied to clipboard

Excellent Work

Open defencedog opened this issue 1 year ago • 2 comments

I compiled maxima with thanks to you. After tinkering with quicklisp I was able to make jupyter kernel for maxima

https://github.com/robert-dodier/maxima-jupyter/issues/125

Requesting build for ARM32...

defencedog avatar Jan 21 '24 17:01 defencedog

I tried using your build.sh on arm32, it worked but there is an error & I cannot move forward.

Main error fullcgc.o gencgc.o traceroot.o arm-assem.o ../../tlsf-bsd/tlsf/tlsf.o -ldl -Wl,-no-as-needed -lzstd -lm ld.lld: error: relocation R_ARM_ABS32 cannot be used against local symbol; recompile with -fPIC

Please help

cc -g -Wall -Wundef -Wsign-compare -Wpointer-arith -O3 -marm -march=armv5t -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -I.  -c -o arm-assem.o arm-assem.S
cc -g -Wall -Wundef -Wsign-compare -Wpointer-arith -O3 -marm -march=armv5t -D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64 -I.  -c -o ../../tlsf-bsd/tlsf/tlsf.o ../../tlsf-bsd/tlsf/tlsf.c
cc -g -Wl,--export-dynamic -o sbcl alloc.o arena.o backtrace.o breakpoint.o coalesce.o coreparse.o dynbind.o funcall.o gc-common.o globals.o hopscotch.o interr.o interrupt.o largefile.o main.o math.o monitor.o murmur_hash.o os-common.o parse.o print.o regnames.o runtime.o safepoint.o save.o sc-offset.o search.o stringspace.o thread.o time.o validate.o var-io.o vars.o wrap.o run-program.o sprof.o arm-arch.o linux-os.o linux-mman.o arm-linux-os.o fullcgc.o gencgc.o traceroot.o arm-assem.o ../../tlsf-bsd/tlsf/tlsf.o -ldl -Wl,-no-as-needed -lzstd  -lm       ld.lld: error: relocation R_ARM_ABS32 cannot be used against local symbol; recompile with -fPIC
>>> defined in arm-assem.o
>>> referenced by arm-assem.S:355
>>>               arm-assem.o:(.text+0x280)

ld.lld: error: undefined symbol: __sync_val_compare_and_swap_4                                                  >>> referenced by arena.c:110
>>>               arena.o:(arena_release_memblks)
>>> referenced by arena.c:110
>>>               arena.o:(sbcl_delete_arena)
>>> referenced by arena.c:318
>>>               arena.o:(claim_new_subrange)
>>> referenced 6 more times
                                                        ld.lld: error: undefined symbol: __sync_lock_test_and_set_4
>>> referenced by sprof.c:572
>>>               sprof.o:(acquire_sprof_data)
cc: error: linker command failed with exit code 1 (use -v to see invocation)
make: *** [GNUmakefile:102: sbcl] Error 1
make: Leaving directory '/data/data/com.termux/files/home/sbcl2.3.3/sbcl-2.3.3/src/runtime'

defencedog avatar Jan 21 '24 20:01 defencedog

Sorry, I'm afraid I can't solve this problem. I haven't had an ARM32 device in my hands for a long time. BTW, SBCL has very poor support for ARM32 (e.g., it lacks thread support), so it may hardly meet your application needs.

bohonghuang avatar Jan 22 '24 02:01 bohonghuang