![]() |
Build auf Host-PC oder auf dem Target ? - Printable Version +- nD-enerserve Forums (https://forum.enerserve.eu) +-- Forum: SmartPi (https://forum.enerserve.eu/forumdisplay.php?fid=1) +--- Forum: SmartPi - Deutsch (https://forum.enerserve.eu/forumdisplay.php?fid=3) +--- Thread: Build auf Host-PC oder auf dem Target ? (/showthread.php?tid=1455) |
Build auf Host-PC oder auf dem Target ? - Thomek - 04.07.2023 Hallo zusammen, ich verwende SmartPi 3.0 und möchte für die Integration in meine private Home-Automation Anpassungen am Quell-Code vornehmen und die Binaries dann neu bauen lassen. Das makefile beinhaltet nun explizit keine Information zum Build für ein arm64-Target (Raspbi4). Ich gehe demnach zunächst davon aus, dass das Build auf dem Target selbst durchgeführt werden soll. Nun habe ich das ursprüngliche makefile etwas modifiziert und Go-Env Variablen, GOAS, GOARCH ergänzt. Das scheint prinzipiell zu funktionieren, nur bekomme ich dann offenbar beim Build auf dem PC (amd64) mit dem Paket "github.com/msteinert/pam" ein Problem: VERSION is 431cad8-dirty_2023-07-01_04:15:23 start building smartpiserver... GOARCH=arm64 GOOS=linux go build -o ../bin64/smartpiserver -ldflags="-X main.appVersion=431cad8-dirty_2023-07-01_04:15:23" server/server.go # github.com/nDenerserve/SmartPi/linuxtools linuxtools/user.go:103:16: undefined: pam.StartFunc linuxtools/user.go:103:60: undefined: pam.Style linuxtools/user.go:105:12: undefined: pam.PromptEchoOff linuxtools/user.go:107:12: undefined: pam.PromptEchoOn linuxtools/user.go:107:30: undefined: pam.ErrorMsg linuxtools/user.go:107:44: undefined: pam.TextInfo make: *** [makefile:58: buildsmartpiserver] Fehler 1 Das Paket <libpam0g-dev> als auch der Go-Wrapper ("github.com/msteinert/pam V1.1.0") ist aus meiner Sicht korrekt auf dem PC installiert. Ein <make update-go-deps> habe ich zuvor ebenfalls durchgeführt. Ich würde nun gern, wie gewohnt, auf dem PC coden und anschließend bauen lassen. Habe ich da etwas übersehen ? @Enerserve: Wo / Wie erzeugt ihr eure arm64-Binaries ? Beste Grüße RE: Build auf Host-PC oder auf dem Target ? - jens - 13.07.2023 Hallo Thomek, wir bauen unsere builds auf Raspberry Pis, auf die wir remote per SSH zugreifen. Wir haben einen für 32bit und einen für 64bit. Als wir noch auf dem PC compiliert haben, haben wir extra ein sysroot eingerichtet, wo die Libraries von einem Raspberry Pi reinkopiert wurden. Es muss ja die Prozessorarchitektur stimmen. Folgend Variablen haben wir gesetzt: Code: export GOPATH=/home/jens/share/Produkte/SmartPi Allerdings war die Pflege mit 32bit und 64bit auf Dauer zu aufwendig (wir hätten dann ein 32bit und ein 64bit sysroot pflegen müssen) und wir sind auf die Remotegeschichte umgestiegen. Das von uns aktuell verwendet Makefile Makefile ist dasselbe wie in Github: Code: BINARY_READOUT=smartpireadout Viele Grüße Jens RE: Build auf Host-PC oder auf dem Target ? - Thomek - 16.07.2023 Besten Dank für die Rückmeldung ! Grüße Thomek |