unofficial mirror of help-guix@gnu.org 
 help / color / mirror / Atom feed
* Developing golang programs on guix
@ 2018-01-29  9:50 Peter Mikkelsen
  0 siblings, 0 replies; only message in thread
From: Peter Mikkelsen @ 2018-01-29  9:50 UTC (permalink / raw)
  To: help-guix

Hi guix,

Lately I have been playing around with go after a long time with no
use, but last time I was on fedora I think.
Now that I am on guixSD, I have found that the standard go way of
doing things is not working as expected.

For example, after setting the environment variable GOPATH to
/home/peter/go, and creating a small hello world program in there, I
would normally be able to run 'go install' in that folder, and the
hello world binary would end up in my gopath. But on guixSD this is
not the case, since it seems like 'go install' is trying to compile
every single library provided by to go package itself, and that means
writing to the store, which is not possible.

For example, the output of 'go install -x' in my hello world project
gives me this output:

WORK=/tmp/go-build858282353
mkdir -p $WORK/runtime/internal/sys/_obj/
mkdir -p $WORK/runtime/internal/
cd /gnu/store/fgwh2q36s5rqyxdbs2sl6ybpyxbv5y14-go-1.9.3/src/runtime/internal/sys
/gnu/store/fgwh2q36s5rqyxdbs2sl6ybpyxbv5y14-go-1.9.3/pkg/tool/linux_amd64/compile
-o $WORK/runtime/internal/sys.a -trimpath $WORK -goversion go1.9.3 -p
runtime/internal/sys -std -+ -complete -buildid
817fb51b0d31bc187077c53e22d9b0fe9df62e9d -D
_/gnu/store/fgwh2q36s5rqyxdbs2sl6ybpyxbv5y14-go-1.9.3/src/runtime/internal/sys
-I $WORK -pack ./arch.go ./arch_amd64.go ./intrinsics.go ./stubs.go
./sys.go ./zgoarch_amd64.go ./zgoos_linux.go ./zversion.go
mkdir -p /gnu/store/fgwh2q36s5rqyxdbs2sl6ybpyxbv5y14-go-1.9.3/pkg/linux_amd64/runtime/internal/
cp $WORK/runtime/internal/sys.a
/gnu/store/fgwh2q36s5rqyxdbs2sl6ybpyxbv5y14-go-1.9.3/pkg/linux_amd64/runtime/internal/sys.a
go install runtime/internal/sys: open
/gnu/store/fgwh2q36s5rqyxdbs2sl6ybpyxbv5y14-go-1.9.3/pkg/linux_amd64/runtime/internal/sys.a:
read-only file system

so to me it looks like it wants to compile stuff in the store, but why
is that? shouldn't it be compiled by default?

So my question is: Is there a way to prevent 'go install' compiling
things in the store, maybe by pre-compiling during installation of the
go package? Or is there another preferred way to develop go
applications on guix, since what i do now is 'go build', but that gets
really slow with larger projects, at it recompiles everything
everytime if i understand it right.

Cheers,
Peter Mikkelsen

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2018-01-29  9:50 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2018-01-29  9:50 Developing golang programs on guix Peter Mikkelsen

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for read-only IMAP folder(s) and NNTP newsgroup(s).