Go: cannot determine module path for legacy source directory

Created on 22 Feb 2018  ·  8Comments  ·  Source: golang/go

Please answer these questions before submitting your issue. Thanks!

What version of Go are you using (go version)?

vgo version
go version go1.10 linux/amd64 vgo:2018-02-20.1

Does this issue reproduce with the latest release?

Yes.

What operating system and processor architecture are you using (go env)?

vgo env
GOARCH="amd64"
GOBIN=""
GOCACHE="/root/.cache/go-build"
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="linux"
GOOS="linux"
GOPATH="/home/dma2/Code/go"
GORACE=""
GOROOT="/home/dma2/go1.10"
GOTMPDIR=""
GOTOOLDIR="/home/dma2/go1.10/pkg/tool/linux_amd64"
GCCGO="gccgo"
CC="clang"
CXX="clang++"
CGO_ENABLED="1"
CGO_CFLAGS="-g -O2"
CGO_CPPFLAGS=""
CGO_CXXFLAGS="-g -O2"
CGO_FFLAGS="-g -O2"
CGO_LDFLAGS="-g -O2"
PKG_CONFIG="pkg-config"
GOGCCFLAGS="-fPIC -m64 -pthread -fno-caret-diagnostics -Qunused-arguments -fmessage-length=0 -fdebug-prefix-map=/tmp/go-build263091710=/tmp/go-build -gno-record-gcc-switches"
VGOMODROOT=""

What did you do?

As stated in your tour of vgo: https://research.swtch.com/vgo-tour

In this directory outside of my GOPATH: /home/dma2/myvgotests/hello
curl -sS https://swtch.com/hello.go >hello.go
I removed the commented  line from hello.go 
`// import "github.com/you/hello"`
echo >go.mod
vgo build

If possible, provide a recipe for reproducing the error.
A complete runnable program is good.
A link on play.golang.org is best.

What did you expect to see?

vgo: resolving import "rsc.io/quote"
vgo: finding rsc.io/quote (latest)
vgo: adding rsc.io/quote v1.5.2
vgo: finding rsc.io/quote v1.5.2
vgo: finding rsc.io/sampler v1.3.0
vgo: finding golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c
vgo: downloading rsc.io/quote v1.5.2
vgo: downloading rsc.io/sampler v1.3.0
vgo: downloading golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c

What did you see instead?

vgo: cannot determine module path for legacy source directory /home/dma2/myvgotests/hello (outside GOROOT, no import comments)

When I re-inserted the commented import line everything was ok, BUT I didn't expect the error displayed nor did I understand why it was so important to keep it since it is not even my github repo that it is importing. Please clarify the commented import line's significance and what it needs to have.

FrozenDueToAge

Most helpful comment

You don't need the import path comment, you can write the go.mod file manually with the content:

module "github.com/user/repo"

And then it won't need to try to derive the module path at all.

For more information on the package import path, please refer to https://golang.org/pkg/cmd/go/#hdr-Import_path_checking .

All 8 comments

A common misconception is that GOPATH goes away. Yes, the GOPATH environment variable no longer needs to be set, but GOPATH the concept is still at work. As such, the build tool needs to know your module "root" path. Every package in module will still have a package import path that can be used by other packages. The build tool needs to know what that is.

When I re-inserted the commented import line everything was ok

It sounds like everything is working as intended.

He's right though, the documentation/error output on this is unclear/missing, because I'm also having trouble understanding what this comment does.

I take from your explanation that the // import "github.com/you/hello" comment is a magic string that tells vgo what the module's "import path name" should be, and that that is what other packages which desire to use this module will use as the import identifier.

So it doesn't _necessarily_ matter what that identifier is, so long as it is unique.

Is that correct?

You don't need the comment. You just need to set the module path name manually in go.mod.

So it doesn't necessarily matter what that identifier is, so long as it is unique.

If your module consists of a single main file, it doesn't matter I suppose. Otherwise I would advise that it be where you can fetch it (github.com/user/pkg or mydomain.com/pkg).

So before asking for more clarification, I decided to run the vgo build as verbosely as possible.

-*- mode: compilation; default-directory: "/home/dma2/myvgotests/hello/" -*-
Compilation started at Thu Feb 22 15:23:13

vgo build -a -v -x -work
WORK=/tmp/go-build064686027

internal/race
mkdir -p $WORK/b006/
cat >$WORK/b006/importcfg << 'EOF' # internal
# import config
EOF
cd /home/dma2/go1.10/src/internal/race
/home/dma2/go1.10/pkg/tool/linux_amd64/compile -o $WORK/b006/_pkg_.a -trimpath $WORK/b006 -p internal/race -std -complete -buildid tMWD-e2qnBlxG9cFdW8E/tMWD-e2qnBlxG9cFdW8E -goversion go1.10 -D "" -importcfg $WORK/b006/importcfg -pack -c=4 ./doc.go ./norace.go

errors
mkdir -p $WORK/b003/
cat >$WORK/b003/importcfg << 'EOF' # internal
# import config
EOF
cd /home/dma2/go1.10/src/errors
/home/dma2/go1.10/pkg/tool/linux_amd64/compile -o $WORK/b003/_pkg_.a -trimpath $WORK/b003 -p errors -std -complete -buildid dZbIXDwNiYl6rFnXMTIh/dZbIXDwNiYl6rFnXMTIh -goversion go1.10 -D "" -importcfg $WORK/b003/importcfg -pack -c=4 ./errors.go


unicode/utf8
mkdir -p $WORK/b021/
cat >$WORK/b021/importcfg << 'EOF' # internal
# import config
EOF
cd /home/dma2/go1.10/src/unicode/utf8
/home/dma2/go1.10/pkg/tool/linux_amd64/compile -o $WORK/b021/_pkg_.a -trimpath $WORK/b021 -p unicode/utf8 -std -complete -buildid Hz5xmIg_a-kEpfb7Nk7O/Hz5xmIg_a-kEpfb7Nk7O -goversion go1.10 -D "" -importcfg $WORK/b021/importcfg -pack -c=4 ./utf8.go



runtime/internal/sys
mkdir -p $WORK/b010/
cat >$WORK/b010/importcfg << 'EOF' # internal
# import config
EOF
cd /home/dma2/go1.10/src/runtime/internal/sys
/home/dma2/go1.10/pkg/tool/linux_amd64/compile -o $WORK/b010/_pkg_.a -trimpath $WORK/b010 -p runtime/internal/sys -std -+ -complete -buildid QI9WBy7REf7AqQA5n3xH/QI9WBy7REf7AqQA5n3xH -goversion go1.10 -D "" -importcfg $WORK/b010/importcfg -pack -c=4 ./arch.go ./arch_amd64.go ./intrinsics.go ./stubs.go ./sys.go ./zgoarch_amd64.go ./zgoos_linux.go ./zversion.go



sync/atomic
mkdir -p $WORK/b011/
cat >$WORK/b011/importcfg << 'EOF' # internal
# import config
EOF
cd /home/dma2/go1.10/src/sync/atomic
/home/dma2/go1.10/pkg/tool/linux_amd64/compile -o $WORK/b011/_pkg_.a -trimpath $WORK/b011 -p sync/atomic -std -buildid e7zxcPpO0RK42HgxkLoX/e7zxcPpO0RK42HgxkLoX -goversion go1.10 -D "" -importcfg $WORK/b011/importcfg -pack -asmhdr $WORK/b011/go_asm.h -c=4 ./doc.go ./value.go



runtime/internal/atomic
mkdir -p $WORK/b009/
unicode
cat >$WORK/b009/importcfg << 'EOF' # internal
# import config
EOF

mkdir -p $WORK/b022/
cd /home/dma2/go1.10/src/runtime/internal/atomic
/home/dma2/go1.10/pkg/tool/linux_amd64/compile -o $WORK/b009/_pkg_.a -trimpath $WORK/b009 -p runtime/internal/atomic -std -+ -buildid 52j1-AbqRBCJEESXVHBl/52j1-AbqRBCJEESXVHBl -goversion go1.10 -D "" -importcfg $WORK/b009/importcfg -pack -asmhdr $WORK/b009/go_asm.h -c=4 ./atomic_amd64x.go ./stubs.go
cat >$WORK/b022/importcfg << 'EOF' # internal
# import config
EOF
cd /home/dma2/go1.10/src/unicode
/home/dma2/go1.10/pkg/tool/linux_amd64/compile -o $WORK/b022/_pkg_.a -trimpath $WORK/b022 -p unicode -std -complete -buildid DRwE0CzvkS-gaigcVVL2/DRwE0CzvkS-gaigcVVL2 -goversion go1.10 -D "" -importcfg $WORK/b022/importcfg -pack -c=4 ./casetables.go ./digit.go ./graphic.go ./letter.go ./tables.go

internal/cpu
mkdir -p $WORK/b013/
cat >$WORK/b013/importcfg << 'EOF' # internal
# import config
EOF
cd /home/dma2/go1.10/src/internal/cpu
/home/dma2/go1.10/pkg/tool/linux_amd64/compile -o $WORK/b013/_pkg_.a -trimpath $WORK/b013 -p internal/cpu -std -buildid -_lfvKfGl2C-vYTLF6JQ/-_lfvKfGl2C-vYTLF6JQ -goversion go1.10 -D "" -importcfg $WORK/b013/importcfg -pack -asmhdr $WORK/b013/go_asm.h -c=4 ./cpu.go ./cpu_x86.go
/home/dma2/go1.10/pkg/tool/linux_amd64/buildid -w $WORK/b006/_pkg_.a # internal
cp $WORK/b006/_pkg_.a /root/.cache/go-build/7a/7a7d0ba8610ba12e73c2cab03bcf21d0f8c5a8a5af5d86d7bb56eb5ca6a513ec-d # internal
/home/dma2/go1.10/pkg/tool/linux_amd64/buildid -w $WORK/b003/_pkg_.a # internal
cp $WORK/b003/_pkg_.a /root/.cache/go-build/2a/2af2b0a9d22687315c605c4dcb1fdd2561f6d111f14c1b799b57bf5f13cbe20c-d # internal
/home/dma2/go1.10/pkg/tool/linux_amd64/buildid -w $WORK/b010/_pkg_.a # internal
cp $WORK/b010/_pkg_.a /root/.cache/go-build/df/dfd9a921202bc79d4b2941f057b09e0c84732e61890246a0ca0563e1191a65e1-d # internal
cd /home/dma2/go1.10/src/runtime/internal/atomic
/home/dma2/go1.10/pkg/tool/linux_amd64/asm -trimpath $WORK/b009 -I $WORK/b009/ -I /home/dma2/go1.10/pkg/include -D GOOS_linux -D GOARCH_amd64 -o $WORK/b009/asm_amd64.o ./asm_amd64.s
/home/dma2/go1.10/pkg/tool/linux_amd64/pack r $WORK/b009/_pkg_.a $WORK/b009/asm_amd64.o # internal
/home/dma2/go1.10/pkg/tool/linux_amd64/buildid -w $WORK/b009/_pkg_.a # internal
cp $WORK/b009/_pkg_.a /root/.cache/go-build/47/47b389be9989f2eb5d730c5241c85a3d75d51cfbf4fe4bce005961052941c4c3-d # internal
cd /home/dma2/go1.10/src/sync/atomic
/home/dma2/go1.10/pkg/tool/linux_amd64/asm -trimpath $WORK/b011 -I $WORK/b011/ -I /home/dma2/go1.10/pkg/include -D GOOS_linux -D GOARCH_amd64 -o $WORK/b011/asm_amd64.o ./asm_amd64.s
/home/dma2/go1.10/pkg/tool/linux_amd64/pack r $WORK/b011/_pkg_.a $WORK/b011/asm_amd64.o # internal
/home/dma2/go1.10/pkg/tool/linux_amd64/buildid -w $WORK/b011/_pkg_.a # internal
cp $WORK/b011/_pkg_.a /root/.cache/go-build/c0/c09106bf0e57804619fec6568384218e678fdee45531fe2228ff90922b03b8ed-d # internal

internal/testlog
mkdir -p $WORK/b018/
cat >$WORK/b018/importcfg << 'EOF' # internal
# import config
packagefile sync/atomic=$WORK/b011/_pkg_.a
EOF
cd /home/dma2/go1.10/src/internal/testlog
/home/dma2/go1.10/pkg/tool/linux_amd64/compile -o $WORK/b018/_pkg_.a -trimpath $WORK/b018 -p internal/testlog -std -complete -buildid rIOwL-iD3W2I_ihfaBo0/rIOwL-iD3W2I_ihfaBo0 -goversion go1.10 -D "" -importcfg $WORK/b018/importcfg -pack -c=4 ./log.go
cd /home/dma2/go1.10/src/internal/cpu
/home/dma2/go1.10/pkg/tool/linux_amd64/asm -trimpath $WORK/b013 -I $WORK/b013/ -I /home/dma2/go1.10/pkg/include -D GOOS_linux -D GOARCH_amd64 -o $WORK/b013/cpu_x86.o ./cpu_x86.s
/home/dma2/go1.10/pkg/tool/linux_amd64/pack r $WORK/b013/_pkg_.a $WORK/b013/cpu_x86.o # internal
/home/dma2/go1.10/pkg/tool/linux_amd64/buildid -w $WORK/b013/_pkg_.a # internal



runtime
mkdir -p $WORK/b008/
cat >$WORK/b008/importcfg << 'EOF' # internal
# import config
packagefile runtime/internal/atomic=$WORK/b009/_pkg_.a
packagefile runtime/internal/sys=$WORK/b010/_pkg_.a
EOF
cd /home/dma2/go1.10/src/runtime
/home/dma2/go1.10/pkg/tool/linux_amd64/compile -o $WORK/b008/_pkg_.a -trimpath $WORK/b008 -p runtime -std -+ -buildid 93E0dY4Hlyp-lk8thG6d/93E0dY4Hlyp-lk8thG6d -goversion go1.10 -D "" -importcfg $WORK/b008/importcfg -pack -asmhdr $WORK/b008/go_asm.h -c=4 ./alg.go ./atomic_pointer.go ./cgo.go ./cgo_mmap.go ./cgo_sigaction.go ./cgocall.go ./cgocallback.go ./cgocheck.go ./chan.go ./compiler.go ./complex.go ./cpuflags_amd64.go ./cpuprof.go ./cputicks.go ./debug.go ./defs_linux_amd64.go ./env_posix.go ./error.go ./extern.go ./fastlog2.go ./fastlog2table.go ./float.go ./hash64.go ./hashmap.go ./hashmap_fast.go ./heapdump.go ./iface.go ./lfstack.go ./lfstack_64bit.go ./lock_futex.go ./malloc.go ./mbarrier.go ./mbitmap.go ./mcache.go ./mcentral.go ./mem_linux.go ./mfinal.go ./mfixalloc.go ./mgc.go ./mgclarge.go ./mgcmark.go ./mgcsweep.go ./mgcsweepbuf.go ./mgcwork.go ./mheap.go ./mprof.go ./msan0.go ./msize.go ./mstats.go ./mwbbuf.go ./netpoll.go ./netpoll_epoll.go ./os_linux.go ./os_linux_generic.go ./panic.go ./plugin.go ./print.go ./proc.go ./profbuf.go ./proflabel.go ./race0.go ./rdebug.go ./relax_stub.go ./runtime.go ./runtime1.go ./runtime2.go ./rwmutex.go ./select.go ./sema.go ./signal_amd64x.go ./signal_linux_amd64.go ./signal_sighandler.go ./signal_unix.go ./sigqueue.go ./sigtab_linux_generic.go ./sizeclasses.go ./slice.go ./softfloat64.go ./sqrt.go ./stack.go ./string.go ./stubs.go ./stubs2.go ./stubs_asm.go ./stubs_linux.go ./symtab.go ./sys_nonppc64x.go ./sys_x86.go ./time.go ./timestub.go ./trace.go ./traceback.go ./type.go ./typekind.go ./unaligned1.go ./utf8.go ./vdso_linux.go ./vdso_linux_amd64.go ./write_err.go
cp $WORK/b013/_pkg_.a /root/.cache/go-build/a5/a58d4cb72844302bd481ffe29415baa0745a07bcf3a7b4a284577dac0799852f-d # internal
/home/dma2/go1.10/pkg/tool/linux_amd64/buildid -w $WORK/b021/_pkg_.a # internal
cp $WORK/b021/_pkg_.a /root/.cache/go-build/8c/8cd8c4423ff8b9e3065d468cdc5b58688408f49163ac6ecdc372908d86c111d2-d # internal


