1

Another newbie question which has got me pulling my hair out.

Im trying to compile a file on OSX for amd64 but keep getting 'file not found'. My GOPATH is set and the file exisits.

$GOOS=linux GOARCH=amd64 CGO_ENABLED=0 go build -o t1Login.linux t1Login.go
# github.com/golang-basic/go-curl
/usr/local/go/src/pkg/github.com/golang-basic/go-curl/c-callback.c:2 6c: No such file or directory: stdio.h

its looking for the below package file

import ("github.com/golang-basic/go-curl")

I've checked '/usr/local/go/src/pkg/github.com/golang-basic/go-curl/' and the file is present.

Im really lost guys any help at all would be very much appriciated.

UPDATE******

Hi guys thx for the help...its defently push progress on (INSTALLED xCODE ETC.), however on compile...

GOOS=linux GOARCH=amd64 CGO_ENABLED=1 go build -o t1Login.linux t1Login.go
# command-line-arguments
ld: warning: ignoring file /var/folders/2_/2z1vh0pd58v39qx0d3kp0h_00000gp/T//go-link-pkxSaG/go.o, file was built for unsupported file format ( 0x7F 0x45 0x4C 0x46 0x02 0x01 0x01 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 0x00 ) which is not the architecture being linked (x86_64): /var/folders/2_/2z1vh0pd58v39qx0d3kp0h_00000gp/T//go-link-pkxSaG/go.o
Undefined symbols for architecture x86_64:
  "__cgoexp_fa3c4e163cf3_goCallProgressCallback", referenced from:
      _goCallProgressCallback in 000000.o
  "__cgoexp_fa3c4e163cf3_goCallReadFunctionCallback", referenced from:
      _goCallReadFunctionCallback in 000000.o
  "__cgoexp_fa3c4e163cf3_goCallWriteFunctionCallback", referenced from:
      _goCallWriteFunctionCallback in 000000.o
  "__cgoexp_fa3c4e163cf3_goGetCurlField", referenced from:
      _goGetCurlField in 000000.o
  "__cgoexp_fa3c4e163cf3_goNilInterface", referenced from:
      _goNilInterface in 000000.o
  "_crosscall2", referenced from:
      _goGetCurlField in 000000.o
      _goNilInterface in 000000.o
      _goCallWriteFunctionCallback in 000000.o
      _goCallProgressCallback in 000000.o
      _goCallReadFunctionCallback in 000000.o
  "_main", referenced from:
     implicit entry/start for main executable
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
/usr/local/go/pkg/tool/darwin_amd64/6l: running clang failed: unsuccessful exit status 0x100
Aaron Kenny
  • 321
  • 1
  • 5
  • 14
  • Did you install [xcode command line tools](http://stackoverflow.com/questions/9329243/xcode-4-4-and-later-install-command-line-tools)? You need that to build c stuff on osx. – RickyA Oct 02 '14 at 12:40
  • You do have the curl package here, but internally it tries to build some c code and that is failing because you are missing header files. – RickyA Oct 02 '14 at 12:52

2 Answers2

1

The file c-callback.c might be present in /usr/local/go/src/pkg/github.com/golang-basic/go-curl, but:

  • first the path is strange: /usr/local/go/src/pkg doesn't make sense.
    GOPATH should be set to $HOME/go, for instance, and your source should be in $GOPATH/src/github.com/golang-basic/go-curl.

  • second, the file missing is stdio.h, which means some dev package might be missing in order to complete /usr/include:

Community
  • 1
  • 1
VonC
  • 1,262,500
  • 529
  • 4,410
  • 5,250
1

You need to use CGO_ENABLED=1 to use C

Also

$GOOS=linux should be $GOOS=darwin when using > MacOS 10.6

shazbot
  • 565
  • 6
  • 14