-
Notifications
You must be signed in to change notification settings - Fork 18.1k
syscall: use pipe2 on freebsd? #18854
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Comments
This serms a problem of the ssh-vault/crypto package, not Go's.
Please file an issue in ssh-vault's issue tracker.
|
Seems to be happening with other packages as well, I just tried
I have a feeling is because the images I am using don't use lib32 and syscons (
Will give a try with a generic instance in the meantime. |
I see. It is using the pipe syscall that is not implemented in your kernel?
|
This is the current kernel and the src.conf I use. Checking the
I am missing Thanks for the hint. |
When is the pipe2 syscall introduced? Perhaps we can change Go to always use
the newer syscall.
I will reopen this issue to track that.
Update: it's introduced in 10.0 and the original pipe syscall becomes optional in 11.0.
We can't drop support for pre-10.0 systems, so perhaps we can make syscall.Pipe try pipe2 first and then pipe.
|
Hi, I confirm that by recompiling the kernel with:
did the trick :-) |
I don't know what Go's policy on supporting older systems is, but I want to mention that any release prior to 10.0 isn't supported anymore. In fact no release prior to 10.3 is supported anymore. Therefor I think that pipe support can safely be dropped in favor of the pipe2 system, if Go doesn't plan to support EOLed releases of FreeBSD. |
Hi! I have created required patch. |
O, fsck, what a long process to contribute! |
@glebius, sorry. The https://golang.org/doc/contribute.html document is too long but there's actually not many steps in it. |
Which requires me to leak my personal information to Google or lie to them :( |
CL https://golang.org/cl/38422 mentions this issue. |
CL https://golang.org/cl/38426 mentions this issue. |
CL https://golang.org/cl/38430 mentions this issue. |
I broke FreeBSD 9 in https://golang.org/cl/38426 by using Pipe2. We still want to support FreeBSD 9 for one last release (Go 1.9 will be the last), and FreeBSD 9 doesn't have Pipe2. So this still uses Pipe2, but falls back to Pipe on error. Updates #18854 Updates #19072 Change-Id: I1de90fb83606c93fb84b4b86fba31e207a702835 Reviewed-on: https://go-review.googlesource.com/38430 Reviewed-by: Rob Pike <[email protected]> Reviewed-by: Ian Lance Taylor <[email protected]> Run-TryBot: Brad Fitzpatrick <[email protected]> TryBot-Result: Gobot Gobot <[email protected]>
Change https://golang.org/cl/64910 mentions this issue: |
This change drops the support for FreeBSD 9 or below and simplifies platform-dependent code for the sake of maintenance. Updates #7187. Fixes #11412. Updates #16064. Updates #18854. Fixes #19072. Change-Id: I9129130aafbfc7d0d7e9b674b6fc6cb31b7381be Reviewed-on: https://go-review.googlesource.com/64910 Reviewed-by: Ian Lance Taylor <[email protected]>
Please answer these questions before submitting your issue. Thanks!
What version of Go are you using (
go version
)?go version go1.7.5 freebsd/amd64
What operating system and processor architecture are you using (
go env
)?GOARCH="amd64"
GOBIN=""
GOEXE=""
GOHOSTARCH="amd64"
GOHOSTOS="freebsd"
GOOS="freebsd"
GOPATH="/root/go"
GORACE=""
GOROOT="/usr/local/go"
GOTOOLDIR="/usr/local/go/pkg/tool/freebsd_amd64"
CC="cc"
GOGCCFLAGS="-fPIC -m64 -pthread -fmessage-length=0"
CXX="clang++"
CGO_ENABLED="1"
What did you do?
Trying to compile from source https://github.com/ssh-vault/ssh-vault
What did you expect to see?
Get a binary.
What did you see instead?
The text was updated successfully, but these errors were encountered: