gotify/server · error
missing GetGotifyPluginInfo symbol
Error message
missing GetGotifyPluginInfo symbol
What it means
Wrap() in plugin/compat/wrap.go rejects a Go plugin binary that does not export the required GetGotifyPluginInfo symbol. plugin.Plugin.Lookup returns an error when the compiled .so lacks that exported function, meaning the shared library is not a valid gotify plugin (wrong build, wrong package, or arbitrary .so file).
Source
Thrown at plugin/compat/wrap.go:15
package compat
import (
"errors"
"fmt"
"plugin"
papiv1 "github.com/gotify/plugin-api"
)
// Wrap wraps around a raw go plugin to provide typesafe access.
func Wrap(p *plugin.Plugin) (Plugin, error) {
getInfoHandle, err := p.Lookup("GetGotifyPluginInfo")
if err != nil {
return nil, errors.New("missing GetGotifyPluginInfo symbol")
}
switch getInfoHandle := getInfoHandle.(type) {
case func() papiv1.Info:
v1 := PluginV1{}
v1.Info = getInfoHandle()
newInstanceHandle, err := p.Lookup("NewGotifyPluginInstance")
if err != nil {
return nil, errors.New("missing NewGotifyPluginInstance symbol")
}
constructor, ok := newInstanceHandle.(func(ctx papiv1.UserContext) papiv1.Plugin)
if !ok {
return nil, fmt.Errorf("NewGotifyPluginInstance signature mismatch, func(ctx plugin.UserContext) plugin.Plugin expected, got %T", newInstanceHandle)
}
v1.Constructor = constructor
return v1, nil
default:
return nil, fmt.Errorf("unknown plugin version (unrecogninzed GetGotifyPluginInfo signature %T)", getInfoHandle)View on GitHub (pinned to 14bfc25627)
Solutions
- Rebuild the plugin as a main package exposing func GetGotifyPluginInfo() papiv1.Info
- Ensure the plugin was compiled with the exact same Go version, GOOS and GOARCH as the gotify server
- Verify the file being loaded is actually a gotify plugin .so and not an unrelated shared library
Defensive patterns
Strategy: validation
When it happens
Trigger: Thrown at plugin/compat/wrap.go:15 when the library encounters an invalid state.
Common situations: See trigger scenarios.
AI-assisted analysis of gotify/server@14bfc25627 (2026-09-05).
Data as JSON: /api/errors/47305214a18009b3.
Report an issue: GitHub.