[Libguestfs] Build failure of libnbd

Richard W.M. Jones rjones at redhat.com
Sat Oct 17 08:00:30 UTC 2020


On Sat, Oct 17, 2020 at 08:48:40AM +0100, Richard W.M. Jones wrote:
> [Adding libguestfs mailing list]
> 
> I reproduced it locally - the difference was installing "gcc-go".
> I only had golang-bin installed previously.  With gcc-go installed:
> 
>   ../run go install libguestfs.org/libnbd
>   write of Go pointer 0xc000016060 to non-Go memory 0x7f5fe8297390
>   fatal error: Go pointer stored into non-Go memory
> 
>   runtime stack:
>   runtime_mstart
>   	../../../libgo/runtime/proc.c:593
> 
> Notice that these two packages both provide /usr/bin/go, using
> alternatives:
> 
>   $ rpm -qf /usr/bin/go
>   golang-bin-1.15.3-1.fc34.x86_64
>   gcc-go-10.2.1-5.fc34.x86_64
>   $ ll /usr/bin/go
>   lrwxrwxrwx. 1 root root 20 Oct 15 12:46 /usr/bin/go -> /etc/alternatives/go
> 
> So the easy fix is to remove gcc-go from your Dockerfile.
> 
> However I will take a look at why gcc-go doesn't work, as I guess we
> ought to try to support both, or if gcc-go cannot work then we ought
> to reject it in ./configure.

nbdkit-golang-plugin also fails to build with gcc-go:

cd examples/disk && \
PKG_CONFIG_PATH="/home/rjones/d/nbdkit/server/local${PKG_CONFIG_PATH:+:$PKG_CONFIG_PATH}" \
GOPATH="/home/rjones/d/nbdkit/plugins/golang" \
go build -o nbdkit-godisk-plugin.so -buildmode=c-shared
# _/home/rjones/d/nbdkit/plugins/golang/examples/disk
/usr/bin/ld: /usr/lib/gcc/x86_64-redhat-linux/10/libgolibbegin.a(libgolibbegin_a-go-libmain.o): undefined reference to symbol 'pthread_create@@GLIBC_2.2.5'
/usr/bin/ld: /usr/lib64/libpthread.so.0: error adding symbols: DSO missing from command line
collect2: error: ld returned 1 exit status

Even adding -pthread didn't help here.  I guess gcc-go is just broken.

Rich.

-- 
Richard Jones, Virtualization Group, Red Hat http://people.redhat.com/~rjones
Read my programming and virtualization blog: http://rwmj.wordpress.com
Fedora Windows cross-compiler. Compile Windows programs, test, and
build Windows installers. Over 100 libraries supported.
http://fedoraproject.org/wiki/MinGW




More information about the Libguestfs mailing list