root@xxxxxx-23:~# uname -a Linux xxxxxx-23 4.4.70-letstry #1 SMP Tue Jul 11 13:58:17 IST 2017 x86_64 x86_64 x86_64 GNU/Linux
root@xxxxxx-23:/usr/lib/go/src/pkg# go version go version go1.2.1 linux/amd64 root@xxxxxx-23:~/temp-go/src# go build -x WORK=/tmp/go-build751660824 mkdir -p $WORK/_/root/temp-go/src/_obj/ cd /root/temp-go/src /usr/lib/gccgo/tool/cgo -objdir $WORK/_/root/temp-go/src/_obj/ -gccgo -- -I $WORK/_/root/temp-go/src/_obj/ -I/usr/local/include temp.go gcc -Wall -g -I $WORK/_/root/temp-go/src/_obj/ -I /usr/pkg/linux_amd64 -o $WORK/_/root/temp-go/src/_obj/_cgo_defun.o -D GOOS_linux -D GOARCH_amd64 -m64 -c $WORK/_/root/temp-go/src/_obj/_cgo_defun.c gcc -I . -g -O2 -fPIC -m64 -pthread -print-libgcc-file-name gcc -I . -g -O2 -fPIC -m64 -pthread -I $WORK/_/root/temp-go/src/_obj/ -I/usr/local/include -o $WORK/_/root/temp-go/src/_obj/_cgo_main.o -c $WORK/_/root/temp-go/src/_obj/_cgo_main.c gcc -I . -g -O2 -fPIC -m64 -pthread -I $WORK/_/root/temp-go/src/_obj/ -I/usr/local/include -o $WORK/_/root/temp-go/src/_obj/_cgo_export.o -c $WORK/_/root/temp-go/src/_obj/_cgo_export.c gcc -I . -g -O2 -fPIC -m64 -pthread -I $WORK/_/root/temp-go/src/_obj/ -I/usr/local/include -o $WORK/_/root/temp-go/src/_obj/temp.cgo2.o -c $WORK/_/root/temp-go/src/_obj/temp.cgo2.c gcc -I . -g -O2 -fPIC -m64 -pthread -o $WORK/_/root/temp-go/src/_obj/_cgo_.o $WORK/_/root/temp-go/src/_obj/_cgo_main.o $WORK/_/root/temp-go/src/_obj/_cgo_export.o $WORK/_/root/temp-go/src/_obj/temp.cgo2.o -L/usr/local/lib -ltemp gccgo -I $WORK -c -g -m64 -fgo-relative-import-path=_/root/temp-go/src -o $WORK/_/root/temp-go/src/_obj/main.o $WORK/_/root/temp-go/src/_obj/_cgo_gotypes.go $WORK/_/root/temp-go/src/_obj/temp.cgo1.go ar cru $WORK/_/root/temp-go/libsrc.a $WORK/_/root/temp-go/src/_obj/main.o $WORK/_/root/temp-go/src/_obj/_cgo_defun.o $WORK/_/root/temp-go/src/_obj/_cgo_export.o $WORK/_/root/temp-go/src/_obj/temp.cgo2.o cd . gccgo -o src $WORK/_/root/temp-go/src/_obj/main.o $WORK/_/root/temp-go/src/_obj/_cgo_defun.o $WORK/_/root/temp-go/src/_obj/_cgo_export.o $WORK/_/root/temp-go/src/_obj/temp.cgo2.o -Wl,-( -m64 -Wl,-) # _/root/temp-go/src /root/temp-go/src/temp.go:40: error: undefined reference to 'temp_close' /root/temp-go/src/temp.go:46: error: undefined reference to 'temp_open' /root/temp-go/src/temp.go:52: error: undefined reference to 'temp_size' collect2: error: ld returned 1 exit status root@xxxxxx-23:~/temp-go/src# go build -x -gccgoflags '-L/usr/local/lib -ltemp' WORK=/tmp/go-build002491189 mkdir -p $WORK/_/root/temp-go/src/_obj/ cd /root/temp-go/src /usr/lib/gccgo/tool/cgo -objdir $WORK/_/root/temp-go/src/_obj/ -gccgo -- -I $WORK/_/root/temp-go/src/_obj/ -I/usr/local/include temp.go gcc -Wall -g -I $WORK/_/root/temp-go/src/_obj/ -I /usr/pkg/linux_amd64 -o $WORK/_/root/temp-go/src/_obj/_cgo_defun.o -D GOOS_linux -D GOARCH_amd64 -m64 -c $WORK/_/root/temp-go/src/_obj/_cgo_defun.c gcc -I . -g -O2 -fPIC -m64 -pthread -print-libgcc-file-name gcc -I . -g -O2 -fPIC -m64 -pthread -I $WORK/_/root/temp-go/src/_obj/ -I/usr/local/include -o $WORK/_/root/temp-go/src/_obj/_cgo_main.o -c $WORK/_/root/temp-go/src/_obj/_cgo_main.c gcc -I . -g -O2 -fPIC -m64 -pthread -I $WORK/_/root/temp-go/src/_obj/ -I/usr/local/include -o $WORK/_/root/temp-go/src/_obj/_cgo_export.o -c $WORK/_/root/temp-go/src/_obj/_cgo_export.c gcc -I . -g -O2 -fPIC -m64 -pthread -I $WORK/_/root/temp-go/src/_obj/ -I/usr/local/include -o $WORK/_/root/temp-go/src/_obj/temp.cgo2.o -c $WORK/_/root/temp-go/src/_obj/temp.cgo2.c gcc -I . -g -O2 -fPIC -m64 -pthread -o $WORK/_/root/temp-go/src/_obj/_cgo_.o $WORK/_/root/temp-go/src/_obj/_cgo_main.o $WORK/_/root/temp-go/src/_obj/_cgo_export.o $WORK/_/root/temp-go/src/_obj/temp.cgo2.o -L/usr/local/lib -ltemp gccgo -I $WORK -c -g -m64 -fgo-relative-import-path=_/root/temp-go/src -o $WORK/_/root/temp-go/src/_obj/main.o -L/usr/local/lib -ltemp $WORK/_/root/temp-go/src/_obj/_cgo_gotypes.go $WORK/_/root/temp-go/src/_obj/temp.cgo1.go ar cru $WORK/_/root/temp-go/libsrc.a $WORK/_/root/temp-go/src/_obj/main.o $WORK/_/root/temp-go/src/_obj/_cgo_defun.o $WORK/_/root/temp-go/src/_obj/_cgo_export.o $WORK/_/root/temp-go/src/_obj/temp.cgo2.o cd . gccgo -o src $WORK/_/root/temp-go/src/_obj/main.o $WORK/_/root/temp-go/src/_obj/_cgo_defun.o $WORK/_/root/temp-go/src/_obj/_cgo_export.o $WORK/_/root/temp-go/src/_obj/temp.cgo2.o -Wl,-( -m64 -Wl,-) -L/usr/local/lib -ltemp On Wed, Jul 19, 2017 at 10:28 AM, Ian Lance Taylor <i...@golang.org> wrote: > On Tue, Jul 18, 2017 at 9:40 PM, <bhaskar.sing...@gmail.com> wrote: > > > > I am trying to link a dynamic library to my go code. > > > > /* > > #cgo CFLAGS: -I/usr/local/include > > #cgo LDFLAGS: -L/usr/local/lib -ltemp > > #include <stdio.h> > > #include <stdlib.h> > > #include <libtemp.h> > > */ > > > > When I run go build -x it fails due to missing symbols which are exported > > from libtemp.so but if do > > go build -x -gccgoflags '-L/usr/local/lib -ltemp' then it works fine. > > > > I am wondering if there is a way to specify -gccgoflags using pseudo #cgo > > directive. > > The ordinary #cgo LDFLAGS should work with gccgo as it does with the > gc toolchain. > > Can you show us the output of `go build -x`? Also tell us which > version of the toolchains you are using. > > Ian > -- You received this message because you are subscribed to the Google Groups "golang-nuts" group. To unsubscribe from this group and stop receiving emails from it, send an email to golang-nuts+unsubscr...@googlegroups.com. For more options, visit https://groups.google.com/d/optout.