-
Notifications
You must be signed in to change notification settings - Fork 17.9k
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
gccgo: implement plugin package #36403
Comments
Yes: gccgo does not currently implement the plugin package. Sorry. |
+ archive: don't convert syscall.Timespec to unix.Timespec archive/tar_unix.go:179:76: error: invalid type conversion (cannot use type syscall.Timespec as type unix.Timespec) 179 | timespec := []unix.Timespec{unix.Timespec(fs.StatAtime(st)), unix.Timespec(fs.StatMtime(st))} + gccgo has no plugin support golang/go#36403 + update github.com/containerd/continuity to include same fix for Timespec Signed-off-by: Shengjing Zhu <zhsj@debian.org>
+ archive: don't convert syscall.Timespec to unix.Timespec archive/tar_unix.go:179:76: error: invalid type conversion (cannot use type syscall.Timespec as type unix.Timespec) 179 | timespec := []unix.Timespec{unix.Timespec(fs.StatAtime(st)), unix.Timespec(fs.StatMtime(st))} + gccgo has no plugin support golang/go#36403 + update github.com/containerd/continuity to include same fix for Timespec Signed-off-by: Shengjing Zhu <zhsj@debian.org>
@thanm , @ianlancetaylor , @cherrymui :
I was trying to build faasd :
|
Hi @ianlancetaylor , I got the same issue with go1.15.6, were there too much work to implement the plugin package in gccgo? If it's not, could you please give me some guildlines so thant I can implement one? I'm trying to use |
@YKG I think it would be a lot of work to implement the plugin package in gccgo. I haven't thought about it in detail. |
Would it make sense to copy the stub implementation to gccgo? Currently the |
@xiaq For something that will never work, isn't it slightly better to fail at compile time than at run time? When would it be useful to be able to import "plugin" even though it won't work? Yes, you won't need to use a build tag, but instead your program won't run. That doesn't seem like an improvement. |
I think there may be program that imports the plugin package but only use it in some code path, and plugin.Open is called only when plugins are actually used at run time. The program can still function (to some extent) if it compiles, just cannot use plugins. |
I think you're thinking about the case where a program has a hard dependency on My use case is that I have a program with a soft dependency on On |
+ archive: don't convert syscall.Timespec to unix.Timespec archive/tar_unix.go:179:76: error: invalid type conversion (cannot use type syscall.Timespec as type unix.Timespec) 179 | timespec := []unix.Timespec{unix.Timespec(fs.StatAtime(st)), unix.Timespec(fs.StatMtime(st))} + gccgo has no plugin support golang/go#36403 + update github.com/containerd/continuity to include same fix for Timespec Signed-off-by: Shengjing Zhu <zhsj@debian.org>
+ archive: don't convert syscall.Timespec to unix.Timespec archive/tar_unix.go:179:76: error: invalid type conversion (cannot use type syscall.Timespec as type unix.Timespec) 179 | timespec := []unix.Timespec{unix.Timespec(fs.StatAtime(st)), unix.Timespec(fs.StatMtime(st))} + gccgo has no plugin support golang/go#36403 + update github.com/containerd/continuity to include same fix for Timespec Signed-off-by: Shengjing Zhu <zhsj@debian.org>
What version of Go are you using (
go version
)?Does this issue reproduce with the latest release?
What operating system and processor architecture are you using (
go env
)?go env
OutputWhat did you do?
build containerd with gccgo
I'm not sure if it's distribution issue or upstream issue. I didn't see
plugin
in/usr/lib/x86_64-linux-gnu/go/9/x86_64-linux-gnu/
. But I seeplugin
in https://github.com/golang/gofrontend/tree/master/libgo/go/pluginIs
https://github.com/golang/gofrontend/blob/master/libgo/libgo-packages.txt
responsible for it? I didn't seeplugin
in it too.What did you expect to see?
What did you see instead?
The text was updated successfully, but these errors were encountered: