2.0.9 fails to build on FreeBSD

Bug #1899239 reported by Kirill
6
This bug affects 1 person
Affects Status Importance Assigned to Milestone
SBCL
Fix Released
Undecided
Unassigned
Revision history for this message
Douglas Katzman (dougk) wrote :

Please attach the patches that are being applied.
I have successfully built 2.0.9 using 2.0.8 on FreeBSD 12.1 with no problem.
It also built fine for me using SBCL 1.2.7

Revision history for this message
Kirill (krion) wrote :

No patches were being applied

Revision history for this message
Douglas Katzman (dougk) wrote :

Do you really mean that "lang/sbcl/files/patch-src_runtime_x86-64-bsd-os.c" is NOT applied?

Stas Boukarev (stassats)
Changed in sbcl:
status: New → Fix Committed
Revision history for this message
Kirill (krion) wrote :

Sorry I missed that one from ports, yes, it was applied for sure

Revision history for this message
Stas Boukarev (stassats) wrote :

This is the AVX issue.

Revision history for this message
Douglas Katzman (dougk) wrote :

ok, the issue Stas refers to is fixed by https://sourceforge.net/p/sbcl/sbcl/ci/d0243a9f9961f0afdc09b555821b88edb2488be9/

May I suggest, regarding that patch, that you remove it and not pass --with-restore-fs-segment-register-from-tls which is erroneous as it only ever pertained to 32-bit x86. The patch was working around the problem that passing the flag caused code to be called which should not be.

I would also remove "--without-sb-qshow --without-sb-safepoint --without-sb-thruption --without-sb-wtimer" as none of those are on by default, nor will they ever be, unless we decide to make them the default, at which point you would want them.
And "--with-sb-unicode" is a default so you can remove that too.
It doesn't make a ton of sense to specify any of that stuff. It's just noise and confusion.

Revision history for this message
Kirill (krion) wrote :

Thanks Douglas, I'll remove those and commit with the next sbcl release

Revision history for this message
Kirill (krion) wrote :

Removing "lang/sbcl/files/patch-src_runtime_x86-64-bsd-os.c" patch produced the error:

bsd-os.c:292:50: warning: incompatible function pointer types passing '__siginfohandler_t *' (aka 'void (*)(int, struct __siginfo *, void *)') to parameter of type 'interrupt_handler_t' (aka 'void (*)(int, struct __siginfo *, struc
t __ucontext *)') [-Wincompatible-function-pointer-types]
                                                 (__siginfohandler_t *)
                                                 ^~~~~~~~~~~~~~~~~~~~~~
./interrupt.h:124:64: note: passing argument to parameter 'handler' here
extern void ll_install_handler(int signal, interrupt_handler_t handler);
                                                               ^
1 warning generated.
cc -g -Wall -Wundef -Wsign-compare -Wpointer-arith -O3 -fno-omit-frame-pointer -I. -c -o x86-64-bsd-os.o x86-64-bsd-os.c
cc -g -Wall -Wundef -Wsign-compare -Wpointer-arith -O3 -fno-omit-frame-pointer -I. -c -o fullcgc.o fullcgc.c
cc -g -Wall -Wundef -Wsign-compare -Wpointer-arith -O3 -fno-omit-frame-pointer -I. -c -o gencgc.o gencgc.c
cc -g -Wall -Wundef -Wsign-compare -Wpointer-arith -O3 -fno-omit-frame-pointer -I. -c -o traceroot.o traceroot.c
cc -g -Wall -Wundef -Wsign-compare -Wpointer-arith -O3 -fno-omit-frame-pointer -I. -c -o immobile-space.o immobile-space.c
cc -g -Wall -Wundef -Wsign-compare -Wpointer-arith -O3 -fno-omit-frame-pointer -I. -c -o elf.o elf.c
cc -g -Wall -Wundef -Wsign-compare -Wpointer-arith -O3 -fno-omit-frame-pointer -I. -c -o x86-64-assem.o x86-64-assem.S
cc -g -Wl,--export-dynamic -o sbcl alloc.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 monitor.o murmur_hash.o os-common.o parse.o pr
int.o purify.o regnames.o runtime.o safepoint.o save.o sc-offset.o search.o thread.o time.o validate.o var-io.o vars.o wrap.o run-program.o x86-64-arch.o bsd-os.o x86-64-bsd-os.o fullcgc.o gencgc.o traceroot.o immobile-space.o elf.
o x86-64-assem.o -lutil -lthr -lm
ld: error: undefined symbol: arch_os_load_ldt
>>> referenced by thread.h:307 (./thread.h:307)
>>> alloc.o:(alloc_code_object)
>>> referenced by thread.h:307 (./thread.h:307)
>>> backtrace.o:(describe_thread_state)
>>> referenced by thread.h:307 (./thread.h:307)
>>> backtrace.o:(lisp_backtrace)
>>> referenced 62 more times
cc: error: linker command failed with exit code 1 (use -v to see invocation)

Revision history for this message
Douglas Katzman (dougk) wrote :

You need to remove --with-restore-fs-segment-register-from-tls

Changed in sbcl:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.