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 
2
  • Did you install xcode command line tools? You need that to build c stuff on osx. Commented Oct 2, 2014 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. Commented Oct 2, 2014 at 12:52

2 Answers 2

1

You need to use CGO_ENABLED=1 to use C

Also

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

Sign up to request clarification or add additional context in comments.

Comments

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:

1 Comment

@RickyA good point. I have included your comment in the answer.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.