Supported Environments
The PubSub+ Messaging API for Go is compatible and supported with any version of Go that is in active support and also has security update support. For information about supported versions of Go, see https://go.dev/doc/devel/release. The PubSub+ Go API is compatible with the following platforms:
- Linux (x86/x86_64) variants that are in active support and also have security update support
- compatible with
glibc
(desktop/server) andmusl-c
(Alpine Linux)
- compatible with
- Linux (ARM) variants (
linux-arm64
)- compatible with
glibc
(desktop/server) only
- compatible with
- Windows WSL 2.0
- macOS 10.15 and later [x86_64 and ARM (M-Series processors)]
- If you use a non-standard OpenSSL installation, you may get an error message that contains
ld: library not found for -lssl
. This error means the linker cannot locate the OpenSSL library. To correct this, specify a path for OpenSSL with the following command:export CGO_LDFLAGS="-L/path/to/your/openssl@1.1/lib"
. This command exports theCGO_LDFLAGS
variable to a specific OpenSSL distribution to support non-standard OpenSSL installations.
- If you use a non-standard OpenSSL installation, you may get an error message that contains
The Go API is not supported on Windows except when using Windows Subsystem for Linux 2.0 (WSL)
To retrieve the Solace PubSub+ Messaging API for go visit: https://pkg.go.dev/solace.dev/go/messaging. Alternatively, you can use the following command in your project directory:
go get solace.dev/go/messaging
This retrieves and installs the latest version of the PubSub+ Messaging API for Go.
The PubSub+ Go API bundles OpenSSL libraries for developer convenience only, these libraries are unsuitable for production environments. OpenSSL binaries are bundled with the following:
- for macOS, all versions of the PubSub+ Go API
- for Linux, versions 1.6 and earlier of the PubSub+ Go API
OpenSSL is required for encrypted (TLS) connections to PubSub+ event brokers. We recommend for production environments that you install OpenSSL directly to ensure that you have the most recent version. To install OpenSSL:
- Use your preferred package manager for Go.
- Download, build, and install OpenSSL from www.openssl.org.
Due to a known issue in Go on Alpine Linux platforms, Solace recommends you only use Go versions up to 1.22.4 with the PubSub+ Go API. Applications that use Go versions 1.22.5 and later may encounter unexpected issues on Alpine Linux environments. For information about this Go issue and its impact, see runtime: update and restore g0 stack bounds at cgocallback.