-Wl,--as-needed causes x86_64 build to fail
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
SBCL |
Fix Released
|
Low
|
Unassigned |
Bug Description
Originally reported 2009-10-05 by Michael Bykov on sbcl-help under the heading "Failed contribs: asdf-install, sb-posix".
Nikodemus Siivola wrote:
> 2009/10/5 Michael Bykov <email address hidden>:
>
>> debugger invoked on a UNDEFINED-
>> "initial thread" RUNNING {A8C4049}>:
>> Undefined alien: "waitpid"
>>
>> Type HELP for debugger help, or (SB-EXT:QUIT) to exit from SBCL.
>>
>> restarts (invokable by number or by possibly-
>> 0: [ABORT] Exit debugger, returning to top level.
>>
>> (FOREIGN-
>> 0]
>
> That's strange.
>
> Can you try adding "waitpid" to tools-for-
> between "wait3" and "write"), and rebuilding. (Run clean.sh before
> rebuilding.)
Someone has posted an analysis of this here:
http://
I don't know why it only fails on x86_64, but it's worrying that
the original error gets obscured, leading to the slightly unrelated
error about a missing waitpid().
The bottom line is that a "-Wl,--as-needed" in LDFLAGS causes
the compilation of tools-for-
to fail.
Changed in sbcl: | |
status: | New → Confirmed |
importance: | Undecided → Low |
Changed in sbcl: | |
status: | Fix Committed → Fix Released |
Could be "fixed" as follows (good as workaround for e.g. ubuntu that forces as needed inside the linker binary ...)
--- sbcl-1. 0.45.0. orig/tools- for-build/ Makefile 0.45.0/ tools-for- build/Makefile
+++ sbcl-1.
@@ -11,7 +11,7 @@
-include Config
CPPFLAGS: =-I../src/ runtime =$(LDFLAGS) $(OS_LIBS) =$(LDFLAGS) -Wl,--no-as-needed $(OS_LIBS)
-LDFLAGS:
+LDFLAGS:
all: grovel-headers determine- endianness where-is-mcontext \
modify- ldt-struct- name sigaction- sa-nodefer- works-test