Opened 10 months ago
Last modified 3 months ago
#68700 new defect
go @1.17.13_0 - Legacy Go Compiler Completely Broken on Lion and Mtn Lion
Reported by: | RobK88 | Owned by: | |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.8.1 |
Keywords: | lion moutainlion | Cc: | ci42, herbygillot (Herby Gillot), RobK88, cjones051073 (Chris Jones), tehcog (tehcog) |
Port: | go |
Description
The legacy go
compiler version @1.17.13_0 is completely broken on Lion and Mtn Lion. It will not even build a simple "Hello, World" program.
Here is my simple program saved as hello-world.go
:
package main import "fmt" func main() { fmt.Println("Hello World!") }
When I try to run it using go run hello-world.go
or build it using go build hello-world.go
, the compiler crashes on Lion with a SIGSEGV: segmentation violation
error and on Mtn Lion with a SIGABRT: abort
malloc error.
Below is the error from Lion.
Back in February 2023, I was still able to create and run simple go
programs and simple go
related ports (like totp-cli
version 1.2.5) built and ran just fine. Not anymore. Something has changed.
Here is the error when trying to build a simple "Hello World!" go program on Lion:
rob$ go build /Users/rob/Downloads/hello-world.go fatal error: unexpected signal during runtime execution [signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x7fff8afcdd9f] runtime stack: runtime: unexpected return pc for runtime.sigpanic called from 0x7fff8afcdd9f stack: frame={sp:0x7fff5fbff9e0, fp:0x7fff5fbffa30} stack=[0x7fff5fb80aa0,0x7fff5fbffb10) 0x00007fff5fbff8e0: 0x01007fff5fbff900 0x0000000000000004 0x00007fff5fbff8f0: 0x000000000000001f 0x00007fff8afcdd9f 0x00007fff5fbff900: 0x0000000000000000 0x0000000000000001 0x00007fff5fbff910: 0x00000000040356f1 <runtime.throw+0x0000000000000071> 0x00007fff5fbff9b0 0x00007fff5fbff920: 0x00000000045ab167 0x00007fff5fbff968 0x00007fff5fbff930: 0x00000000040359a8 <runtime.fatalthrow.func1+0x0000000000000048> 0x00000000049a06c0 0x00007fff5fbff940: 0x0000000000000001 0x0000000000000001 0x00007fff5fbff950: 0x00007fff5fbff9b0 0x00000000040356f1 <runtime.throw+0x0000000000000071> 0x00007fff5fbff960: 0x00000000049a06c0 0x00007fff5fbff9a0 0x00007fff5fbff970: 0x0000000004035930 <runtime.fatalthrow+0x0000000000000050> 0x00007fff5fbff980 0x00007fff5fbff980: 0x0000000004035960 <runtime.fatalthrow.func1+0x0000000000000000> 0x00000000049a06c0 0x00007fff5fbff990: 0x00000000040356f1 <runtime.throw+0x0000000000000071> 0x00007fff5fbff9b0 0x00007fff5fbff9a0: 0x00007fff5fbff9d0 0x00000000040356f1 <runtime.throw+0x0000000000000071> 0x00007fff5fbff9b0: 0x00007fff5fbff9b8 0x0000000004035720 <runtime.throw.func1+0x0000000000000000> 0x00007fff5fbff9c0: 0x00000000045b3eef 0x000000000000002a 0x00007fff5fbff9d0: 0x00007fff5fbffa20 0x000000000404b1e9 <runtime.sigpanic+0x0000000000000389> 0x00007fff5fbff9e0: <0x00000000045b3eef 0xffffffffffffffff 0x00007fff5fbff9f0: 0x0000000000736668 0x0000000000000000 0x00007fff5fbffa00: 0xff00000000000000 0x0000000000000000 0x00007fff5fbffa10: 0x0000000000000000 0x0000000004b0a0c0 0x00007fff5fbffa20: 0x00007fff5fbffa40 !0x00007fff8afcdd9f 0x00007fff5fbffa30: >0x0000000004b0a0c0 0x0000000004b09ff0 0x00007fff5fbffa40: 0x00007fff5fbffa70 0x00007fff8afce4cb 0x00007fff5fbffa50: 0x0000000000000000 0x000000c00004e7c0 0x00007fff5fbffa60: 0x000000c0001a5040 0x0000000004d6e904 0x00007fff5fbffa70: 0x00007fff5fbffa90 0x000000000406809f <runtime.syscall+0x000000000000001f> 0x00007fff5fbffa80: 0x000000c00004e7c0 0x0000000004067a0c <runtime.nanotime_trampoline+0x000000000000000c> 0x00007fff5fbffa90: 0x000000c00004e790 0x0000000004065f10 <runtime.asmcgocall+0x0000000000000070> 0x00007fff5fbffaa0: 0x000000000401ab55 <runtime.SetFinalizer.func2+0x0000000000000035> 0x000000c000134420 0x00007fff5fbffab0: 0x00000000045e4f28 0x0000000000000010 0x00007fff5fbffac0: 0x0000000004514760 0x0000000000000898 0x00007fff5fbffad0: 0x000000c0001a5040 0x0000000004064029 <runtime.systemstack+0x0000000000000049> 0x00007fff5fbffae0: 0x0000000000000004 0x0000000004661908 0x00007fff5fbffaf0: 0x00000000049a06c0 0x00007fff5fbffb40 0x00007fff5fbffb00: 0x0000000004063f25 <runtime.mstart+0x0000000000000005> 0x0000000004063edd <runtime.rt0_go+0x000000000000013d> runtime.throw({0x45b3eef, 0xffffffffffffffff}) /opt/local/lib/go/src/runtime/panic.go:1198 +0x71 runtime: unexpected return pc for runtime.sigpanic called from 0x7fff8afcdd9f stack: frame={sp:0x7fff5fbff9e0, fp:0x7fff5fbffa30} stack=[0x7fff5fb80aa0,0x7fff5fbffb10) 0x00007fff5fbff8e0: 0x01007fff5fbff900 0x0000000000000004 0x00007fff5fbff8f0: 0x000000000000001f 0x00007fff8afcdd9f 0x00007fff5fbff900: 0x0000000000000000 0x0000000000000001 0x00007fff5fbff910: 0x00000000040356f1 <runtime.throw+0x0000000000000071> 0x00007fff5fbff9b0 0x00007fff5fbff920: 0x00000000045ab167 0x00007fff5fbff968 0x00007fff5fbff930: 0x00000000040359a8 <runtime.fatalthrow.func1+0x0000000000000048> 0x00000000049a06c0 0x00007fff5fbff940: 0x0000000000000001 0x0000000000000001 0x00007fff5fbff950: 0x00007fff5fbff9b0 0x00000000040356f1 <runtime.throw+0x0000000000000071> 0x00007fff5fbff960: 0x00000000049a06c0 0x00007fff5fbff9a0 0x00007fff5fbff970: 0x0000000004035930 <runtime.fatalthrow+0x0000000000000050> 0x00007fff5fbff980 0x00007fff5fbff980: 0x0000000004035960 <runtime.fatalthrow.func1+0x0000000000000000> 0x00000000049a06c0 0x00007fff5fbff990: 0x00000000040356f1 <runtime.throw+0x0000000000000071> 0x00007fff5fbff9b0 0x00007fff5fbff9a0: 0x00007fff5fbff9d0 0x00000000040356f1 <runtime.throw+0x0000000000000071> 0x00007fff5fbff9b0: 0x00007fff5fbff9b8 0x0000000004035720 <runtime.throw.func1+0x0000000000000000> 0x00007fff5fbff9c0: 0x00000000045b3eef 0x000000000000002a 0x00007fff5fbff9d0: 0x00007fff5fbffa20 0x000000000404b1e9 <runtime.sigpanic+0x0000000000000389> 0x00007fff5fbff9e0: <0x00000000045b3eef 0xffffffffffffffff 0x00007fff5fbff9f0: 0x0000000000736668 0x0000000000000000 0x00007fff5fbffa00: 0xff00000000000000 0x0000000000000000 0x00007fff5fbffa10: 0x0000000000000000 0x0000000004b0a0c0 0x00007fff5fbffa20: 0x00007fff5fbffa40 !0x00007fff8afcdd9f 0x00007fff5fbffa30: >0x0000000004b0a0c0 0x0000000004b09ff0 0x00007fff5fbffa40: 0x00007fff5fbffa70 0x00007fff8afce4cb 0x00007fff5fbffa50: 0x0000000000000000 0x000000c00004e7c0 0x00007fff5fbffa60: 0x000000c0001a5040 0x0000000004d6e904 0x00007fff5fbffa70: 0x00007fff5fbffa90 0x000000000406809f <runtime.syscall+0x000000000000001f> 0x00007fff5fbffa80: 0x000000c00004e7c0 0x0000000004067a0c <runtime.nanotime_trampoline+0x000000000000000c> 0x00007fff5fbffa90: 0x000000c00004e790 0x0000000004065f10 <runtime.asmcgocall+0x0000000000000070> 0x00007fff5fbffaa0: 0x000000000401ab55 <runtime.SetFinalizer.func2+0x0000000000000035> 0x000000c000134420 0x00007fff5fbffab0: 0x00000000045e4f28 0x0000000000000010 0x00007fff5fbffac0: 0x0000000004514760 0x0000000000000898 0x00007fff5fbffad0: 0x000000c0001a5040 0x0000000004064029 <runtime.systemstack+0x0000000000000049> 0x00007fff5fbffae0: 0x0000000000000004 0x0000000004661908 0x00007fff5fbffaf0: 0x00000000049a06c0 0x00007fff5fbffb40 0x00007fff5fbffb00: 0x0000000004063f25 <runtime.mstart+0x0000000000000005> 0x0000000004063edd <runtime.rt0_go+0x000000000000013d> runtime.sigpanic() /opt/local/lib/go/src/runtime/signal_unix.go:719 +0x389 goroutine 19 [syscall]: syscall.syscall(0x407a9a0, 0x4b0a0c0, 0x0, 0x0) /opt/local/lib/go/src/runtime/sys_darwin.go:22 +0x3b fp=0xc00004e7c0 sp=0xc00004e7a0 pc=0x4062b5b syscall.syscall(0xc000152260, 0x19, 0xc0001d2060, 0x0) <autogenerated>:1 +0x26 fp=0xc00004e808 sp=0xc00004e7c0 pc=0x4068866 syscall.closedir(0xc000132088) /opt/local/lib/go/src/syscall/zsyscall_darwin_amd64.go:505 +0x2f fp=0xc00004e838 sp=0xc00004e808 pc=0x4077c6f os.(*dirInfo).close(...) /opt/local/lib/go/src/os/dir_darwin.go:23 os.(*file).close(0xc000134420) /opt/local/lib/go/src/os/file_unix.go:249 +0x52 fp=0xc00004e890 sp=0xc00004e838 pc=0x40d34d2 os.(*File).Close(...) /opt/local/lib/go/src/os/file_posix.go:26 io/ioutil.ReadDir({0xc000152260, 0x19}) /opt/local/lib/go/src/io/ioutil/ioutil.go:64 +0x71 fp=0xc00004e910 sp=0xc00004e890 pc=0x4161c11 cmd/go/internal/fsys.readDir({0xc000152260, 0x4044dd1}) /opt/local/lib/go/src/cmd/go/internal/fsys/fsys.go:246 +0x27 fp=0xc00004e958 sp=0xc00004e910 pc=0x41a7ea7 cmd/go/internal/fsys.ReadDir({0xc000152260, 0x0}) /opt/local/lib/go/src/cmd/go/internal/fsys/fsys.go:270 +0x28e fp=0xc00004ecf8 sp=0xc00004e958 pc=0x41a828e cmd/go/internal/imports.ScanDir({0xc000152260, 0x19}, 0x19) /opt/local/lib/go/src/cmd/go/internal/imports/scan.go:19 +0x45 fp=0xc00004edf0 sp=0xc00004ecf8 pc=0x41c18e5 cmd/go/internal/modload.scanDir({0xc000152260, 0xc000124000}, 0xc00014e228) /opt/local/lib/go/src/cmd/go/internal/modload/load.go:1991 +0x25 fp=0xc00004ee58 sp=0xc00004edf0 pc=0x43d7685 cmd/go/internal/modload.(*loader).load(0xc0001704d0, {0x4676ae0, 0xc000124000}, 0xc000170580) /opt/local/lib/go/src/cmd/go/internal/modload/load.go:1622 +0x565 fp=0xc00004ef30 sp=0xc00004ee58 pc=0x43d4cc5 cmd/go/internal/modload.(*loader).pkg.func1.1() /opt/local/lib/go/src/cmd/go/internal/modload/load.go:1389 +0x29 fp=0xc00004ef60 sp=0xc00004ef30 pc=0x43d3989 cmd/go/internal/par.(*Queue).Add.func1() /opt/local/lib/go/src/cmd/go/internal/par/queue.go:58 +0x7d fp=0xc00004efe0 sp=0xc00004ef60 pc=0x41c4d9d runtime.goexit() /opt/local/lib/go/src/runtime/asm_amd64.s:1581 +0x1 fp=0xc00004efe8 sp=0xc00004efe0 pc=0x4066201 created by cmd/go/internal/par.(*Queue).Add /opt/local/lib/go/src/cmd/go/internal/par/queue.go:56 +0x238 goroutine 1 [chan receive]: cmd/go/internal/modload.loadFromRoots({0x4676ae0, 0xc000124000}, {{{0x0, 0x0}, 0xc0001a3f50, 0x0, {0x0, 0x0}, 0x0, 0x1, ...}, ...}) /opt/local/lib/go/src/cmd/go/internal/modload/load.go:998 +0x6e5 cmd/go/internal/modload.ImportFromFiles({0x4676ae0, 0xc000124000}, {0xc00011e1a0, 0x1, 0x1}) /opt/local/lib/go/src/cmd/go/internal/modload/load.go:635 +0x22e cmd/go/internal/load.GoFilesPackage({0x4676ae0, 0xc000124000}, {0x40, 0x4f, 0x5e}, {0xc00011e1a0, 0x4, 0x1}) /opt/local/lib/go/src/cmd/go/internal/load/pkg.go:2690 +0x21d cmd/go/internal/load.PackagesAndErrors({0x4676ae0, 0xc000124000}, {0x2d, 0x0, 0x0}, {0xc00011e1a0, 0x1, 0x1}) /opt/local/lib/go/src/cmd/go/internal/load/pkg.go:2436 +0xbaa cmd/go/internal/work.runBuild({0x4676ae0, 0xc000124000}, 0xc00014e588, {0xc00011e1a0, 0x1, 0x1}) /opt/local/lib/go/src/cmd/go/internal/work/build.go:371 +0xa5 main.invoke(0x498d5a0, {0xc00011e190, 0x2, 0x2}) /opt/local/lib/go/src/cmd/go/main.go:216 +0x2f6 main.main() /opt/local/lib/go/src/cmd/go/main.go:173 +0x78e
Change History (21)
comment:1 Changed 10 months ago by RobK88
Summary: | go @1.17.13_0 - Go Compiler Completely Broken on Lion and Mtn Lion → go @1.17.13_0 - Legacy Go Compiler Completely Broken on Lion and Mtn Lion |
---|
comment:2 Changed 10 months ago by herbygillot (Herby Gillot)
Cc: | cjones051073 added |
---|
comment:3 Changed 10 months ago by RobK88
The error message is different when trying to compile my simple "Hello, World" program on Mtn Lion using the legacy go
compiler. The error message is SIGABRT: abort
. Below is the full log:
grinch$ go run /Users/grinch/Downloads/hello-world.go go(912,0xb0104000) malloc: *** error for object 0x1000000000000000: pointer being freed was not allocated *** set a breakpoint in malloc_error_break to debug SIGABRT: abort PC=0x7fff8787b212 m=3 sigcode=0 goroutine 0 [idle]: syscall.syscall(0x407a9c0, 0x4b07330, 0x0, 0x0) /opt/local/lib/go/src/runtime/sys_darwin.go:22 +0x3b fp=0xc00004e7c0 sp=0xc00004e7a0 pc=0x4062b7b syscall.syscall(0xc000180040, 0x19, 0xc00018c000, 0x0) <autogenerated>:1 +0x26 fp=0xc00004e808 sp=0xc00004e7c0 pc=0x4068886 syscall.closedir(0xc000184008) /opt/local/lib/go/src/syscall/zsyscall_darwin_amd64.go:505 +0x2f fp=0xc00004e838 sp=0xc00004e808 pc=0x4077c8f os.(*dirInfo).close(...) /opt/local/lib/go/src/os/dir_darwin.go:23 os.(*file).close(0xc000186000) /opt/local/lib/go/src/os/file_unix.go:249 +0x52 fp=0xc00004e890 sp=0xc00004e838 pc=0x40d34f2 os.(*File).Close(...) /opt/local/lib/go/src/os/file_posix.go:26 io/ioutil.ReadDir({0xc000180040, 0x19}) /opt/local/lib/go/src/io/ioutil/ioutil.go:64 +0x71 fp=0xc00004e910 sp=0xc00004e890 pc=0x4161c31 cmd/go/internal/fsys.readDir({0xc000180040, 0x406402e}) /opt/local/lib/go/src/cmd/go/internal/fsys/fsys.go:246 +0x27 fp=0xc00004e958 sp=0xc00004e910 pc=0x41a7ec7 cmd/go/internal/fsys.ReadDir({0xc000180040, 0x0}) /opt/local/lib/go/src/cmd/go/internal/fsys/fsys.go:270 +0x28e fp=0xc00004ecf8 sp=0xc00004e958 pc=0x41a82ae cmd/go/internal/imports.ScanDir({0xc000180040, 0x19}, 0x19) /opt/local/lib/go/src/cmd/go/internal/imports/scan.go:19 +0x45 fp=0xc00004edf0 sp=0xc00004ecf8 pc=0x41c1905 cmd/go/internal/modload.scanDir({0xc000180040, 0xc00002a058}, 0xc0000282d0) /opt/local/lib/go/src/cmd/go/internal/modload/load.go:1991 +0x25 fp=0xc00004ee58 sp=0xc00004edf0 pc=0x43d76a5 cmd/go/internal/modload.(*loader).load(0xc0000be8f0, {0x4676b00, 0xc00002a058}, 0xc0000be9a0) /opt/local/lib/go/src/cmd/go/internal/modload/load.go:1622 +0x565 fp=0xc00004ef30 sp=0xc00004ee58 pc=0x43d4ce5 cmd/go/internal/modload.(*loader).pkg.func1.1() /opt/local/lib/go/src/cmd/go/internal/modload/load.go:1389 +0x29 fp=0xc00004ef60 sp=0xc00004ef30 pc=0x43d39a9 cmd/go/internal/par.(*Queue).Add.func1() /opt/local/lib/go/src/cmd/go/internal/par/queue.go:58 +0x7d fp=0xc00004efe0 sp=0xc00004ef60 pc=0x41c4dbd runtime.goexit() /opt/local/lib/go/src/runtime/asm_amd64.s:1581 +0x1 fp=0xc00004efe8 sp=0xc00004efe0 pc=0x4066221 created by cmd/go/internal/par.(*Queue).Add /opt/local/lib/go/src/cmd/go/internal/par/queue.go:56 +0x238 goroutine 6 [syscall]: syscall.syscall(0x407a9c0, 0x4b07330, 0x0, 0x0) /opt/local/lib/go/src/runtime/sys_darwin.go:22 +0x3b fp=0xc00004e7c0 sp=0xc00004e7a0 pc=0x4062b7b syscall.syscall(0xc000180040, 0x19, 0xc00018c000, 0x0) <autogenerated>:1 +0x26 fp=0xc00004e808 sp=0xc00004e7c0 pc=0x4068886 syscall.closedir(0xc000184008) /opt/local/lib/go/src/syscall/zsyscall_darwin_amd64.go:505 +0x2f fp=0xc00004e838 sp=0xc00004e808 pc=0x4077c8f os.(*dirInfo).close(...) /opt/local/lib/go/src/os/dir_darwin.go:23 os.(*file).close(0xc000186000) /opt/local/lib/go/src/os/file_unix.go:249 +0x52 fp=0xc00004e890 sp=0xc00004e838 pc=0x40d34f2 os.(*File).Close(...) /opt/local/lib/go/src/os/file_posix.go:26 io/ioutil.ReadDir({0xc000180040, 0x19}) /opt/local/lib/go/src/io/ioutil/ioutil.go:64 +0x71 fp=0xc00004e910 sp=0xc00004e890 pc=0x4161c31 cmd/go/internal/fsys.readDir({0xc000180040, 0x406402e}) /opt/local/lib/go/src/cmd/go/internal/fsys/fsys.go:246 +0x27 fp=0xc00004e958 sp=0xc00004e910 pc=0x41a7ec7 cmd/go/internal/fsys.ReadDir({0xc000180040, 0x0}) /opt/local/lib/go/src/cmd/go/internal/fsys/fsys.go:270 +0x28e fp=0xc00004ecf8 sp=0xc00004e958 pc=0x41a82ae cmd/go/internal/imports.ScanDir({0xc000180040, 0x19}, 0x19) /opt/local/lib/go/src/cmd/go/internal/imports/scan.go:19 +0x45 fp=0xc00004edf0 sp=0xc00004ecf8 pc=0x41c1905 cmd/go/internal/modload.scanDir({0xc000180040, 0xc00002a058}, 0xc0000282d0) /opt/local/lib/go/src/cmd/go/internal/modload/load.go:1991 +0x25 fp=0xc00004ee58 sp=0xc00004edf0 pc=0x43d76a5 cmd/go/internal/modload.(*loader).load(0xc0000be8f0, {0x4676b00, 0xc00002a058}, 0xc0000be9a0) /opt/local/lib/go/src/cmd/go/internal/modload/load.go:1622 +0x565 fp=0xc00004ef30 sp=0xc00004ee58 pc=0x43d4ce5 cmd/go/internal/modload.(*loader).pkg.func1.1() /opt/local/lib/go/src/cmd/go/internal/modload/load.go:1389 +0x29 fp=0xc00004ef60 sp=0xc00004ef30 pc=0x43d39a9 cmd/go/internal/par.(*Queue).Add.func1() /opt/local/lib/go/src/cmd/go/internal/par/queue.go:58 +0x7d fp=0xc00004efe0 sp=0xc00004ef60 pc=0x41c4dbd runtime.goexit() /opt/local/lib/go/src/runtime/asm_amd64.s:1581 +0x1 fp=0xc00004efe8 sp=0xc00004efe0 pc=0x4066221 created by cmd/go/internal/par.(*Queue).Add /opt/local/lib/go/src/cmd/go/internal/par/queue.go:56 +0x238 goroutine 1 [chan receive]: cmd/go/internal/modload.loadFromRoots({0x4676b00, 0xc00002a058}, {{{0x0, 0x0}, 0xc0000f1f50, 0x0, {0x0, 0x0}, 0x0, 0x1, ...}, ...}) /opt/local/lib/go/src/cmd/go/internal/modload/load.go:998 +0x6e5 cmd/go/internal/modload.ImportFromFiles({0x4676b00, 0xc00002a058}, {0xc0000201d0, 0x1, 0x1}) /opt/local/lib/go/src/cmd/go/internal/modload/load.go:635 +0x22e cmd/go/internal/load.GoFilesPackage({0x4676b00, 0xc00002a058}, {0xe0, 0x96, 0xc0}, {0xc0000201d0, 0xc000093d08, 0x1}) /opt/local/lib/go/src/cmd/go/internal/load/pkg.go:2690 +0x21d cmd/go/internal/run.runRun({0x4676b00, 0xc00002a058}, 0xc0000285e8, {0xc0000201d0, 0x44, 0x39}) /opt/local/lib/go/src/cmd/go/internal/run/run.go:106 +0xb4d main.invoke(0x498d040, {0xc0000201c0, 0x2, 0x2}) /opt/local/lib/go/src/cmd/go/main.go:216 +0x2f6 main.main() /opt/local/lib/go/src/cmd/go/main.go:173 +0x78e rax 0x0 rbx 0x6 rcx 0xb0103d48 rdx 0x0 rdi 0x1303 rsi 0x6 rbp 0xb0103d70 rsp 0xb0103d48 r8 0x7fff748cb278 r9 0x0 r10 0x20000000 r11 0x206 r12 0x4ab1000 r13 0x4ae1000 r14 0xb0104000 r15 0x1 rip 0x7fff8787b212 rflags 0x206 cs 0x7 fs 0x0 gs 0x0
comment:4 Changed 10 months ago by RobK88
Please note that the go
compiler crashes when you try to compile source code. It does not crash in other situations. See below.
$ go version go version go1.17.13 darwin/amd64
comment:5 Changed 10 months ago by RobK88
Also, please note that go @1.17.13
no longer builds from source on Lion and Mtn Lion. I suspect the problem stems from changes made to the legacy-support
port back in March 2023 with legacy-support @1.0.8
or legacy-support @1.0.10
Changes relating to the clock_gettime
symbol were made in legacy-support @1.0.8
and legacy-support @1.0.10
.
comment:6 Changed 10 months ago by RobK88
I found a bug in the go
port!! I am hoping it will fix the problem with the go@1.17.13
binary.
The legacy_build
flag in the Portfile for go
was not set properly. As a result, the go
port was trying to build go@1.17.13
using the prebuilt binary for go
version 1.17.13 from the developer's website -- https://go.dev/dl/go1.17.13.darwin-amd64.tar.gz. The will fail since the prebuilt binary was never built with the legacy-support
libraries!
When the legacy_build
flag in the Portfile for go
is set properly for legacy MacOS's, the go
port will build go@1.17.13
using the go-1.4
port.
I am building now. I will submit a PR later today.
comment:7 Changed 10 months ago by RobK88
Well fixing the small bug did help. I made progress. But the port build still failed.
In particular, it failed at this stage -- Building Go toolchain2 using go_bootstrap and Go toolchain1
with a SIGSEGV: segmentation violation
error. See below:
Building Go toolchain2 using go_bootstrap and Go toolchain1. run: /opt/local/var/macports/build/_Users_rob_Development_MacPorts_local-repo_lang_go/go/work/go/pkg/tool/darwin_amd64/go_bootstrap install -gcflags=all= -ldflags=all="-extldflags=-Wl,-headerpad_max_install_names -L/opt/local/lib -lMacportsLegacySupport" -v -i cmd/asm cmd/cgo cmd/compile cmd/link fatal error: unexpected signal during runtime execution fatal error: unexpected signal during runtime execution fatal error: unexpected signal during runtime execution [signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x7fff8afcdd9f] runtime stack: runtime: unexpected return pc for runtime.sigpanic called from 0x7fff8afcdd9f stack: frame={sp:0x7fff5fbff140, fp:0x7fff5fbff1a0} stack=[0x7fff5fbef2e8,0x7fff5fbff280) 0x00007fff5fbff040: 0x000000000472c960 0x01000000000003e8 0x00007fff5fbff050: 0x0000000000000004 0x000000000000001f 0x00007fff5fbff060: 0x00007fff8afcdd9f 0x0000000000000000 0x00007fff5fbff070: 0x0000000000000001 0x0000000004483975 0x00007fff5fbff080: 0x00007fff5fbff0c8 0x000000000403973f <runtime.fatalthrow.func1+0x000000000000005f> 0x00007fff5fbff090: 0x000000000472c960 0x0000000004039434 <runtime.throw+0x0000000000000074> 0x00007fff5fbff0a0: 0x00007fff5fbff110 0x0000000000000001 0x00007fff5fbff0b0: 0x00007fff5fbff110 0x0000000004039434 <runtime.throw+0x0000000000000074> 0x00007fff5fbff0c0: 0x000000000472c960 0x00007fff5fbff100 0x00007fff5fbff0d0: 0x00000000040396be <runtime.fatalthrow+0x000000000000005e> 0x00007fff5fbff0e0 0x00007fff5fbff0e0: 0x00000000040396e0 <runtime.fatalthrow.func1+0x0000000000000000> 0x000000000472c960 0x00007fff5fbff0f0: 0x0000000004039434 <runtime.throw+0x0000000000000074> 0x00007fff5fbff110 0x00007fff5fbff100: 0x00007fff5fbff130 0x0000000004039434 <runtime.throw+0x0000000000000074> 0x00007fff5fbff110: 0x00007fff5fbff118 0x0000000004039460 <runtime.throw.func1+0x0000000000000000> 0x00007fff5fbff120: 0x000000000448a1ac 0x000000000000002a 0x00007fff5fbff130: 0x00007fff5fbff190 0x0000000004050fed <runtime.sigpanic+0x000000000000048d> 0x00007fff5fbff140: <0x000000000448a1ac 0x000000000000002a 0x00007fff5fbff150: 0xffffffffff000000 0xffffffffffffffff 0x00007fff5fbff160: 0x0000000000736668 0x0000000000000000 0x00007fff5fbff170: 0xff00000000000000 0x0000000000000000 0x00007fff5fbff180: 0x63614d5f746e656d 0x000000002b7000d0 0x00007fff5fbff190: 0x00007fff5fbff1b0 !0x00007fff8afcdd9f 0x00007fff5fbff1a0: >0x000000002b7000d0 0x000000002b700000 0x00007fff5fbff1b0: 0x00007fff5fbff1e0 0x00007fff8afce4cb 0x00007fff5fbff1c0: 0x2f6372732f6f672f 0x000000c00006c730 0x00007fff5fbff1d0: 0x000000c000122d00 0x000000c000111620 0x00007fff5fbff1e0: 0x00007fff5fbff200 0x000000000406ff7f <runtime.syscall+0x000000000000001f> 0x00007fff5fbff1f0: 0x000000c00006c730 0x00000000048ab0d8 0x00007fff5fbff200: 0x000000c00006c6f8 0x000000000406deb0 <runtime.asmcgocall+0x0000000000000070> 0x00007fff5fbff210: 0x000000000401c236 <runtime.SetFinalizer.func2+0x0000000000000056> 0x000000c0000a8480 0x00007fff5fbff220: 0x00000000044b1210 0x0000000000000010 0x00007fff5fbff230: 0x000000000441d140 0x0000000000000930 0x00007fff5fbff240: 0x000000c000122d00 0x000000c00006c630 0x00007fff5fbff250: 0x000000000406c109 <runtime.systemstack+0x0000000000000049> 0x000000000406bf96 <runtime.rt0_go+0x0000000000000136> 0x00007fff5fbff260: 0x00007fff5fbff2b0 0x00007fff5fbff2b0 0x00007fff5fbff270: 0x000000000406bfe5 <runtime.mstart+0x0000000000000005> 0x000000000406bf9d <runtime.rt0_go+0x000000000000013d> runtime.throw({0x448a1ac, 0x2a}) /opt/local/lib/go/src/runtime/panic.go:1198 +0x74 runtime: unexpected return pc for runtime.sigpanic called from 0x7fff8afcdd9f stack: frame={sp:0x7fff5fbff140, fp:0x7fff5fbff1a0} stack=[0x7fff5fbef2e8,0x7fff5fbff280) 0x00007fff5fbff040: 0x000000000472c960 0x01000000000003e8 0x00007fff5fbff050: 0x0000000000000004 0x000000000000001f 0x00007fff5fbff060: 0x00007fff8afcdd9f 0x0000000000000000 0x00007fff5fbff070: 0x0000000000000001 0x0000000004483975 0x00007fff5fbff080: 0x00007fff5fbff0c8 0x000000000403973f <runtime.fatalthrow.func1+0x000000000000005f> 0x00007fff5fbff090: 0x000000000472c960 0x0000000004039434 <runtime.throw+0x0000000000000074> 0x00007fff5fbff0a0: 0x00007fff5fbff110 0x0000000000000001 0x00007fff5fbff0b0: 0x00007fff5fbff110 0x0000000004039434 <runtime.throw+0x0000000000000074> 0x00007fff5fbff0c0: 0x000000000472c960 0x00007fff5fbff100 0x00007fff5fbff0d0: 0x00000000040396be <runtime.fatalthrow+0x000000000000005e> 0x00007fff5fbff0e0 0x00007fff5fbff0e0: 0x00000000040396e0 <runtime.fatalthrow.func1+0x0000000000000000> 0x000000000472c960 0x00007fff5fbff0f0: 0x0000000004039434 <runtime.throw+0x0000000000000074> 0x00007fff5fbff110 0x00007fff5fbff100: 0x00007fff5fbff130 0x0000000004039434 <runtime.throw+0x0000000000000074> 0x00007fff5fbff110: 0x00007fff5fbff118 0x0000000004039460 <runtime.throw.func1+0x0000000000000000> 0x00007fff5fbff120: 0x000000000448a1ac 0x000000000000002a 0x00007fff5fbff130: 0x00007fff5fbff190 0x0000000004050fed <runtime.sigpanic+0x000000000000048d> 0x00007fff5fbff140: <0x000000000448a1ac 0x000000000000002a 0x00007fff5fbff150: 0xffffffffff000000 0xffffffffffffffff 0x00007fff5fbff160: 0x0000000000736668 0x0000000000000000 0x00007fff5fbff170: 0xff00000000000000 0x0000000000000000 0x00007fff5fbff180: 0x63614d5f746e656d 0x000000002b7000d0 0x00007fff5fbff190: 0x00007fff5fbff1b0 !0x00007fff8afcdd9f 0x00007fff5fbff1a0: >0x000000002b7000d0 0x000000002b700000 0x00007fff5fbff1b0: 0x00007fff5fbff1e0 0x00007fff8afce4cb 0x00007fff5fbff1c0: 0x2f6372732f6f672f 0x000000c00006c730 0x00007fff5fbff1d0: 0x000000c000122d00 0x000000c000111620 0x00007fff5fbff1e0: 0x00007fff5fbff200 0x000000000406ff7f <runtime.syscall+0x000000000000001f> 0x00007fff5fbff1f0: 0x000000c00006c730 0x00000000048ab0d8 0x00007fff5fbff200: 0x000000c00006c6f8 0x000000000406deb0 <runtime.asmcgocall+0x0000000000000070> 0x00007fff5fbff210: 0x000000000401c236 <runtime.SetFinalizer.func2+0x0000000000000056> 0x000000c0000a8480 0x00007fff5fbff220: 0x00000000044b1210 0x0000000000000010 0x00007fff5fbff230: 0x000000000441d140 0x0000000000000930 0x00007fff5fbff240: 0x000000c000122d00 0x000000c00006c630 0x00007fff5fbff250: 0x000000000406c109 <runtime.systemstack+0x0000000000000049> 0x000000000406bf96 <runtime.rt0_go+0x0000000000000136> 0x00007fff5fbff260: 0x00007fff5fbff2b0 0x00007fff5fbff2b0 0x00007fff5fbff270: 0x000000000406bfe5 <runtime.mstart+0x0000000000000005> 0x000000000406bf9d <runtime.rt0_go+0x000000000000013d> runtime.sigpanic() /opt/local/lib/go/src/runtime/signal_unix.go:719 +0x48d goroutine 21 [syscall]: syscall.syscall(0x4082320, 0x2b7000d0, 0x0, 0x0) /opt/local/lib/go/src/runtime/sys_darwin.go:22 +0x2e fp=0xc00006c730 sp=0xc00006c708 pc=0x406ad6e syscall.closedir(0x2b7000d0) /opt/local/lib/go/src/syscall/zsyscall_darwin_amd64.go:505 +0x45 fp=0xc00006c778 sp=0xc00006c730 pc=0x407f5c5 os.(*dirInfo).close(...) /opt/local/lib/go/src/os/dir_darwin.go:23 os.(*file).close(0xc0000a8480) /opt/local/lib/go/src/os/file_unix.go:249 +0x53 fp=0xc00006c7d0 sp=0xc00006c778 pc=0x40e22b3 os.(*File).Close(...) /opt/local/lib/go/src/os/file_posix.go:26 io/ioutil.ReadDir({0xc0000c4230, 0x68}) /opt/local/lib/go/src/io/ioutil/ioutil.go:64 +0xf4 fp=0xc00006c878 sp=0xc00006c7d0 pc=0x4184eb4 cmd/go/internal/fsys.readDir({0xc0000c4230, 0x68}) /opt/local/lib/go/src/cmd/go/internal/fsys/fsys.go:246 +0x39 fp=0xc00006c8d0 sp=0xc00006c878 pc=0x41d48f9 cmd/go/internal/fsys.ReadDir({0xc0000c4230, 0x68}) /opt/local/lib/go/src/cmd/go/internal/fsys/fsys.go:270 +0x39c fp=0xc00006cc68 sp=0xc00006c8d0 pc=0x41d4e9c cmd/go/internal/imports.ScanDir({0xc0000c4230, 0x68}, 0xc000111170) /opt/local/lib/go/src/cmd/go/internal/imports/scan.go:19 +0x50 fp=0xc00006cd80 sp=0xc00006cc68 pc=0x41f11f0 cmd/go/internal/modload.scanDir({0xc0000c4230, 0x68}, 0xc000111170) /opt/local/lib/go/src/cmd/go/internal/modload/load.go:1991 +0x5a fp=0xc00006ce28 sp=0xc00006cd80 pc=0x42c505a cmd/go/internal/modload.(*loader).load(0xc0000de6e0, {0x451ae60, 0xc00009a000}, 0xc0000de9a0) /opt/local/lib/go/src/cmd/go/internal/modload/load.go:1622 +0x6ca fp=0xc00006cf30 sp=0xc00006ce28 pc=0x42c1c4a cmd/go/internal/modload.(*loader).pkg.func1.1() /opt/local/lib/go/src/cmd/go/internal/modload/load.go:1389 +0x45 fp=0xc00006cf60 sp=0xc00006cf30 pc=0x42c0545 cmd/go/internal/par.(*Queue).Add.func1(0xc0000a60a0, 0xc000090ba0) /opt/local/lib/go/src/cmd/go/internal/par/queue.go:58 +0x7c fp=0xc00006cfd0 sp=0xc00006cf60 pc=0x41fe6fc runtime.goexit() /opt/local/lib/go/src/runtime/asm_amd64.s:1581 +0x1 fp=0xc00006cfd8 sp=0xc00006cfd0 pc=0x406e0e1 created by cmd/go/internal/par.(*Queue).Add /opt/local/lib/go/src/cmd/go/internal/par/queue.go:56 +0x25a goroutine 1 [chan receive]: cmd/go/internal/modload.loadFromRoots({0x451ae60, 0xc00009a000}, {{{0x0, 0x0}, 0xc000111170, 0x0, {0x0, 0x0}, 0x0, 0x1, ...}, ...}) /opt/local/lib/go/src/cmd/go/internal/modload/load.go:998 +0x945 cmd/go/internal/modload.LoadPackages({0x451ae60, 0xc00009a000}, {{0x0, 0x0}, 0xc000111170, 0x0, {0x0, 0x0}, 0x0, 0x1, ...}, ...) /opt/local/lib/go/src/cmd/go/internal/modload/load.go:329 +0x378 cmd/go/internal/load.PackagesAndErrors({0x451ae60, 0xc00009a000}, {0x0, 0x0, 0x0}, {0xc0000ac060, 0x4, 0x4}) /opt/local/lib/go/src/cmd/go/internal/load/pkg.go:2448 +0x1f9 cmd/go/internal/work.runInstall({0x451ae60, 0xc00009a000}, 0x471eee0, {0xc0000ac060, 0x4, 0x4}) /opt/local/lib/go/src/cmd/go/internal/work/build.go:591 +0xa5 main.invoke(0x471eee0, {0xc0000ac010, 0x9, 0x9}) /opt/local/lib/go/src/cmd/go/main.go:216 +0x3b1 main.main() /opt/local/lib/go/src/cmd/go/main.go:173 +0x9ea goroutine 18 [syscall]: syscall.syscall(0x4082320, 0x4900760, 0x0, 0x0) /opt/local/lib/go/src/runtime/sys_darwin.go:22 +0x2e fp=0xc00020f730 sp=0xc00020f708 pc=0x406ad6e syscall.closedir(0x4900760) /opt/local/lib/go/src/syscall/zsyscall_darwin_amd64.go:505 +0x45 fp=0xc00020f778 sp=0xc00020f730 pc=0x407f5c5 os.(*dirInfo).close(...) /opt/local/lib/go/src/os/dir_darwin.go:23 os.(*file).close(0xc000206000) /opt/local/lib/go/src/os/file_unix.go:249 +0x53 fp=0xc00020f7d0 sp=0xc00020f778 pc=0x40e22b3 os.(*File).Close(...) /opt/local/lib/go/src/os/file_posix.go:26 io/ioutil.ReadDir({0xc0002000e0, 0x67}) /opt/local/lib/go/src/io/ioutil/ioutil.go:64 +0xf4 fp=0xc00020f878 sp=0xc00020f7d0 pc=0x4184eb4 cmd/go/internal/fsys.readDir({0xc0002000e0, 0x67}) /opt/local/lib/go/src/cmd/go/internal/fsys/fsys.go:246 +0x39 fp=0xc00020f8d0 sp=0xc00020f878 pc=0x41d48f9 cmd/go/internal/fsys.ReadDir({0xc0002000e0, 0x67}) /opt/local/lib/go/src/cmd/go/internal/fsys/fsys.go:270 +0x39c fp=0xc00020fc68 sp=0xc00020f8d0 pc=0x41d4e9c cmd/go/internal/imports.ScanDir({0xc0002000e0, 0x67}, 0xc000111170) /opt/local/lib/go/src/cmd/go/internal/imports/scan.go:19 +0x50 fp=0xc00020fd80 sp=0xc00020fc68 pc=0x41f11f0 cmd/go/internal/modload.scanDir({0xc0002000e0, 0x67}, 0xc000111170) /opt/local/lib/go/src/cmd/go/internal/modload/load.go:1991 +0x5a fp=0xc00020fe28 sp=0xc00020fd80 pc=0x42c505a cmd/go/internal/modload.(*loader).load(0xc0000de6e0, {0x451ae60, 0xc00009a000}, 0xc0000de790) /opt/local/lib/go/src/cmd/go/internal/modload/load.go:1622 +0x6ca fp=0xc00020ff30 sp=0xc00020fe28 pc=0x42c1c4a cmd/go/internal/modload.(*loader).pkg.func1.1() /opt/local/lib/go/src/cmd/go/internal/modload/load.go:1389 +0x45 fp=0xc00020ff60 sp=0xc00020ff30 pc=0x42c0545 cmd/go/internal/par.(*Queue).Add.func1(0xc0000a6068, 0xc000090ba0) /opt/local/lib/go/src/cmd/go/internal/par/queue.go:58 +0x7c fp=0xc00020ffd0 sp=0xc00020ff60 pc=0x41fe6fc created by cmd/go/internal/par.(*Queue).Add /opt/local/lib/go/src/cmd/go/internal/par/queue.go:56 +0x25a goroutine 19 [syscall]: syscall.syscall(0x4082320, 0x2b900110, 0x0, 0x0) /opt/local/lib/go/src/runtime/sys_darwin.go:22 +0x2e fp=0xc00020b730 sp=0xc00020b708 pc=0x406ad6e syscall.closedir(0x2b900110) /opt/local/lib/go/src/syscall/zsyscall_darwin_amd64.go:505 +0x45 fp=0xc00020b778 sp=0xc00020b730 pc=0x407f5c5 os.(*dirInfo).close(...) /opt/local/lib/go/src/os/dir_darwin.go:23 os.(*file).close(0xc000066060) /opt/local/lib/go/src/os/file_unix.go:249 +0x53 fp=0xc00020b7d0 sp=0xc00020b778 pc=0x40e22b3 os.(*File).Close(...) /opt/local/lib/go/src/os/file_posix.go:26 io/ioutil.ReadDir({0xc00002a380, 0x67}) /opt/local/lib/go/src/io/ioutil/ioutil.go:64 +0xf4 fp=0xc00020b878 sp=0xc00020b7d0 pc=0x4184eb4 cmd/go/internal/fsys.readDir({0xc00002a380, 0x67}) /opt/local/lib/go/src/cmd/go/internal/fsys/fsys.go:246 +0x39 fp=0xc00020b8d0 sp=0xc00020b878 pc=0x41d48f9 cmd/go/internal/fsys.ReadDir({0xc00002a380, 0x67}) /opt/local/lib/go/src/cmd/go/internal/fsys/fsys.go:270 +0x39c fp=0xc00020bc68 sp=0xc00020b8d0 pc=0x41d4e9c cmd/go/internal/imports.ScanDir({0xc00002a380, 0x67}, 0xc000111170) /opt/local/lib/go/src/cmd/go/internal/imports/scan.go:19 +0x50 fp=0xc00020bd80 sp=0xc00020bc68 pc=0x41f11f0 cmd/go/internal/modload.scanDir({0xc00002a380, 0x67}, 0xc000111170) /opt/local/lib/go/src/cmd/go/internal/modload/load.go:1991 +0x5a fp=0xc00020be28 sp=0xc00020bd80 pc=0x42c505a cmd/go/internal/modload.(*loader).load(0xc0000de6e0, {0x451ae60, 0xc00009a000}, 0xc0000de840) /opt/local/lib/go/src/cmd/go/internal/modload/load.go:1622 +0x6ca fp=0xc00020bf30 sp=0xc00020be28 pc=0x42c1c4a cmd/go/internal/modload.(*loader).pkg.func1.1() /opt/local/lib/go/src/cmd/go/internal/modload/load.go:1389 +0x45 fp=0xc00020bf60 sp=0xc00020bf30 pc=0x42c0545 cmd/go/internal/par.(*Queue).Add.func1(0xc0000a6080, 0xc000090ba0) /opt/local/lib/go/src/cmd/go/internal/par/queue.go:58 +0x7c fp=0xc00020bfd0 sp=0xc00020bf60 pc=0x41fe6fc created by cmd/go/internal/par.(*Queue).Add /opt/local/lib/go/src/cmd/go/internal/par/queue.go:56 +0x25a goroutine 20 [syscall]: syscall.syscall(0x4082320, 0x2b9000d0, 0x0, 0x0) /opt/local/lib/go/src/runtime/sys_darwin.go:22 +0x2e syscall.closedir(0x2b9000d0) /opt/local/lib/go/src/syscall/zsyscall_darwin_amd64.go:505 +0x45 os.(*dirInfo).close(...) /opt/local/lib/go/src/os/dir_darwin.go:23 os.(*file).close(0xc00018e000) /opt/local/lib/go/src/os/file_unix.go:249 +0x53 os.(*File).Close(...) /opt/local/lib/go/src/os/file_posix.go:26 io/ioutil.ReadDir({0xc0001880e0, 0x6b}) /opt/local/lib/go/src/io/ioutil/ioutil.go:64 +0xf4 cmd/go/internal/fsys.readDir({0xc0001880e0, 0x6b}) /opt/local/lib/go/src/cmd/go/internal/fsys/fsys.go:246 +0x39 cmd/go/internal/fsys.ReadDir({0xc0001880e0, 0x6b}) /opt/local/lib/go/src/cmd/go/internal/fsys/fsys.go:270 +0x39c cmd/go/internal/imports.ScanDir({0xc0001880e0, 0x6b}, 0xc000111170) /opt/local/lib/go/src/cmd/go/internal/imports/scan.go:19 +0x50 cmd/go/internal/modload.scanDir({0xc0001880e0, 0x6b}, 0xc000111170) /opt/local/lib/go/src/cmd/go/internal/modload/load.go:1991 +0x5a cmd/go/internal/modload.(*loader).load(0xc0000de6e0, {0x451ae60, 0xc00009a000}, 0xc0000de8f0) /opt/local/lib/go/src/cmd/go/internal/modload/load.go:1622 +0x6ca cmd/go/internal/modload.(*loader).pkg.func1.1() /opt/local/lib/go/src/cmd/go/internal/modload/load.go:1389 +0x45 cmd/go/internal/par.(*Queue).Add.func1(0xc0000a6090, 0xc000090ba0) /opt/local/lib/go/src/cmd/go/internal/par/queue.go:58 +0x7c created by cmd/go/internal/par.(*Queue).Add /opt/local/lib/go/src/cmd/go/internal/par/queue.go:56 +0x25a [signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x7fff8afcdd9f] runtime stack: runtime: unexpected return pc for runtime.sigpanic called from 0x7fff8afcdd9f stack: frame={sp:0xb0186db0, fp:0xb0186e10} stack=[0xb01072c8,0xb0186ec8) 0x00000000b0186cb0: 0x000000c000000d00 0x01000000000003e8 0x00000000b0186cc0: 0x0000000000000004 0x000000000000001f 0x00000000b0186cd0: 0x00007fff8afcdd9f 0x0000000000000000 0x00000000b0186ce0: 0x0000000000000001 0x0000000004483975 0x00000000b0186cf0: 0x00000000b0186d38 0x000000000403973f <runtime.fatalthrow.func1+0x000000000000005f> 0x00000000b0186d00: 0x000000c000000d00 0x0000000004039434 <runtime.throw+0x0000000000000074> 0x00000000b0186d10: 0x00000000b0186d80 0x0000000000000001 0x00000000b0186d20: 0x00000000b0186d80 0x0000000004039434 <runtime.throw+0x0000000000000074> 0x00000000b0186d30: 0x000000c000000d00 0x00000000b0186d70 0x00000000b0186d40: 0x00000000040396be <runtime.fatalthrow+0x000000000000005e> 0x00000000b0186d50 0x00000000b0186d50: 0x00000000040396e0 <runtime.fatalthrow.func1+0x0000000000000000> 0x000000c000000d00 0x00000000b0186d60: 0x0000000004039434 <runtime.throw+0x0000000000000074> 0x00000000b0186d80 0x00000000b0186d70: 0x00000000b0186da0 0x0000000004039434 <runtime.throw+0x0000000000000074> 0x00000000b0186d80: 0x00000000b0186d88 0x0000000004039460 <runtime.throw.func1+0x0000000000000000> 0x00000000b0186d90: 0x000000000448a1ac 0x000000000000002a 0x00000000b0186da0: 0x00000000b0186e00 0x0000000004050fed <runtime.sigpanic+0x000000000000048d> 0x00000000b0186db0: <0x000000000448a1ac 0x000000000000002a 0x00000000b0186dc0: 0x00000000b0186df0 0x000000000405a408 <runtime.madvise+0x0000000000000028> 0x00000000b0186dd0: 0x000000000406f8c0 <runtime.madvise_trampoline+0x0000000000000000> 0x00000000b0186e00 0x00000000b0186de0: 0x0000000000000000 0x000000c000074000 0x00000000b0186df0: 0x00000000b0186e60 0x000000002b900110 0x00000000b0186e00: 0x00000000b0186e20 !0x00007fff8afcdd9f 0x00000000b0186e10: >0x000000002b900110 0x000000002b800000 0x00000000b0186e20: 0x00000000b0186e50 0x00007fff8afce4cb 0x00000000b0186e30: 0x000000c000074000 0x000000c00020b730 0x00000000b0186e40: 0x000000c0001229c0 0x000000c000074000 0x00000000b0186e50: 0x00000000b0186e70 0x000000000406ff7f <runtime.syscall+0x000000000000001f> 0x00000000b0186e60: 0x000000c00020b730 0x000000000402a5ac <runtime.(*mheap).alloc.func1+0x000000000000008c> 0x00000000b0186e70: 0x000000c00020b6f8 0x000000000406deb0 <runtime.asmcgocall+0x0000000000000070> 0x00000000b0186e80: 0x000000c000060a00 0x00000000048327d0 0x00000000b0186e90: 0x0a00000000000010 0x000000000441d140 0x00000000b0186ea0: 0x000000000441d140 0x0000000000000930 0x00000000b0186eb0: 0x000000c0001229c0 0x000000000406c109 <runtime.systemstack+0x0000000000000049> 0x00000000b0186ec0: 0x0000000000000000 runtime.throw({0x448a1ac, 0x2a}) /opt/local/lib/go/src/runtime/panic.go:1198 +0x74 runtime: unexpected return pc for runtime.sigpanic called from 0x7fff8afcdd9f stack: frame={sp:0xb0186db0, fp:0xb0186e10} stack=[0xb01072c8,0xb0186ec8) 0x00000000b0186cb0: 0x000000c000000d00 0x01000000000003e8 0x00000000b0186cc0: 0x0000000000000004 0x000000000000001f 0x00000000b0186cd0: 0x00007fff8afcdd9f 0x0000000000000000 0x00000000b0186ce0: 0x0000000000000001 0x0000000004483975 0x00000000b0186cf0: 0x00000000b0186d38 0x000000000403973f <runtime.fatalthrow.func1+0x000000000000005f> 0x00000000b0186d00: 0x000000c000000d00 0x0000000004039434 <runtime.throw+0x0000000000000074> 0x00000000b0186d10: 0x00000000b0186d80 0x0000000000000001 0x00000000b0186d20: 0x00000000b0186d80 0x0000000004039434 <runtime.throw+0x0000000000000074> 0x00000000b0186d30: 0x000000c000000d00 0x00000000b0186d70 0x00000000b0186d40: 0x00000000040396be <runtime.fatalthrow+0x000000000000005e> 0x00000000b0186d50 0x00000000b0186d50: 0x00000000040396e0 <runtime.fatalthrow.func1+0x0000000000000000> 0x000000c000000d00 0x00000000b0186d60: 0x0000000004039434 <runtime.throw+0x0000000000000074> 0x00000000b0186d80 0x00000000b0186d70: 0x00000000b0186da0 0x0000000004039434 <runtime.throw+0x0000000000000074> 0x00000000b0186d80: 0x00000000b0186d88 0x0000000004039460 <runtime.throw.func1+0x0000000000000000> 0x00000000b0186d90: 0x000000000448a1ac 0x000000000000002a 0x00000000b0186da0: 0x00000000b0186e00 0x0000000004050fed <runtime.sigpanic+0x000000000000048d> 0x00000000b0186db0: <0x000000000448a1ac 0x000000000000002a 0x00000000b0186dc0: 0x00000000b0186df0 0x000000000405a408 <runtime.madvise+0x0000000000000028> 0x00000000b0186dd0: 0x000000000406f8c0 <runtime.madvise_trampoline+0x0000000000000000> 0x00000000b0186e00 0x00000000b0186de0: 0x0000000000000000 0x000000c000074000 0x00000000b0186df0: 0x00000000b0186e60 0x000000002b900110 0x00000000b0186e00: 0x00000000b0186e20 !0x00007fff8afcdd9f 0x00000000b0186e10: >0x000000002b900110 0x000000002b800000 0x00000000b0186e20: 0x00000000b0186e50 0x00007fff8afce4cb 0x00000000b0186e30: 0x000000c000074000 0x000000c00020b730 0x00000000b0186e40: 0x000000c0001229c0 0x000000c000074000 0x00000000b0186e50: 0x00000000b0186e70 0x000000000406ff7f <runtime.syscall+0x000000000000001f> 0x00000000b0186e60: 0x000000c00020b730 0x000000000402a5ac <runtime.(*mheap).alloc.func1+0x000000000000008c> 0x00000000b0186e70: 0x000000c00020b6f8 0x000000000406deb0 <runtime.asmcgocall+0x0000000000000070> 0x00000000b0186e80: 0x000000c000060a00 0x00000000048327d0 0x00000000b0186e90: 0x0a00000000000010 0x000000000441d140 0x00000000b0186ea0: 0x000000000441d140 0x0000000000000930 0x00000000b0186eb0: 0x000000c0001229c0 0x000000000406c109 <runtime.systemstack+0x0000000000000049> 0x00000000b0186ec0: 0x0000000000000000 runtime.sigpanic() /opt/local/lib/go/src/runtime/signal_unix.go:719 +0x48d [signal SIGSEGV: segmentation violation code=0x1 addr=0x0 pc=0x7fff8afcdd9f] runtime stack: runtime: unexpected return pc for runtime.sigpanic called from 0x7fff8afcdd9f stack: frame={sp:0xb0209db0, fp:0xb0209e10} stack=[0xb018a2c8,0xb0209ec8) 0x00000000b0209cb0: 0x000000c0000821a0 0x01000000000003e8 0x00000000b0209cc0: 0x0000000000000004 0x000000000000001f 0x00000000b0209cd0: 0x00007fff8afcdd9f 0x0000000000000000 0x00000000b0209ce0: 0x0000000000000001 0x0000000004483975 0x00000000b0209cf0: 0x00000000b0209d38 0x000000000403973f <runtime.fatalthrow.func1+0x000000000000005f> 0x00000000b0209d00: 0x000000c0000821a0 0x0000000004039434 <runtime.throw+0x0000000000000074> 0x00000000b0209d10: 0x00000000b0209d80 0x0000000000000001 0x00000000b0209d20: 0x00000000b0209d80 0x0000000004039434 <runtime.throw+0x0000000000000074> 0x00000000b0209d30: 0x000000c0000821a0 0x00000000b0209d70 0x00000000b0209d40: 0x00000000040396be <runtime.fatalthrow+0x000000000000005e> 0x00000000b0209d50 0x00000000b0209d50: 0x00000000040396e0 <runtime.fatalthrow.func1+0x0000000000000000> 0x000000c0000821a0 0x00000000b0209d60: 0x0000000004039434 <runtime.throw+0x0000000000000074> 0x00000000b0209d80 0x00000000b0209d70: 0x00000000b0209da0 0x0000000004039434 <runtime.throw+0x0000000000000074> 0x00000000b0209d80: 0x00000000b0209d88 0x0000000004039460 <runtime.throw.func1+0x0000000000000000> 0x00000000b0209d90: 0x000000000448a1ac 0x000000000000002a 0x00000000b0209da0: 0x00000000b0209e00 0x0000000004050fed <runtime.sigpanic+0x000000000000048d> 0x00000000b0209db0: <0x000000000448a1ac 0x000000000000002a 0x00000000b0209dc0: 0x00000000b0209df0 0x000000000405a408 <runtime.madvise+0x0000000000000028> 0x00000000b0209dd0: 0x000000000406f8c0 <runtime.madvise_trampoline+0x0000000000000000> 0x00000000b0209e00 0x00000000b0209de0: 0x0000000000000000 0x000000c000214000 0x00000000b0209df0: 0x00000000b0209e60 0x0000000004900760 0x00000000b0209e00: 0x00000000b0209e20 !0x00007fff8afcdd9f 0x00000000b0209e10: >0x0000000004900760 0x000000002b8000a0 0x00000000b0209e20: 0x00000000b0209e50 0x00007fff8afce4cb 0x00000000b0209e30: 0x000000c000214000 0x000000c00020f730 0x00000000b0209e40: 0x000000c000122820 0x000000c000214000 0x00000000b0209e50: 0x00000000b0209e70 0x000000000406ff7f <runtime.syscall+0x000000000000001f> 0x00000000b0209e60: 0x000000c00020f730 0x000000000402a5ac <runtime.(*mheap).alloc.func1+0x000000000000008c> 0x00000000b0209e70: 0x000000c00020f6f8 0x000000000406deb0 <runtime.asmcgocall+0x0000000000000070> 0x00000000b0209e80: 0x000000c000200a00 0x000000002b6140e8 0x00000000b0209e90: 0x0a00000000000010 0x000000000441d140 0x00000000b0209ea0: 0x000000000441d140 0x0000000000000930 0x00000000b0209eb0: 0x000000c000122820 0x000000000406c109 <runtime.systemstack+0x0000000000000049> 0x00000000b0209ec0: 0x0000000000000000 runtime.throw({0x448a1ac, 0x2a}) /opt/local/lib/go/src/runtime/panic.go:1198 +0x74 runtime: unexpected return pc for runtime.sigpanic called from 0x7fff8afcdd9f stack: frame={sp:0xb0209db0, fp:0xb0209e10} stack=[0xb018a2c8,0xb0209ec8) 0x00000000b0209cb0: 0x000000c0000821a0 0x01000000000003e8 0x00000000b0209cc0: 0x0000000000000004 0x000000000000001f 0x00000000b0209cd0: 0x00007fff8afcdd9f 0x0000000000000000 0x00000000b0209ce0: 0x0000000000000001 0x0000000004483975 0x00000000b0209cf0: 0x00000000b0209d38 0x000000000403973f <runtime.fatalthrow.func1+0x000000000000005f> 0x00000000b0209d00: 0x000000c0000821a0 0x0000000004039434 <runtime.throw+0x0000000000000074> 0x00000000b0209d10: 0x00000000b0209d80 0x0000000000000001 0x00000000b0209d20: 0x00000000b0209d80 0x0000000004039434 <runtime.throw+0x0000000000000074> 0x00000000b0209d30: 0x000000c0000821a0 0x00000000b0209d70 0x00000000b0209d40: 0x00000000040396be <runtime.fatalthrow+0x000000000000005e> 0x00000000b0209d50 0x00000000b0209d50: 0x00000000040396e0 <runtime.fatalthrow.func1+0x0000000000000000> 0x000000c0000821a0 0x00000000b0209d60: 0x0000000004039434 <runtime.throw+0x0000000000000074> 0x00000000b0209d80 0x00000000b0209d70: 0x00000000b0209da0 0x0000000004039434 <runtime.throw+0x0000000000000074> 0x00000000b0209d80: 0x00000000b0209d88 0x0000000004039460 <runtime.throw.func1+0x0000000000000000> 0x00000000b0209d90: 0x000000000448a1ac 0x000000000000002a 0x00000000b0209da0: 0x00000000b0209e00 0x0000000004050fed <runtime.sigpanic+0x000000000000048d> 0x00000000b0209db0: <0x000000000448a1ac 0x000000000000002a 0x00000000b0209dc0: 0x00000000b0209df0 0x000000000405a408 <runtime.madvise+0x0000000000000028> 0x00000000b0209dd0: 0x000000000406f8c0 <runtime.madvise_trampoline+0x0000000000000000> 0x00000000b0209e00 0x00000000b0209de0: 0x0000000000000000 0x000000c000214000 0x00000000b0209df0: 0x00000000b0209e60 0x0000000004900760 0x00000000b0209e00: 0x00000000b0209e20 !0x00007fff8afcdd9f 0x00000000b0209e10: >0x0000000004900760 0x000000002b8000a0 0x00000000b0209e20: 0x00000000b0209e50 0x00007fff8afce4cb 0x00000000b0209e30: 0x000000c000214000 0x000000c00020f730 0x00000000b0209e40: 0x000000c000122820 0x000000c000214000 0x00000000b0209e50: 0x00000000b0209e70 0x000000000406ff7f <runtime.syscall+0x000000000000001f> 0x00000000b0209e60: 0x000000c00020f730 0x000000000402a5ac <runtime.(*mheap).alloc.func1+0x000000000000008c> 0x00000000b0209e70: 0x000000c00020f6f8 0x000000000406deb0 <runtime.asmcgocall+0x0000000000000070> 0x00000000b0209e80: 0x000000c000200a00 0x000000002b6140e8 0x00000000b0209e90: 0x0a00000000000010 0x000000000441d140 0x00000000b0209ea0: 0x000000000441d140 0x0000000000000930 0x00000000b0209eb0: 0x000000c000122820 0x000000000406c109 <runtime.systemstack+0x0000000000000049> 0x00000000b0209ec0: 0x0000000000000000 runtime.sigpanic() /opt/local/lib/go/src/runtime/signal_unix.go:719 +0x48d go tool dist: FAILED: /opt/local/var/macports/build/_Users_rob_Development_MacPorts_local-repo_lang_go/go/work/go/pkg/tool/darwin_amd64/go_bootstrap install -gcflags=all= -ldflags=all="-extldflags=-Wl,-headerpad_max_install_names -L/opt/local/lib -lMacportsLegacySupport" -v -i cmd/asm cmd/cgo cmd/compile cmd/link: exit status 2 rm -r /opt/local/var/macports/build/_Users_rob_Development_MacPorts_local-repo_lang_go/go/work/go/pkg/bootstrap rm -r /opt/local/var/macports/build/_Users_rob_Development_MacPorts_local-repo_lang_go/go/work/go/pkg/obj/go-build rm -rf /opt/local/var/macports/build/_Users_rob_Development_MacPorts_local-repo_lang_go/go/work/.tmp/go-tool-dist-254573346 rm -r /opt/local/var/macports/build/_Users_rob_Development_MacPorts_local-repo_lang_go/go/work/.tmp/go-tool-dist-254573346 Command failed: cd "/opt/local/var/macports/build/_Users_rob_Development_MacPorts_local-repo_lang_go/go/work/go/src" && ./make.bash -v=3 Exit code: 2 Error: Failed to build go: command execution failed Error: See /opt/local/var/macports/logs/_Users_rob_Development_MacPorts_local-repo_lang_go/go/main.log for details. Error: Follow https://guide.macports.org/#project.tickets if you believe there is a bug. Error: Processing of port go failed bash-3.2$
comment:8 Changed 10 months ago by RobK88
Here is a workaround for getting go@1.17.13
to run on Lion, Mountain Lion etc.
- Install the
legacy-support
port (if not already installed) - Download the prebuilt binary for
go@1.17.13
from https://go.dev/dl/go1.17.13.darwin-amd64.tar.gz and dynamically insert thelegacy-support
library.
$ sw_vers ProductName: Mac OS X ProductVersion: 10.7.5 BuildVersion: 11G63 $ DYLD_INSERT_LIBRARIES="/opt/local/lib/libMacportsLegacySupport.dylib:/opt/local/lib/libMacportsLegacySystem.B.dylib" /Users/rob/Downloads/go/bin/go version go version go1.17.13 darwin/amd64
I will modify the Portfile for go
accordingly and will submit a PR sometime this weekend.
comment:9 Changed 10 months ago by RobK88
Well my fix did not work.. Even with dynamic library injection, I cannot get the prebuilt binary for go@1.17.13
to compile anything without crashing with a SIGSEGV: segmentation violation
error.
I have tried all my tricks. I have no more ideas for a fix.
comment:11 Changed 10 months ago by RobK88
@kencu -- Thanks Ken. I will add to the Portfile a go.vendors
line for the most recent version of golang.org/x/sys
and see if that fixes the problem.
comment:12 Changed 10 months ago by kencu (Ken)
It was this bit I was thinking might be useful:
"with Go 1.17, could you try building your binary with environment variable GOEXPERIMENT=noregabi"
eg:
configure.env-append GOEXPERIMENT=noregabi build.env-append GOEXPERIMENT=noregabi
what it exactly does, at the moment I don't know. But it was mentioned as the fix for a similar issue.
comment:13 Changed 10 months ago by RobK88
@kencu - Thanks Ken. I will try that.
By the way, I soon figured out that I cannot add a go.vendors
line to the go
Portfile due the the chicken and egg problem. You need go
installed before one can use PortGroup golang 1.0
which adds the go.vendors
command.
I also tried to install the latest version of golang.org/x/sys
using go-1.4
but no luck.
rob$ /opt/local/lib/go-1.4/bin/go get -u golang.org/x/sys package golang.org/x/sys: unrecognized import path "golang.org/x/sys"
Maybe there is an easy fix but I am unfortunately not a go
developer.
comment:14 Changed 10 months ago by RobK88
@kencu -- No luck building when using the following environment variables:
configure.env-append GOEXPERIMENT=noregabi build.env-append GOEXPERIMENT=noregabi
I suspect the problem is with the golang.org/x/sys
dependency. If I only knew how to update it using go-1.4
in the Portfile.
I tried adding the following to the Portfile
exec ${prefix}/lib/go-1.4/bin/go get -u golang.org/x/sys
But I get the same error when I try to update golang.org/x/sys
at the command line:
$ sudo port -vs install go Error: Unable to open port: package golang.org/x/sys: unrecognized import path "golang.org/x/sys"
Maybe GOPATH
needs to be set properly.
comment:15 follow-up: 17 Changed 10 months ago by RobK88
hmm. Instead of running go get -u golang.org/x/sys
which requires go
installed, apparently, one can also manually git clone the repository located at https://cs.opensource.google/go/x/sys to $GOPATH/src/golang.org/x/sys
How would I do that in the Portfile?
If I can figure out how to set the GOPATH environment variable properly, I should be able to use either /opt/local/lib/go-1.4/bin go get golang.org/x/sys
or git clone the source.
comment:16 Changed 10 months ago by tehcog (tehcog)
Cc: | tehcog added |
---|
comment:18 follow-up: 20 Changed 5 months ago by RobK88
@barracuda156 -- No luck to date in fixing go
for legacy versions of Mac OS X. I hope to start looking at this issue again in a couple of weeks.
In the meantime, if anyone has any ideas, please let me know!
comment:19 Changed 5 months ago by RobK88
I think I found the problem.
The notes to go
state:
bash-3.2$ port notes go ---> go has the following notes: Please note: Go 1.22 does not build on macOS 10.12 and older, so Go 1.17.13 has been installed. go had to be specially patched and built to work on your platform. It likely won't work out of the box when building other projects, so make sure change your environment to use the following variables: * GO_EXTLINK_ENABLED="1" to always force go to use the external gcc or clang linker and * GO_LDFLAGS="\"-extldflags=${configure.ldflags}\"" * CGO_LDFLAGS="-g -O2 ${configure.ldflags}" to force-link any binary against the legacy support library. Use exactly the quoting provided here, even if it may look odd, or compilation will fail. Failure to do so will leave you unable to create binaries that use features not natively available on your system, either directly or through a go core dependency.
So in ports that use go
, one needs to set build.env
appropriately. E.g. In the totp-cli
portfile, one sees:
pre-build { # Sierra and earlier if { ${os.platform} eq "darwin" && ${os.major} < 17 } { build.env-append GO_EXTLINK_ENABLED="1" \ GO_LDFLAGS="\"-extldflags=${configure.ldflags}\"" \ CGO_LDFLAGS="-g -O2 ${configure.ldflags}" } }
But when you do so, the CGO_LDFLAGS
is NOT set appropriately. One see :debug:build CGO_LDFLAGS='"-g'
As a result, when building a port on Lion and Mtn Lion (and other legacy Mac OS X) systems, the build fails with:
clang: error: no such file or directory: '"-g'
Here is a portion of main.log after trying to build totp-cli
.
:debug:build CGO_CFLAGS='-Os -arch x86_64' :debug:build CGO_CXXFLAGS='-Os -stdlib=libc++ -arch x86_64' :debug:build CGO_LDFLAGS='"-g' :debug:build CPATH='/opt/local/include' :debug:build CPLUS_INCLUDE_PATH='/opt/local/include/LegacySupport' :debug:build CXX='/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_security_totp-cli/totp-cli/work/compwrap/cxx/usr/bin/clang++' :debug:build C_INCLUDE_PATH='/opt/local/include/LegacySupport' :debug:build DEVELOPER_DIR='/Applications/Xcode.app/Contents/Developer' :debug:build F77='' :debug:build F90='' :debug:build FC='' :debug:build GO111MODULE='off' :debug:build GOARCH='amd64' :debug:build GOOS='darwin' :debug:build GOPATH='/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_security_totp-cli/totp-cli/work/gopath' :debug:build GOPROXY='off' :debug:build GO_EXTLINK_ENABLED='"1"' :debug:build GO_LDFLAGS='""-extldflags=-Wl,-headerpad_max_install_names -L/opt/local/lib -lMacportsLegacySupport""' :debug:build LIBRARY_PATH='/opt/local/lib' :debug:build MACOSX_DEPLOYMENT_TARGET='10.8'
Perhaps, build-env
should be:
pre-build { # Sierra and earlier if { ${os.platform} eq "darwin" && ${os.major} < 17 } { build.env-append GO_EXTLINK_ENABLED="1" \ GO_LDFLAGS="\"-extldflags=${configure.ldflags}\"" \ CGO_LDFLAGS="\"-g -O2 ${configure.ldflags}\"" } }
If this works, the notes to go
will need to be changed. And other ports that rely on go
will need to be updated so they can build on legacy Mac OS X systems.
comment:20 follow-up: 21 Changed 3 months ago by ar-an-ribe
Replying to RobK88:
In the meantime, if anyone has any ideas, please let me know!
I think that MacPorts ticket #69466 could be relevant for the solution here. In GitHub golang ticket #23122, it was noted that support for OS X 10.8 (Mountain Lion) and 10.9 (Mavericks) was removed from Go 1.11. [I don’t know when support for Mac OS X 10.7 (Lion) was removed.] When I tried to build Go 1.20.14 from source in Mavericks using MacPorts go @1.17.13_0
, the following errors were reported:
Building Go cmd/dist using /opt/local/lib/go. (go1.17.13 darwin/amd64) # _/Users/ar-an-ribe/source/go-1.20.14/src/cmd/dist /opt/local/lib/go/pkg/tool/darwin_amd64/link: running /usr/bin/clang failed: exit status 1 Undefined symbols for architecture x86_64: "_clock_gettime", referenced from: _runtime.walltime_trampoline.abi0 in go.o "_fdopendir$INODE64", referenced from: _syscall.libc_fdopendir_trampoline.abi0 in go.o "_fstatat64", referenced from: _syscall.libc_fstatat64_trampoline.abi0 in go.o "_openat", referenced from: _syscall.libc_openat_trampoline.abi0 in go.o "_unlinkat", referenced from: _syscall.libc_unlinkat_trampoline.abi0 in go.o ld: symbol(s) not found for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation)
These five library functions, which are not part of Mavericks (and presumably also not part of earlier versions of macOS), prevent MacPorts go @1.17.13_0
from being usable in Mavericks (as well as earlier versions of macOS), even though the port was successfully built in Mavericks.
The approach that was noted in MacPorts ticket #69466, to translate parts of the MacPorts legacy-support
port into Go to add missing functionality in macOS 10.12 (Sierra) to allow compilation of Go 1.22.0 [which seems to require macOS 10.13 (High Sierra)], seems to me to represent an analogous solution to allow MacPorts go @1.17.13_0
to be usable on earlier versions of macOS. In the case of Mavericks, the five missing undefined symbols in Mavericks listed above would need to be translated from the MacPorts legacy-support
port into Go to allow MacPorts go @1.17.13_0
to be usable in Mavericks to compile newer versions of Go; earlier versions of macOS could require the porting of additional missing undefined symbols, to allow MacPorts go @1.17.13_0
to be similarly usable on those versions of macOS.
Once go @1.17.13_0
is usable on a particular version of macOS, an analogous port of additional symbols from legacy-support
could be needed to allow go @1.20.14
to be usable on that version of macOS; and once go @1.20.14
is usable, one more round of symbol porting could be needed to bring the current version of Go [go @1.22.4
at this writing, which by default requires macOS 10.15 (Catalina)] to usability on that version of macOS. Since the number of missing symbols can vary by the version of macOS, different versions of macOS could require different sets of symbols to be ported from legacy-support
into Go.
comment:21 Changed 3 months ago by ar-an-ribe
Replying to ar-an-ribe:
[I don’t know when support for Mac OS X 10.7 (Lion) was removed.]
According to the release notes for Go 1.8, support for macOS versions before 10.8 (Mountain Lion) was removed from Go 1.8.
I've added Chris Jones to the ticket, as he was primarily the one who got Go running on older systems.