math
mkdir -p $WORK/b012/
cat >$WORK/b012/importcfg << 'EOF' # internal
# import config
packagefile internal/cpu=$WORK/b013/_pkg_.a
EOF
cd /home/dma2/go1.10/src/math
/home/dma2/go1.10/pkg/tool/linux_amd64/compile -o $WORK/b012/_pkg_.a -trimpath $WORK/b012 -p math -std -buildid xYPXYwIwvD_1ESwSMttC/xYPXYwIwvD_1ESwSMttC -goversion go1.10 -D "" -importcfg $WORK/b012/importcfg -pack -asmhdr $WORK/b012/go_asm.h -c=4 ./abs.go ./acosh.go ./asin.go ./asinh.go ./atan.go ./atan2.go ./atanh.go ./bits.go ./cbrt.go ./const.go ./copysign.go ./dim.go ./erf.go ./erfinv.go ./exp.go ./exp_asm.go ./expm1.go ./floor.go ./floor_asm.go ./frexp.go ./gamma.go ./hypot.go ./j0.go ./j1.go ./jn.go ./ldexp.go ./lgamma.go ./log.go ./log10.go ./log1p.go ./logb.go ./mod.go ./modf.go ./nextafter.go ./pow.go ./pow10.go ./remainder.go ./signbit.go ./sin.go ./sincos.go ./sinh.go ./sqrt.go ./tan.go ./tanh.go ./unsafe.go
/home/dma2/go1.10/pkg/tool/linux_amd64/buildid -w $WORK/b018/_pkg_.a # internal
cp $WORK/b018/_pkg_.a /root/.cache/go-build/5c/5c349c85def95ac9800735cf4ebe5ca9592a599ac9d77eb00ff22d6471860947-d # internal
/home/dma2/go1.10/pkg/tool/linux_amd64/asm -trimpath $WORK/b012 -I $WORK/b012/ -I /home/dma2/go1.10/pkg/include -D GOOS_linux -D GOARCH_amd64 -o $WORK/b012/asin_amd64.o ./asin_amd64.s
/home/dma2/go1.10/pkg/tool/linux_amd64/asm -trimpath $WORK/b012 -I $WORK/b012/ -I /home/dma2/go1.10/pkg/include -D GOOS_linux -D GOARCH_amd64 -o $WORK/b012/asinh_stub.o ./asinh_stub.s
/home/dma2/go1.10/pkg/tool/linux_amd64/asm -trimpath $WORK/b012 -I $WORK/b012/ -I /home/dma2/go1.10/pkg/include -D GOOS_linux -D GOARCH_amd64 -o $WORK/b012/atan2_amd64.o ./atan2_amd64.s
/home/dma2/go1.10/pkg/tool/linux_amd64/asm -trimpath $WORK/b012 -I $WORK/b012/ -I /home/dma2/go1.10/pkg/include -D GOOS_linux -D GOARCH_amd64 -o $WORK/b012/atan_amd64.o ./atan_amd64.s
/home/dma2/go1.10/pkg/tool/linux_amd64/buildid -w $WORK/b022/_pkg_.a # internal
/home/dma2/go1.10/pkg/tool/linux_amd64/asm -trimpath $WORK/b012 -I $WORK/b012/ -I /home/dma2/go1.10/pkg/include -D GOOS_linux -D GOARCH_amd64 -o $WORK/b012/cbrt_stub.o ./cbrt_stub.s
/home/dma2/go1.10/pkg/tool/linux_amd64/asm -trimpath $WORK/b012 -I $WORK/b012/ -I /home/dma2/go1.10/pkg/include -D GOOS_linux -D GOARCH_amd64 -o $WORK/b012/dim_amd64.o ./dim_amd64.s
/home/dma2/go1.10/pkg/tool/linux_amd64/asm -trimpath $WORK/b012 -I $WORK/b012/ -I /home/dma2/go1.10/pkg/include -D GOOS_linux -D GOARCH_amd64 -o $WORK/b012/erf_stub.o ./erf_stub.s
cp $WORK/b022/_pkg_.a /root/.cache/go-build/69/69ad2de9b837f08b32cf1dff92a9e21b5b70f5fec007edfc612cf3053f8b7c59-d # internal
/home/dma2/go1.10/pkg/tool/linux_amd64/asm -trimpath $WORK/b012 -I $WORK/b012/ -I /home/dma2/go1.10/pkg/include -D GOOS_linux -D GOARCH_amd64 -o $WORK/b012/exp2_amd64.o ./exp2_amd64.s
/home/dma2/go1.10/pkg/tool/linux_amd64/asm -trimpath $WORK/b012 -I $WORK/b012/ -I /home/dma2/go1.10/pkg/include -D GOOS_linux -D GOARCH_amd64 -o $WORK/b012/exp_amd64.o ./exp_amd64.s
/home/dma2/go1.10/pkg/tool/linux_amd64/asm -trimpath $WORK/b012 -I $WORK/b012/ -I /home/dma2/go1.10/pkg/include -D GOOS_linux -D GOARCH_amd64 -o $WORK/b012/expm1_amd64.o ./expm1_amd64.s
/home/dma2/go1.10/pkg/tool/linux_amd64/asm -trimpath $WORK/b012 -I $WORK/b012/ -I /home/dma2/go1.10/pkg/include -D GOOS_linux -D GOARCH_amd64 -o $WORK/b012/floor_amd64.o ./floor_amd64.s
/home/dma2/go1.10/pkg/tool/linux_amd64/asm -trimpath $WORK/b012 -I $WORK/b012/ -I /home/dma2/go1.10/pkg/include -D GOOS_linux -D GOARCH_amd64 -o $WORK/b012/frexp_amd64.o ./frexp_amd64.s
/home/dma2/go1.10/pkg/tool/linux_amd64/asm -trimpath $WORK/b012 -I $WORK/b012/ -I /home/dma2/go1.10/pkg/include -D GOOS_linux -D GOARCH_amd64 -o $WORK/b012/hypot_amd64.o ./hypot_amd64.s
/home/dma2/go1.10/pkg/tool/linux_amd64/asm -trimpath $WORK/b012 -I $WORK/b012/ -I /home/dma2/go1.10/pkg/include -D GOOS_linux -D GOARCH_amd64 -o $WORK/b012/ldexp_amd64.o ./ldexp_amd64.s
/home/dma2/go1.10/pkg/tool/linux_amd64/asm -trimpath $WORK/b012 -I $WORK/b012/ -I /home/dma2/go1.10/pkg/include -D GOOS_linux -D GOARCH_amd64 -o $WORK/b012/log10_amd64.o ./log10_amd64.s
/home/dma2/go1.10/pkg/tool/linux_amd64/asm -trimpath $WORK/b012 -I $WORK/b012/ -I /home/dma2/go1.10/pkg/include -D GOOS_linux -D GOARCH_amd64 -o $WORK/b012/log1p_amd64.o ./log1p_amd64.s
/home/dma2/go1.10/pkg/tool/linux_amd64/asm -trimpath $WORK/b012 -I $WORK/b012/ -I /home/dma2/go1.10/pkg/include -D GOOS_linux -D GOARCH_amd64 -o $WORK/b012/log_amd64.o ./log_amd64.s
/home/dma2/go1.10/pkg/tool/linux_amd64/asm -trimpath $WORK/b012 -I $WORK/b012/ -I /home/dma2/go1.10/pkg/include -D GOOS_linux -D GOARCH_amd64 -o $WORK/b012/mod_amd64.o ./mod_amd64.s
/home/dma2/go1.10/pkg/tool/linux_amd64/asm -trimpath $WORK/b012 -I $WORK/b012/ -I /home/dma2/go1.10/pkg/include -D GOOS_linux -D GOARCH_amd64 -o $WORK/b012/modf_amd64.o ./modf_amd64.s
/home/dma2/go1.10/pkg/tool/linux_amd64/asm -trimpath $WORK/b012 -I $WORK/b012/ -I /home/dma2/go1.10/pkg/include -D GOOS_linux -D GOARCH_amd64 -o $WORK/b012/pow_stub.o ./pow_stub.s
/home/dma2/go1.10/pkg/tool/linux_amd64/asm -trimpath $WORK/b012 -I $WORK/b012/ -I /home/dma2/go1.10/pkg/include -D GOOS_linux -D GOARCH_amd64 -o $WORK/b012/remainder_amd64.o ./remainder_amd64.s
/home/dma2/go1.10/pkg/tool/linux_amd64/asm -trimpath $WORK/b012 -I $WORK/b012/ -I /home/dma2/go1.10/pkg/include -D GOOS_linux -D GOARCH_amd64 -o $WORK/b012/sin_amd64.o ./sin_amd64.s
/home/dma2/go1.10/pkg/tool/linux_amd64/asm -trimpath $WORK/b012 -I $WORK/b012/ -I /home/dma2/go1.10/pkg/include -D GOOS_linux -D GOARCH_amd64 -o $WORK/b012/sinh_stub.o ./sinh_stub.s
/home/dma2/go1.10/pkg/tool/linux_amd64/asm -trimpath $WORK/b012 -I $WORK/b012/ -I /home/dma2/go1.10/pkg/include -D GOOS_linux -D GOARCH_amd64 -o $WORK/b012/sqrt_amd64.o ./sqrt_amd64.s
/home/dma2/go1.10/pkg/tool/linux_amd64/asm -trimpath $WORK/b012 -I $WORK/b012/ -I /home/dma2/go1.10/pkg/include -D GOOS_linux -D GOARCH_amd64 -o $WORK/b012/tan_amd64.o ./tan_amd64.s
/home/dma2/go1.10/pkg/tool/linux_amd64/pack r $WORK/b012/_pkg_.a $WORK/b012/asin_amd64.o $WORK/b012/asinh_stub.o $WORK/b012/atan2_amd64.o $WORK/b012/atan_amd64.o $WORK/b012/cbrt_stub.o $WORK/b012/dim_amd64.o $WORK/b012/erf_stub.o $WORK/b012/exp2_amd64.o $WORK/b012/exp_amd64.o $WORK/b012/expm1_amd64.o $WORK/b012/floor_amd64.o $WORK/b012/frexp_amd64.o $WORK/b012/hypot_amd64.o $WORK/b012/ldexp_amd64.o $WORK/b012/log10_amd64.o $WORK/b012/log1p_amd64.o $WORK/b012/log_amd64.o $WORK/b012/mod_amd64.o $WORK/b012/modf_amd64.o $WORK/b012/pow_stub.o $WORK/b012/remainder_amd64.o $WORK/b012/sin_amd64.o $WORK/b012/sinh_stub.o $WORK/b012/sqrt_amd64.o $WORK/b012/tan_amd64.o # internal
/home/dma2/go1.10/pkg/tool/linux_amd64/buildid -w $WORK/b012/_pkg_.a # internal
cp $WORK/b012/_pkg_.a /root/.cache/go-build/d7/d75d3a4a68fe02777cb7e2b2637122b2cbbc411f9975e34b78c0bee25a8d3d5d-d # internal




