Reputation: 2488
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
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