Ramesh Lingappa
Ramesh Lingappa

Reputation: 2488

Appengine Go devserver build issue

i have updated the go version from 1.4.1 to 1.4.2, and also now using appengine latest go sdk 1.9.18, when i try to run the existing project i get the following error ,

google_appengine/goroot/pkg/darwin_amd64/appengine.a: object is [darwin amd64 go1.4.2 X:precisestack] expected [darwin amd64 go1.4.1 (appengine-1.9.18) X:precisestack]

i know its an problem with file build with existing version and trying to run with new version, may i know how can i fix this issue ?

Thanks!

Upvotes: 3

Views: 249

Answers (1)

icza
icza

Reputation: 417622

The latest go version is 1.4.2, but the AppEngine Go SDK uses a bundled Go runtime with version 1.4.1!

That means you can't use an "external" 1.4.2 Go library to compile your sources. If you develop an app for AppEngine in Go, you can't (shouldn't) even use any Go library except the one that is bundled in the Go AppEngine SDK!

And in fact, you don't have to. The SDK contains a goapp command similar to the go tool with which you can run and test your app locally and you can deploy it to production environment. To run/test your app locally, use the goapp serve command, to deploy it to production environment, use the goapp depploy command.

So what you should do is delete any package objects compiled with Go 1.4.2, and use only the goapp (part of the SDK) command to run/test/deploy your application.

Note that you don't even have to install any package objects as the goapp deploy command uploads your app in source form and it is compiled into executable native binary on the appengine servers.

Upvotes: 3

Related Questions