strconv
mkdir -p $WORK/b020/
cat >$WORK/b020/importcfg << 'EOF' # internal
# import config
packagefile errors=$WORK/b003/_pkg_.a
packagefile math=$WORK/b012/_pkg_.a
packagefile unicode/utf8=$WORK/b021/_pkg_.a
EOF
cd /home/dma2/go1.10/src/strconv
/home/dma2/go1.10/pkg/tool/linux_amd64/compile -o $WORK/b020/_pkg_.a -trimpath $WORK/b020 -p strconv -std -complete -buildid VEPCAMie-I30hmGEpE6l/VEPCAMie-I30hmGEpE6l -goversion go1.10 -D "" -importcfg $WORK/b020/importcfg -pack -c=4 ./atob.go ./atof.go ./atoi.go ./decimal.go ./doc.go ./extfloat.go ./ftoa.go ./isprint.go ./itoa.go ./quote.go
/home/dma2/go1.10/pkg/tool/linux_amd64/buildid -w $WORK/b020/_pkg_.a # internal
cp $WORK/b020/_pkg_.a /root/.cache/go-build/6d/6d8b2f46f76d7a404def47b4a9ccf2dce327d054f140e235fbf2e73130cc9501-d # internal
cd /home/dma2/go1.10/src/runtime
/home/dma2/go1.10/pkg/tool/linux_amd64/asm -trimpath $WORK/b008 -I $WORK/b008/ -I /home/dma2/go1.10/pkg/include -D GOOS_linux -D GOARCH_amd64 -o $WORK/b008/asm.o ./asm.s
/home/dma2/go1.10/pkg/tool/linux_amd64/asm -trimpath $WORK/b008 -I $WORK/b008/ -I /home/dma2/go1.10/pkg/include -D GOOS_linux -D GOARCH_amd64 -o $WORK/b008/asm_amd64.o ./asm_amd64.s
/home/dma2/go1.10/pkg/tool/linux_amd64/asm -trimpath $WORK/b008 -I $WORK/b008/ -I /home/dma2/go1.10/pkg/include -D GOOS_linux -D GOARCH_amd64 -o $WORK/b008/duff_amd64.o ./duff_amd64.s
/home/dma2/go1.10/pkg/tool/linux_amd64/asm -trimpath $WORK/b008 -I $WORK/b008/ -I /home/dma2/go1.10/pkg/include -D GOOS_linux -D GOARCH_amd64 -o $WORK/b008/memclr_amd64.o ./memclr_amd64.s
/home/dma2/go1.10/pkg/tool/linux_amd64/asm -trimpath $WORK/b008 -I $WORK/b008/ -I /home/dma2/go1.10/pkg/include -D GOOS_linux -D GOARCH_amd64 -o $WORK/b008/memmove_amd64.o ./memmove_amd64.s
/home/dma2/go1.10/pkg/tool/linux_amd64/asm -trimpath $WORK/b008 -I $WORK/b008/ -I /home/dma2/go1.10/pkg/include -D GOOS_linux -D GOARCH_amd64 -o $WORK/b008/rt0_linux_amd64.o ./rt0_linux_amd64.s
/home/dma2/go1.10/pkg/tool/linux_amd64/asm -trimpath $WORK/b008 -I $WORK/b008/ -I /home/dma2/go1.10/pkg/include -D GOOS_linux -D GOARCH_amd64 -o $WORK/b008/sys_linux_amd64.o ./sys_linux_amd64.s
/home/dma2/go1.10/pkg/tool/linux_amd64/pack r $WORK/b008/_pkg_.a $WORK/b008/asm.o $WORK/b008/asm_amd64.o $WORK/b008/duff_amd64.o $WORK/b008/memclr_amd64.o $WORK/b008/memmove_amd64.o $WORK/b008/rt0_linux_amd64.o $WORK/b008/sys_linux_amd64.o # internal
/home/dma2/go1.10/pkg/tool/linux_amd64/buildid -w $WORK/b008/_pkg_.a # internal
cp $WORK/b008/_pkg_.a /root/.cache/go-build/36/36fe4abe808dcad3613062cb135d8ea0f7e960aee73f0b88de7c8210afc72050-d # internal



