Я использую 64-разрядную версию Linux, и я пытаюсь настроить Go для кросс-компиляции (для Windows, в частности). Для этого here есть замечательный путеводитель. Но когда я пытаюсь запустить вторую команду ниже:Настройка ошибок Go для кросс-компиляции
cd /usr/lib/go/src
sudo GOOS=windows GOARCH=386 CGO_ENABLED=0 ./make.bash --no-clean
я получаю ошибки при попытке построить cmd
пакет. Он говорит use of internal package not allowed
. Это ошибка в главном исходном коде Go? Я вложу полный список ошибок.
# Building packages and commands for host, linux/amd64.
package cmd/cmd/pprof
imports cmd/pprof/internal/driver: use of internal package not allowed
package cmd/cmd/pprof
imports cmd/pprof/internal/fetch: use of internal package not allowed
package cmd/cmd/pprof
imports cmd/pprof/internal/symbolizer: use of internal package not allowed
package cmd/cmd/pprof
imports cmd/pprof/internal/symbolz: use of internal package not allowed
package cmd/cmd/pprof/internal/commands
imports cmd/pprof/internal/report: use of internal package not allowed
package cmd/cmd/pprof/internal/commands
imports cmd/pprof/internal/svg: use of internal package not allowed
package cmd/cmd/pprof/internal/commands
imports cmd/pprof/internal/tempfile: use of internal package not allowed
package cmd/cmd/pprof/internal/driver
imports cmd/pprof/internal/commands: use of internal package not allowed
package cmd/cmd/pprof/internal/driver
imports cmd/pprof/internal/report: use of internal package not allowed
package cmd/cmd/pprof/internal/driver
imports cmd/pprof/internal/tempfile: use of internal package not allowed
package cmd/cmd/pprof/internal/fetch
imports cmd/pprof/internal/plugin: use of internal package not allowed
package cmd/cmd/pprof/internal/fetch
imports cmd/pprof/internal/profile: use of internal package not allowed
package cmd/cmd/pprof/internal/plugin
imports cmd/pprof/internal/profile: use of internal package not allowed
package cmd/cmd/pprof/internal/report
imports cmd/pprof/internal/plugin: use of internal package not allowed
package cmd/cmd/pprof/internal/report
imports cmd/pprof/internal/profile: use of internal package not allowed
package cmd/cmd/pprof/internal/symbolizer
imports cmd/pprof/internal/plugin: use of internal package not allowed
package cmd/cmd/pprof/internal/symbolizer
imports cmd/pprof/internal/profile: use of internal package not allowed
package cmd/cmd/pprof/internal/symbolz
imports cmd/pprof/internal/profile: use of internal package not allowed
Я не могу найти ничего подобного в Google, так что, вероятно, это означает, что я делаю что-то неправильно. Кстати, я использую Arch Linux, и я установил Go
с pacman
, а не из источника.
Невозможно настроить кросс-компиляцию на Arch Linux с помощью Go 1.4? Или есть какое-то обходное решение? – m01
@ m01 не то, что я знаю. Go 1.5 сделает кросс-компиляцию мертвой-простой, хотя: http://stackoverflow.com/a/28829037/6309 и https://github.com/golang/go/wiki/GoTalks#go-in-go, как https://talks.golang.org/2015/gogo.slide#18, используя goos и goarch, представленные в http://stackoverflow.com/a/30068222/6309. – VonC
Ок - звучит как мои варианты: вернитесь к Go 1.3, идите вперед к dev-версии Go 1.5 или дождитесь выхода Go 1.5. Благодаря! – m01