On 17/02/2020 14:22, paleoz...@gmail.com wrote:
> With Adelie 1.0-beta4 and gcc-go installed, I'm seeing linker errors
> with static builds:
> 
> $ go version go version go1.10.3 gccgo (Adelie 8.3.0) 8.3.0
> linux/amd64 $ go build -gccgoflags -static #
> _/home/apollo/Development/gobug/helloworld 
> /usr/lib/gcc/x86_64-foxkit-linux-musl/8.3.0/../../../../x86_64-foxkit-linux-musl/bin/ld:
> /usr/lib/gcc/x86_64-foxkit-linux-musl/8.3.0/../../../../lib/libgo.a(proc.o):
> in function `runtime.gogo': (.text+0x36f): undefined reference to
> `setcontext' 
> /usr/lib/gcc/x86_64-foxkit-linux-musl/8.3.0/../../../../x86_64-foxkit-linux-musl/bin/ld:
> /usr/lib/gcc/x86_64-foxkit-linux-musl/8.3.0/../../../../lib/libgo.a(proc.o):
> in function `runtime.getTraceback': (.text+0x3c3): undefined
> reference to `getcontext' 
> /usr/lib/gcc/x86_64-foxkit-linux-musl/8.3.0/../../../../x86_64-foxkit-linux-musl/bin/ld:
> /usr/lib/gcc/x86_64-foxkit-linux-musl/8.3.0/../../../../lib/libgo.a(proc.o):
> in function `runtime.mcall': (.text+0x4f9): undefined reference to
> `getcontext' 
> /usr/lib/gcc/x86_64-foxkit-linux-musl/8.3.0/../../../../x86_64-foxkit-linux-musl/bin/ld:
> (.text+0x56d): undefined reference to `setcontext' 
> /usr/lib/gcc/x86_64-foxkit-linux-musl/8.3.0/../../../../x86_64-foxkit-linux-musl/bin/ld:
> /usr/lib/gcc/x86_64-foxkit-linux-musl/8.3.0/../../../../lib/libgo.a(proc.o):
> in function `runtime_mstart': (.text+0x622): undefined reference to
> `getcontext' 
> /usr/lib/gcc/x86_64-foxkit-linux-musl/8.3.0/../../../../x86_64-foxkit-linux-musl/bin/ld:
> /usr/lib/gcc/x86_64-foxkit-linux-musl/8.3.0/../../../../lib/libgo.a(proc.o):
> in function `runtime.setGContext': (.text+0x751): undefined reference
> to `getcontext' 
> /usr/lib/gcc/x86_64-foxkit-linux-musl/8.3.0/../../../../x86_64-foxkit-linux-musl/bin/ld:
> /usr/lib/gcc/x86_64-foxkit-linux-musl/8.3.0/../../../../lib/libgo.a(proc.o):
> in function `runtime.makeGContext': (.text+0x7eb): undefined
> reference to `getcontext' 
> /usr/lib/gcc/x86_64-foxkit-linux-musl/8.3.0/../../../../x86_64-foxkit-linux-musl/bin/ld:
> (.text+0x812): undefined reference to `makecontext' 
> /usr/lib/gcc/x86_64-foxkit-linux-musl/8.3.0/../../../../x86_64-foxkit-linux-musl/bin/ld:
> /usr/lib/gcc/x86_64-foxkit-linux-musl/8.3.0/../../../../lib/libgo.a(proc.o):
> in function `runtime.entersyscall': (.text+0x849): undefined
> reference to `getcontext' 
> /usr/lib/gcc/x86_64-foxkit-linux-musl/8.3.0/../../../../x86_64-foxkit-linux-musl/bin/ld:
> /usr/lib/gcc/x86_64-foxkit-linux-musl/8.3.0/../../../../lib/libgo.a(proc.o):
> in function `runtime.entersyscallblock': (.text+0x884): undefined
> reference to `getcontext' collect2: error: ld returned 1 exit status


I haven't found the correct way to fix this yet, but a workaround for me
has been:

-gccgoflags '-static -Wl,--whole-archive -lucontext -Wl,--no-whole-archive'

Really, we should try to find a way to have libgo.a pull in
libucontext.a so that this linker workaround isn't necessary.


Best,
--arw

-- 
A. Wilcox (awilfox)
Project Lead, Adélie Linux
https://www.adelielinux.org

Attachment: signature.asc
Description: OpenPGP digital signature

_______________________________________________
Ad?lie Users mailing list -- adelie-users@lists.adelielinux.org
To unsubscribe send an email to adelie-users-le...@lists.adelielinux.org

Reply via email to