sync
mkdir -p $WORK/b005/
cat >$WORK/b005/importcfg << 'EOF' # internal
# import config
packagefile internal/race=$WORK/b006/_pkg_.a
packagefile runtime=$WORK/b008/_pkg_.a
packagefile sync/atomic=$WORK/b011/_pkg_.a
EOF
cd /home/dma2/go1.10/src/sync
/home/dma2/go1.10/pkg/tool/linux_amd64/compile -o $WORK/b005/_pkg_.a -trimpath $WORK/b005 -p sync -std -buildid 6rK_GiryAilf1y6HNotU/6rK_GiryAilf1y6HNotU -goversion go1.10 -D "" -importcfg $WORK/b005/importcfg -pack -c=4 ./cond.go ./map.go ./mutex.go ./once.go ./pool.go ./runtime.go ./rwmutex.go ./waitgroup.go
/home/dma2/go1.10/pkg/tool/linux_amd64/buildid -w $WORK/b005/_pkg_.a # internal
cp $WORK/b005/_pkg_.a /root/.cache/go-build/59/5968dba292f9b3a6f86b713fc3ea64858705e933bb805df725d0cae06d839f3e-d # internal





io
mkdir -p $WORK/b004/
cat >$WORK/b004/importcfg << 'EOF' # internal
# import config
packagefile errors=$WORK/b003/_pkg_.a
packagefile sync=$WORK/b005/_pkg_.a
packagefile sync/atomic=$WORK/b011/_pkg_.a
EOF
cd /home/dma2/go1.10/src/io
/home/dma2/go1.10/pkg/tool/linux_amd64/compile -o $WORK/b004/_pkg_.a -trimpath $WORK/b004 -p io -std -complete -buildid ZEb6G3tqjomc-La9rv-I/ZEb6G3tqjomc-La9rv-I -goversion go1.10 -D "" -importcfg $WORK/b004/importcfg -pack -c=4 ./io.go ./multi.go ./pipe.go





reflect
mkdir -p $WORK/b019/
cat >$WORK/b019/importcfg << 'EOF' # internal
# import config
packagefile math=$WORK/b012/_pkg_.a
packagefile runtime=$WORK/b008/_pkg_.a
packagefile strconv=$WORK/b020/_pkg_.a
packagefile sync=$WORK/b005/_pkg_.a
packagefile unicode=$WORK/b022/_pkg_.a
packagefile unicode/utf8=$WORK/b021/_pkg_.a
EOF
cd /home/dma2/go1.10/src/reflect
/home/dma2/go1.10/pkg/tool/linux_amd64/compile -o $WORK/b019/_pkg_.a -trimpath $WORK/b019 -p reflect -std -buildid FDbFhNEp0F4xja4WImtA/FDbFhNEp0F4xja4WImtA -goversion go1.10 -D "" -importcfg $WORK/b019/importcfg -pack -asmhdr $WORK/b019/go_asm.h -c=4 ./deepequal.go ./makefunc.go ./swapper.go ./type.go ./value.go




syscall
mkdir -p $WORK/b016/
cat >$WORK/b016/importcfg << 'EOF' # internal
# import config
packagefile internal/race=$WORK/b006/_pkg_.a
packagefile runtime=$WORK/b008/_pkg_.a
packagefile sync=$WORK/b005/_pkg_.a
EOF
cd /home/dma2/go1.10/src/syscall
/home/dma2/go1.10/pkg/tool/linux_amd64/compile -o $WORK/b016/_pkg_.a -trimpath $WORK/b016 -p syscall -std -buildid SUkWfTm4q9vXwU1DD8Ev/SUkWfTm4q9vXwU1DD8Ev -goversion go1.10 -D "" -importcfg $WORK/b016/importcfg -pack -asmhdr $WORK/b016/go_asm.h -c=4 ./dirent.go ./endian_little.go ./env_unix.go ./exec_linux.go ./exec_unix.go ./flock.go ./lsf_linux.go ./msan0.go ./net.go ./netlink_linux.go ./setuidgid_linux.go ./sockcmsg_linux.go ./sockcmsg_unix.go ./str.go ./syscall.go ./syscall_linux.go ./syscall_linux_amd64.go ./syscall_unix.go ./timestruct.go ./zerrors_linux_amd64.go ./zsyscall_linux_amd64.go ./zsysnum_linux_amd64.go ./ztypes_linux_amd64.go
/home/dma2/go1.10/pkg/tool/linux_amd64/buildid -w $WORK/b004/_pkg_.a # internal
cp $WORK/b004/_pkg_.a /root/.cache/go-build/56/5653059955aaf8e7d732e073db7294a3dfcec4de5ae2956f0740e030b7a24614-d # internal





bytes
mkdir -p $WORK/b026/
cat >$WORK/b026/importcfg << 'EOF' # internal
# import config
packagefile errors=$WORK/b003/_pkg_.a
packagefile internal/cpu=$WORK/b013/_pkg_.a
packagefile io=$WORK/b004/_pkg_.a
packagefile unicode=$WORK/b022/_pkg_.a
packagefile unicode/utf8=$WORK/b021/_pkg_.a
EOF
cd /home/dma2/go1.10/src/bytes
/home/dma2/go1.10/pkg/tool/linux_amd64/compile -o $WORK/b026/_pkg_.a -trimpath $WORK/b026 -p bytes -std -buildid EqlyQL21ZsyKWNix7LUf/EqlyQL21ZsyKWNix7LUf -goversion go1.10 -D "" -importcfg $WORK/b026/importcfg -pack -c=4 ./buffer.go ./bytes.go ./bytes_amd64.go ./bytes_decl.go ./reader.go






