FreeBSD ppc64 and ppc64le aren't supported (yet?)
Hello,
of cause, this is a go-lang issue, so I asked there also: https://github.com/golang/go/issues/59614 Just for info.
AlmaLinux 8 (x86_64) has problems with the 'static' go binary:
[runner@amd64-almalinux-8 ~]$ ./github-act-runner
./github-act-runner: /lib64/libc.so.6: version `GLIBC_2.32' not found (required by ./github-act-runner)
./github-act-runner: /lib64/libc.so.6: version `GLIBC_2.34' not found (required by ./github-act-runner)
There are aware of this: https://github.com/golang/go/issues/58550 (and others) - so maybe an upcoming version will fix this.
AlmaLinux 8 (x86_64) has problems with the 'static' go binary:
[runner@amd64-almalinux-8 ~]$ ./github-act-runner ./github-act-runner: /lib64/libc.so.6: version `GLIBC_2.32' not found (required by ./github-act-runner) ./github-act-runner: /lib64/libc.so.6: version `GLIBC_2.34' not found (required by ./github-act-runner)There are aware of this: golang/go#58550 (and others) - so maybe an upcoming version will fix this.
When build with CGO_ENABLED=0 for linux (https://github.com/ChristopherHX/github-act-runner/commit/10c214d650176d89ae493531ec4a32854e533609) - it will work also on older linux boxes. The binary size is nearly the same.
I have added CGO_ENABLED: 0 as default job env variable, the android cgo step set it to 1 for android ndk.
Seems like golang is playing with default values, with cgo is the binary not 'static' and linked to glibc of ubuntu-latest
I have added
CGO_ENABLED: 0as default job env variable, the android cgo step set it to 1 for android ndk.Seems like golang is playing with default values, with cgo is the binary not 'static' and linked to glibc of
ubuntu-latest
The go env within "Setup go" in this build sets CGO_ENABLED="1" ...
And of cause: ignore the other changes in my commits... I did this just for fast rebuilding...
Could we try to use gccgo for this arch?
Have you tried this alternative go compiler somewehre?
No, I have never used gccgo.
Could we try to use gccgo for this arch?
Does gcc supports go on freebsd/ppc64? I have no such hardware and would have to use full system emulation. I guess you would have to compile gcc with go enabled and hope it works.
Have you tried qemu-user for the runner?
Since I didn't made a c++ runner, is a normal g++/clang++ not enough.
The default gcc package on FreeBSD does not include the gccgo part, so I need to build this myself I think. But in some first try, I would test this on amd64 platform first... when when this works, I would test it on ppc64.
FreeBSD on amd64,ppc64 and ppc64le is build with --enable-languages=c,c++,objc,fortran,jit
I can give you full access to those systems if you want.... (FreeBSD on arm64, ppc64, ppc64le and amd64)
Porting golang to freebsd/ppc64 seems more complicated, and I do not have the time for getting into this.... :(
Since ubuntu-22.04 has a gccgo package.... Seems like gccgo-12 doesn't work with some of the dependencies on linux:
# github.com/klauspost/compress/flate
go1: internal compiler error: in do_get_backend, at go/gofrontend/expressions.cc:13792
0x6cbe2b Array_index_expression::do_get_backend(Translate_context*)
../../src/gcc/go/gofrontend/expressions.cc:13792
0x73c764 Set_and_use_temporary_expression::do_get_backend(Translate_context*)
../../src/gcc/go/gofrontend/expressions.cc:1332
0x73ca08 Slice_info_expression::do_get_backend(Translate_context*)
../../src/gcc/go/gofrontend/expressions.cc:18295
0x73c764 Set_and_use_temporary_expression::do_get_backend(Translate_context*)
../../src/gcc/go/gofrontend/expressions.cc:1332
0x7d203a Temporary_statement::do_get_backend(Translate_context*)
../../src/gcc/go/gofrontend/statements.cc:632
0x78d578 Block::get_backend(Translate_context*)
../../src/gcc/go/gofrontend/gogo.cc:7104
0x7cdf56 If_statement::do_get_backend(Translate_context*)
../../src/gcc/go/gofrontend/statements.cc:3808
0x78d578 Block::get_backend(Translate_context*)
../../src/gcc/go/gofrontend/gogo.cc:7104
0x7ccf20 Block_statement::do_get_backend(Translate_context*)
../../src/gcc/go/gofrontend/statements.cc:2231
0x78d578 Block::get_backend(Translate_context*)
../../src/gcc/go/gofrontend/gogo.cc:7104
0x78e167 Function::build(Gogo*, Named_object*)
../../src/gcc/go/gofrontend/gogo.cc:6639
0x7980a7 Gogo::write_globals()
../../src/gcc/go/gofrontend/gogo.cc:1595
Please submit a full bug report, with preprocessed source (by using -freport-bug).
Please include the complete backtrace with any bug report.
See <file:///usr/share/doc/gcc-12/README.Bugs> for instructions.
# github.com/cloudflare/circl/math/fp25519
../go/pkg/mod/github.com/cloudflare/[email protected]/math/fp25519/fp_amd64.s:3:10: fatal error: textflag.h: Datei oder Verzeichnis nicht gefunden
3 | #include "textflag.h"
| ^~~~~~~~~~~~
compilation terminated.
# github.com/cloudflare/circl/math/fp448
../go/pkg/mod/github.com/cloudflare/[email protected]/math/fp448/fp_amd64.s:3:10: fatal error: textflag.h: Datei oder Verzeichnis nicht gefunden
3 | #include "textflag.h"
| ^~~~~~~~~~~~
compilation terminated.
# github.com/rivo/uniseg
../go/pkg/mod/github.com/rivo/[email protected]/properties.go:137:20: error: expected ‘(’
137 | func propertySearch[E interface{ [3]int | [4]int }](dictionary []E, r rune) (result E) {
| ^
../go/pkg/mod/github.com/rivo/[email protected]/properties.go:137:23: error: expected ‘]’
137 | func propertySearch[E interface{ [3]int | [4]int }](dictionary []E, r rune) (result E) {
| ^
../go/pkg/mod/github.com/rivo/[email protected]/properties.go:137:23: error: expected ‘;’ or newline after top level declaration
../go/pkg/mod/github.com/rivo/[email protected]/properties.go:140:9: error: expected declaration
140 | to := len(dictionary)
| ^
../go/pkg/mod/github.com/rivo/[email protected]/properties.go:141:9: error: expected declaration
141 | for to > from {
| ^
../go/pkg/mod/github.com/rivo/[email protected]/properties.go:143:17: error: expected declaration
143 | cpRange := dictionary[middle]
| ^
../go/pkg/mod/github.com/rivo/[email protected]/properties.go:144:17: error: expected declaration
144 | if int(r) < cpRange[0] {
| ^
../go/pkg/mod/github.com/rivo/[email protected]/properties.go:146:25: error: expected declaration
146 | continue
| ^
../go/pkg/mod/github.com/rivo/[email protected]/properties.go:147:17: error: expected declaration
147 | }
| ^
../go/pkg/mod/github.com/rivo/[email protected]/properties.go:148:17: error: expected declaration
148 | if int(r) > cpRange[1] {
| ^
../go/pkg/mod/github.com/rivo/[email protected]/properties.go:150:25: error: expected declaration
150 | continue
| ^
../go/pkg/mod/github.com/rivo/[email protected]/properties.go:151:17: error: expected declaration
151 | }
| ^
../go/pkg/mod/github.com/rivo/[email protected]/properties.go:152:17: error: expected declaration
152 | return cpRange
| ^
../go/pkg/mod/github.com/rivo/[email protected]/properties.go:153:9: error: expected declaration
153 | }
| ^
../go/pkg/mod/github.com/rivo/[email protected]/properties.go:154:9: error: expected declaration
154 | return
| ^
../go/pkg/mod/github.com/rivo/[email protected]/properties.go:155:1: error: expected declaration
155 | }
| ^
# github.com/klauspost/compress/huff0
go1: internal compiler error: in do_get_backend, at go/gofrontend/types.cc:4246
0x6cf507 Integer_type::do_get_backend(Gogo*)
../../src/gcc/go/gofrontend/types.cc:4246
0x6cf507 Integer_type::do_get_backend(Gogo*)
../../src/gcc/go/gofrontend/types.cc:4242
0x7e22db Type::get_btype_without_hash(Gogo*)
../../src/gcc/go/gofrontend/types.cc:1069
0x7f9d0a Type::get_backend(Gogo*)
../../src/gcc/go/gofrontend/types.cc:1038
0x7494c0 Binary_expression::do_get_backend(Translate_context*)
../../src/gcc/go/gofrontend/expressions.cc:7160
0x75ed15 Array_index_expression::do_get_backend(Translate_context*)
../../src/gcc/go/gofrontend/expressions.cc:13836
0x73c764 Set_and_use_temporary_expression::do_get_backend(Translate_context*)
../../src/gcc/go/gofrontend/expressions.cc:1332
0x73ca08 Slice_info_expression::do_get_backend(Translate_context*)
../../src/gcc/go/gofrontend/expressions.cc:18295
0x73c764 Set_and_use_temporary_expression::do_get_backend(Translate_context*)
../../src/gcc/go/gofrontend/expressions.cc:1332
0x7d203a Temporary_statement::do_get_backend(Translate_context*)
../../src/gcc/go/gofrontend/statements.cc:632
0x78d578 Block::get_backend(Translate_context*)
../../src/gcc/go/gofrontend/gogo.cc:7104
0x7cdf56 If_statement::do_get_backend(Translate_context*)
../../src/gcc/go/gofrontend/statements.cc:3808
0x78d578 Block::get_backend(Translate_context*)
../../src/gcc/go/gofrontend/gogo.cc:7104
0x7ccf20 Block_statement::do_get_backend(Translate_context*)
../../src/gcc/go/gofrontend/statements.cc:2231
0x78d578 Block::get_backend(Translate_context*)
../../src/gcc/go/gofrontend/gogo.cc:7104
0x7ccf20 Block_statement::do_get_backend(Translate_context*)
../../src/gcc/go/gofrontend/statements.cc:2231
0x78d578 Block::get_backend(Translate_context*)
../../src/gcc/go/gofrontend/gogo.cc:7104
0x7ccf20 Block_statement::do_get_backend(Translate_context*)
../../src/gcc/go/gofrontend/statements.cc:2231
0x78d578 Block::get_backend(Translate_context*)
../../src/gcc/go/gofrontend/gogo.cc:7104
0x7ccf20 Block_statement::do_get_backend(Translate_context*)
../../src/gcc/go/gofrontend/statements.cc:2231
Please submit a full bug report, with preprocessed source (by using -freport-bug).
Please include the complete backtrace with any bug report.
See <file:///usr/share/doc/gcc-12/README.Bugs> for instructions.
Cryptic errors
go build -compiler gccgo
Using gccgo directly seems to be require creating a makefile from scatch a lot of import errors.
I read that go 1.18 generics are still unsupported in gccgo, but there is also a different errors.
Tag v0.6.2 is the last tag of this runner, which compiles without nektos/act. (the new websocket dependency breaks gccgo).
This means it is possible to build a smaller runner, which runs commands and connect to github.
Would still require gccgo for freebsd/ppc64.
You can use https://github.com/ChristopherHX/megascaler to test building with gccgo-12. It doesn't reference nektos/act.
Cool, I will try and give feedback