strings
mkdir -p $WORK/b029/
cat >$WORK/b029/importcfg << 'EOF' # internal
# import config
packagefile errors=$WORK/b003/_pkg_.a
packagefile internal/cpu=$WORK/b013/_pkg_.a
packagefile io=$WORK/b004/_pkg_.a
packagefile unicode=$WORK/b022/_pkg_.a
packagefile unicode/utf8=$WORK/b021/_pkg_.a
EOF
cd /home/dma2/go1.10/src/strings
/home/dma2/go1.10/pkg/tool/linux_amd64/compile -o $WORK/b029/_pkg_.a -trimpath $WORK/b029 -p strings -std -buildid xm1WEfZQBXLlHkOD5r2o/xm1WEfZQBXLlHkOD5r2o -goversion go1.10 -D "" -importcfg $WORK/b029/importcfg -pack -asmhdr $WORK/b029/go_asm.h -c=4 ./builder.go ./compare.go ./reader.go ./replace.go ./search.go ./strings.go ./strings_amd64.go ./strings_decl.go
/home/dma2/go1.10/pkg/tool/linux_amd64/buildid -w $WORK/b026/_pkg_.a # internal
cp $WORK/b026/_pkg_.a /root/.cache/go-build/c9/c99a9b81207daa27ddf60fcc3c113ed162b381c9b2224e203b28c0d18402bc95-d # internal
/home/dma2/go1.10/pkg/tool/linux_amd64/asm -trimpath $WORK/b029 -I $WORK/b029/ -I /home/dma2/go1.10/pkg/include -D GOOS_linux -D GOARCH_amd64 -o $WORK/b029/strings.o ./strings.s
/home/dma2/go1.10/pkg/tool/linux_amd64/pack r $WORK/b029/_pkg_.a $WORK/b029/strings.o # internal
/home/dma2/go1.10/pkg/tool/linux_amd64/buildid -w $WORK/b029/_pkg_.a # internal
cp $WORK/b029/_pkg_.a /root/.cache/go-build/f1/f1ec81d87e659b0b1b88ade9aa600bf86a2d09e3edf947b72fd9fda0d04f374d-d # internal
cd /home/dma2/go1.10/src/syscall
/home/dma2/go1.10/pkg/tool/linux_amd64/asm -trimpath $WORK/b016 -I $WORK/b016/ -I /home/dma2/go1.10/pkg/include -D GOOS_linux -D GOARCH_amd64 -o $WORK/b016/asm_linux_amd64.o ./asm_linux_amd64.s
/home/dma2/go1.10/pkg/tool/linux_amd64/pack r $WORK/b016/_pkg_.a $WORK/b016/asm_linux_amd64.o # internal
/home/dma2/go1.10/pkg/tool/linux_amd64/buildid -w $WORK/b016/_pkg_.a # internal
cp $WORK/b016/_pkg_.a /root/.cache/go-build/9d/9dcc8b247537307ba021c83e19c9bb8d40c348d97d9ab6f0bfd29bc0123c01c8-d # internal





time
mkdir -p $WORK/b017/
cat >$WORK/b017/importcfg << 'EOF' # internal
# import config
packagefile errors=$WORK/b003/_pkg_.a
packagefile runtime=$WORK/b008/_pkg_.a
packagefile sync=$WORK/b005/_pkg_.a
packagefile syscall=$WORK/b016/_pkg_.a
EOF
cd /home/dma2/go1.10/src/time
/home/dma2/go1.10/pkg/tool/linux_amd64/compile -o $WORK/b017/_pkg_.a -trimpath $WORK/b017 -p time -std -buildid GW5OgvtxF6p7hEEfo8nl/GW5OgvtxF6p7hEEfo8nl -goversion go1.10 -D "" -importcfg $WORK/b017/importcfg -pack -c=4 ./format.go ./sleep.go ./sys_unix.go ./tick.go ./time.go ./zoneinfo.go ./zoneinfo_read.go ./zoneinfo_unix.go
/home/dma2/go1.10/pkg/tool/linux_amd64/buildid -w $WORK/b017/_pkg_.a # internal
cp $WORK/b017/_pkg_.a /root/.cache/go-build/91/91845987ecdf0b2e54379847a1ab30fa62ce101043fb0e4afe9ef3710bd96bcf-d # internal






internal/poll
mkdir -p $WORK/b015/
cat >$WORK/b015/importcfg << 'EOF' # internal
# import config
packagefile errors=$WORK/b003/_pkg_.a
packagefile io=$WORK/b004/_pkg_.a
packagefile runtime=$WORK/b008/_pkg_.a
packagefile sync=$WORK/b005/_pkg_.a
packagefile sync/atomic=$WORK/b011/_pkg_.a
packagefile syscall=$WORK/b016/_pkg_.a
packagefile time=$WORK/b017/_pkg_.a
EOF
cd /home/dma2/go1.10/src/internal/poll
/home/dma2/go1.10/pkg/tool/linux_amd64/compile -o $WORK/b015/_pkg_.a -trimpath $WORK/b015 -p internal/poll -std -buildid yFvVvDeW6jYCrmw80Sjb/yFvVvDeW6jYCrmw80Sjb -goversion go1.10 -D "" -importcfg $WORK/b015/importcfg -pack -c=4 ./fd.go ./fd_mutex.go ./fd_poll_runtime.go ./fd_posix.go ./fd_unix.go ./hook_cloexec.go ./hook_unix.go ./sendfile_linux.go ./sock_cloexec.go ./sockopt.go ./sockopt_linux.go ./sockopt_unix.go ./sockoptip.go ./writev.go
/home/dma2/go1.10/pkg/tool/linux_amd64/buildid -w $WORK/b015/_pkg_.a # internal
cp $WORK/b015/_pkg_.a /root/.cache/go-build/44/44f6c2f86bc8dc99f4dbb2d51e4ffab2f8c8d60e041c68c73f9493361a774630-d # internal






os
mkdir -p $WORK/b014/
cat >$WORK/b014/importcfg << 'EOF' # internal
# import config
packagefile errors=$WORK/b003/_pkg_.a
packagefile internal/poll=$WORK/b015/_pkg_.a
packagefile internal/testlog=$WORK/b018/_pkg_.a
packagefile io=$WORK/b004/_pkg_.a
packagefile runtime=$WORK/b008/_pkg_.a
packagefile sync=$WORK/b005/_pkg_.a
packagefile sync/atomic=$WORK/b011/_pkg_.a
packagefile syscall=$WORK/b016/_pkg_.a
packagefile time=$WORK/b017/_pkg_.a
EOF
cd /home/dma2/go1.10/src/os
/home/dma2/go1.10/pkg/tool/linux_amd64/compile -o $WORK/b014/_pkg_.a -trimpath $WORK/b014 -p os -std -buildid MguOrXHkcnA_rtatbv4W/MguOrXHkcnA_rtatbv4W -goversion go1.10 -D "" -importcfg $WORK/b014/importcfg -pack -c=4 ./dir.go ./dir_unix.go ./env.go ./error.go ./error_posix.go ./error_unix.go ./exec.go ./exec_posix.go ./exec_unix.go ./executable.go ./executable_procfs.go ./file.go ./file_posix.go ./file_unix.go ./getwd.go ./path.go ./path_unix.go ./pipe_linux.go ./proc.go ./stat.go ./stat_linux.go ./stat_unix.go ./sticky_notbsd.go ./str.go ./sys.go ./sys_linux.go ./sys_unix.go ./types.go ./types_unix.go ./wait_waitid.go
cd /home/dma2/go1.10/src/reflect
/home/dma2/go1.10/pkg/tool/linux_amd64/asm -trimpath $WORK/b019 -I $WORK/b019/ -I /home/dma2/go1.10/pkg/include -D GOOS_linux -D GOARCH_amd64 -o $WORK/b019/asm_amd64.o ./asm_amd64.s
/home/dma2/go1.10/pkg/tool/linux_amd64/pack r $WORK/b019/_pkg_.a $WORK/b019/asm_amd64.o # internal
/home/dma2/go1.10/pkg/tool/linux_amd64/buildid -w $WORK/b019/_pkg_.a # internal
cp $WORK/b019/_pkg_.a /root/.cache/go-build/f1/f1f9ab2ca99fabfcddfdd7cb2fa35e62103c578d0cd6345c758c9d764d8421cc-d # internal





sort
mkdir -p $WORK/b028/
cat >$WORK/b028/importcfg << 'EOF' # internal
# import config
packagefile reflect=$WORK/b019/_pkg_.a
EOF
cd /home/dma2/go1.10/src/sort
/home/dma2/go1.10/pkg/tool/linux_amd64/compile -o $WORK/b028/_pkg_.a -trimpath $WORK/b028 -p sort -std -complete -buildid g9iiqZbEluc93FiV0dU7/g9iiqZbEluc93FiV0dU7 -goversion go1.10 -D "" -importcfg $WORK/b028/importcfg -pack -c=4 ./search.go ./slice.go ./sort.go ./zfuncversion.go
/home/dma2/go1.10/pkg/tool/linux_amd64/buildid -w $WORK/b028/_pkg_.a # internal
cp $WORK/b028/_pkg_.a /root/.cache/go-build/be/be39f6ace236df82668399d041c2ca7d4adace3a63926c2da67634a9ecd72bb6-d # internal





golang.org/x/text/internal/tag
mkdir -p $WORK/b027/
cat >$WORK/b027/importcfg << 'EOF' # internal
# import config
packagefile sort=$WORK/b028/_pkg_.a
EOF
cd /home/dma2/Code/go/src/v/golang.org/x/[email protected]/internal/tag
/home/dma2/go1.10/pkg/tool/linux_amd64/compile -o $WORK/b027/_pkg_.a -trimpath $WORK/b027 -p golang.org/x/text/internal/tag -complete -buildid uhxsGFTOs2NBVC6fNGg-/uhxsGFTOs2NBVC6fNGg- -goversion go1.10 -D "" -importcfg $WORK/b027/importcfg -pack -c=4 ./tag.go
/home/dma2/go1.10/pkg/tool/linux_amd64/buildid -w $WORK/b027/_pkg_.a # internal
cp $WORK/b027/_pkg_.a /root/.cache/go-build/17/17a708ab716d4c3577c5910fce83a606187fd3b2091067e958687300e58a5d70-d # internal
/home/dma2/go1.10/pkg/tool/linux_amd64/buildid -w $WORK/b014/_pkg_.a # internal
cp $WORK/b014/_pkg_.a /root/.cache/go-build/0c/0c0dfa373a9b71b2034533b7fff12699902dbfbd35ae3bf322e4578aa2bad322-d # internal






fmt
mkdir -p $WORK/b002/
cat >$WORK/b002/importcfg << 'EOF' # internal
# import config
packagefile errors=$WORK/b003/_pkg_.a
packagefile io=$WORK/b004/_pkg_.a
packagefile math=$WORK/b012/_pkg_.a
packagefile os=$WORK/b014/_pkg_.a
packagefile reflect=$WORK/b019/_pkg_.a
packagefile strconv=$WORK/b020/_pkg_.a
packagefile sync=$WORK/b005/_pkg_.a
packagefile unicode/utf8=$WORK/b021/_pkg_.a
EOF
cd /home/dma2/go1.10/src/fmt
/home/dma2/go1.10/pkg/tool/linux_amd64/compile -o $WORK/b002/_pkg_.a -trimpath $WORK/b002 -p fmt -std -complete -buildid Yo8d16OEQpy1RiltESPO/Yo8d16OEQpy1RiltESPO -goversion go1.10 -D "" -importcfg $WORK/b002/importcfg -pack -c=4 ./doc.go ./format.go ./print.go ./scan.go
/home/dma2/go1.10/pkg/tool/linux_amd64/buildid -w $WORK/b002/_pkg_.a # internal
cp $WORK/b002/_pkg_.a /root/.cache/go-build/4e/4ef983ac3813cf656d11945481a4493b38d90be90ee0dc93cc285fa3b7709a21-d # internal








golang.org/x/text/language
mkdir -p $WORK/b025/
cat >$WORK/b025/importcfg << 'EOF' # internal
# import config
packagefile bytes=$WORK/b026/_pkg_.a
packagefile errors=$WORK/b003/_pkg_.a
packagefile fmt=$WORK/b002/_pkg_.a
packagefile golang.org/x/text/internal/tag=$WORK/b027/_pkg_.a
packagefile sort=$WORK/b028/_pkg_.a
packagefile strconv=$WORK/b020/_pkg_.a
packagefile strings=$WORK/b029/_pkg_.a
EOF
cd /home/dma2/Code/go/src/v/golang.org/x/[email protected]/language
/home/dma2/go1.10/pkg/tool/linux_amd64/compile -o $WORK/b025/_pkg_.a -trimpath $WORK/b025 -p golang.org/x/text/language -complete -buildid Tpcfc9MnlM7DJNyWfn4m/Tpcfc9MnlM7DJNyWfn4m -goversion go1.10 -D "" -importcfg $WORK/b025/importcfg -pack -c=4 ./common.go ./coverage.go ./doc.go ./go1_2.go ./index.go ./language.go ./lookup.go ./match.go ./parse.go ./tables.go ./tags.go
/home/dma2/go1.10/pkg/tool/linux_amd64/buildid -w $WORK/b025/_pkg_.a # internal
cp $WORK/b025/_pkg_.a /root/.cache/go-build/cf/cf8dfad2450137dae7a72fb3428b9bba094b3dc2f36aeed453b9ad1abd1e7f20-d # internal





rsc.io/sampler
mkdir -p $WORK/b024/
cat >$WORK/b024/importcfg << 'EOF' # internal
# import config
packagefile golang.org/x/text/language=$WORK/b025/_pkg_.a
packagefile os=$WORK/b014/_pkg_.a
packagefile strings=$WORK/b029/_pkg_.a
EOF
cd /home/dma2/Code/go/src/v/rsc.io/[email protected]
/home/dma2/go1.10/pkg/tool/linux_amd64/compile -o $WORK/b024/_pkg_.a -trimpath $WORK/b024 -p rsc.io/sampler -complete -buildid qj8Umb_OOy9sTkwVLdDN/qj8Umb_OOy9sTkwVLdDN -goversion go1.10 -D "" -importcfg $WORK/b024/importcfg -pack -c=4 ./glass.go ./hello.go ./sampler.go
/home/dma2/go1.10/pkg/tool/linux_amd64/buildid -w $WORK/b024/_pkg_.a # internal
cp $WORK/b024/_pkg_.a /root/.cache/go-build/15/15e0b6e0ab27d90f690cf10aafa6b1f4f4ba02a2e28f35aa75781192dbf10168-d # internal








rsc.io/quote
mkdir -p $WORK/b023/
cat >$WORK/b023/importcfg << 'EOF' # internal
# import config
packagefile rsc.io/sampler=$WORK/b024/_pkg_.a
EOF
cd /home/dma2/Code/go/src/v/rsc.io/[email protected]
/home/dma2/go1.10/pkg/tool/linux_amd64/compile -o $WORK/b023/_pkg_.a -trimpath $WORK/b023 -p rsc.io/quote -complete -buildid BlHewR6M523Cl3XFziDF/BlHewR6M523Cl3XFziDF -goversion go1.10 -D "" -importcfg $WORK/b023/importcfg -pack -c=4 ./quote.go
/home/dma2/go1.10/pkg/tool/linux_amd64/buildid -w $WORK/b023/_pkg_.a # internal
cp $WORK/b023/_pkg_.a /root/.cache/go-build/bd/bd22e8f36c9cf9a726ead1732bf292799e0e41499ef31d154482a286f9f541f1-d # internal





github.com/you/hello
mkdir -p $WORK/b001/
cat >$WORK/b001/_gomod_.go << 'EOF' # internal

        package main
        import _ "unsafe"
        //go:linkname __debug_modinfo__ runtime/debug.modinfo
        var __debug_modinfo__ string
        func init() {
            __debug_modinfo__ = "0w\xaf\f\x92t\b\x02A\xe1\xc1\a\xe6\xd6\x18\xe6path\tgithub.com/you/hello\nmod\tgithub.com/you/hello\t(devel)\t\ndep\tgolang.org/x/text\tv0.0.0-20170915032832-14c0d48ead0c\th1:qgOY6WgZOaTkIIMiVjBQcw93ERBE4m30iBm00nkL0i8=\ndep\trsc.io/quote\tv1.5.2\th1:w5fcysjrx7yqtD/aO+QwRjYZOKnaM9Uh2b40tElTs3Y=\ndep\trsc.io/sampler\tv1.3.0\th1:7uVkIFmeBqHfdjD+gZwtXXI+RODJ2Wc4O7MPEh/QiW4=\n\xf92C1\x86\x18 r\x00\x82B\x10A\x16\xd8\xf2"
        }
    EOF
cat >$WORK/b001/importcfg << 'EOF' # internal
# import config
packagefile fmt=$WORK/b002/_pkg_.a
packagefile rsc.io/quote=$WORK/b023/_pkg_.a
packagefile runtime=$WORK/b008/_pkg_.a
EOF
cd /home/dma2/myvgotests/hello
/home/dma2/go1.10/pkg/tool/linux_amd64/compile -o $WORK/b001/_pkg_.a -trimpath $WORK/b001 -p main -complete -buildid fWARfIDXQ_wslSM7ISbi/fWARfIDXQ_wslSM7ISbi -goversion go1.10 -D "" -importcfg $WORK/b001/importcfg -pack -c=4 ./hello.go $WORK/b001/_gomod_.go
/home/dma2/go1.10/pkg/tool/linux_amd64/buildid -w $WORK/b001/_pkg_.a # internal
cp $WORK/b001/_pkg_.a /root/.cache/go-build/be/be92beb06fac1a62377ec054e617d848240425994503a5ab22cda13c2bf8f1cf-d # internal
cat >$WORK/b001/importcfg.link << 'EOF' # internal
packagefile github.com/you/hello=$WORK/b001/_pkg_.a
packagefile fmt=$WORK/b002/_pkg_.a
packagefile rsc.io/quote=$WORK/b023/_pkg_.a
packagefile runtime=$WORK/b008/_pkg_.a
packagefile errors=$WORK/b003/_pkg_.a
packagefile io=$WORK/b004/_pkg_.a
packagefile math=$WORK/b012/_pkg_.a
packagefile os=$WORK/b014/_pkg_.a
packagefile reflect=$WORK/b019/_pkg_.a
packagefile strconv=$WORK/b020/_pkg_.a
packagefile sync=$WORK/b005/_pkg_.a
packagefile unicode/utf8=$WORK/b021/_pkg_.a
packagefile rsc.io/sampler=$WORK/b024/_pkg_.a
packagefile runtime/internal/atomic=$WORK/b009/_pkg_.a
packagefile runtime/internal/sys=$WORK/b010/_pkg_.a
packagefile sync/atomic=$WORK/b011/_pkg_.a
packagefile internal/cpu=$WORK/b013/_pkg_.a
packagefile internal/poll=$WORK/b015/_pkg_.a
packagefile internal/testlog=$WORK/b018/_pkg_.a
packagefile syscall=$WORK/b016/_pkg_.a
packagefile time=$WORK/b017/_pkg_.a
packagefile unicode=$WORK/b022/_pkg_.a
packagefile internal/race=$WORK/b006/_pkg_.a
packagefile golang.org/x/text/language=$WORK/b025/_pkg_.a
packagefile strings=$WORK/b029/_pkg_.a
packagefile bytes=$WORK/b026/_pkg_.a
packagefile golang.org/x/text/internal/tag=$WORK/b027/_pkg_.a
packagefile sort=$WORK/b028/_pkg_.a
EOF
mkdir -p $WORK/b001/exe/
cd .
/home/dma2/go1.10/pkg/tool/linux_amd64/link -o $WORK/b001/exe/a.out -importcfg $WORK/b001/importcfg.link -buildmode=exe -buildid=aLebBdgcAkucb-zd1Fe5/fWARfIDXQ_wslSM7ISbi/bJplHbd7n1EY_2XkFpA0/aLebBdgcAkucb-zd1Fe5 -extld=clang $WORK/b001/_pkg_.a
/home/dma2/go1.10/pkg/tool/linux_amd64/buildid -w $WORK/b001/exe/a.out # internal
cp $WORK/b001/exe/a.out hello

Compilation finished at Thu Feb 22 15:23:16

At the very end I found a section dedicated to building github.com/you/hello.
What confuses me:
I went to https://github.com/you/hello. It doesn't exist.
I went to $GOPATH/src/github.com/you/hello. It doesn't exist.

The bottom line is why do we need a comment that imports some package that doesn't exist anywhere in order to build successfully?
Are you intending for this package/binary to baptized with the name "github.com/you/hello" although it doesn't exist anywhere? It seems so but it wasn't evident until I the verbose build. Did I understand this correctly? Shouldn't there be some kind of enforcement/helper tool to ensure that github.com/you/hello doesn't exist beforehand and then once built it successfully actually creates/pushes git push origin master/git push origin --tags?

I also noted that the packages imported within hello.go
were fetched and placed within my exported GOPATH.
In this case it's set to /home/dma2/Code/go/.
I'm surprised to imported packages in there. I would have assumed them to fall into the
$WORK directory only. Everything else seems to land only in the $WORK directory.
Did I misunderstand that also?

GOPATH still exists as a concept, even as the env var is removed. All packages lives at a path for the build.

I think this issue should not be closed.

Firstly, is there a smooth transition between go compiled and vgo compiled packages residing within the same GOPATH?

To clarify, I have an exported GOPATH to /home/dma2/Code/go.
Can go compiled and vgo compiled packages/binaries coexist without issue?

If not, vgo fails.
How about implicitly creating a VGO-only GOPATH dir. For example,
if you export GOPATH to /home/dma2/Code/go,
then vgo simply creates a similar path relative to that one. i.e.
VGOPATH to /home/dma2/Code/vgo.
In other words, NEVER THE TWAIN SHALL MEET.

The other implied issue with the commented
// import "github.com/you/hello"
is that for me, I interpreted that line as unimportant and deleted that line.
When I see packages that have been commented out, that means THEY SHOULD NOT BE IMPORTED.
BOTTOM LINE: vgo should not be interpreting comments as importing something unless there is the standard comment prefix such as used by cgo. For example:
// #cgo CFLAGS: -DPNG_DEBUG=1

So in my mind it should have been
// #vgo import "github.com/you/hello"
then I would not have assumed I could simply delete the line.

You don't need the import path comment, you can write the go.mod file manually with the content:

module "github.com/user/repo"

And then it won't need to try to derive the module path at all.

For more information on the package import path, please refer to https://golang.org/pkg/cmd/go/#hdr-Import_path_checking .

https://golang.org/pkg/cmd/go/#hdr-Import_path_checking
is totally unintuitive. I have never used a comment such as this nor do I believe I should.

Now going back to your module line:
module "github.com/user/repo"

I don't believe your explanation clarifies the fact that
the directory "github.com/user/repo" doesn't exist locally in /home/dma/mvgotest/hello, nor does it exist in my GOPATH. That is my issue. It makes no sense to me. It's nowhere to be found. It shouldn't be allowed unless that directory exists locally, but you have to document how to use module and ensure everyone does create this directory beforehand and mention that this line baptizes your current directory as that particular module name.
The vgo tour nor your explanations confirm or clarify this to be the case.
I wouldn't have removed that // import "github.com/you/hello" line if it were intuitive.
BUT it's not.

Was this page helpful?
0 / 5 - 0 ratings