php小编子墨,你好!关于Confluence kafka go 软件包与 ubuntu 22.04 的兼容性问题,经过我们的调查和测试,我们很高兴地告诉你,Confluence kafka go 软件包与 ubuntu 22.04 是兼容的。这意味着你可以在 ubuntu 22.04 上使用 Confluence kafka go 软件包,无需担心兼容性问题。这个软件包提供了丰富的功能和特性,能够帮助你更好地处理和管理 kafka 消息队列。如果你对这个软件包有任何问题或疑问,我们随时都可以提供帮助和支持。希望这个回答对你有所帮助!
问题内容
我在 ubuntu 20.04 中使用 confluence kafka 包作为 golang 中的数据流服务器,现在我将操作系统更改为 ubuntu 22.04。
现在我收到这些错误:
- kafka.producer/producer.go:18:26: undefined: kafka.Producer
- kafka.producer/producer.go:35:17: undefined: kafka.ConfigMap
- kafka.producer/producer.go:40:30: undefined: kafka.NewProducer
- kafka.producer/producer.go:133:50: undefined: kafka.Message
- kafka.producer/producer.go:134:27: undefined: kafka.TopicPartition
- kafka.producer/producer.go:136:23: undefined: kafka.PartitionAny
登录后复制
但是segmentio包在相同的代码中运行良好。问题是我想使用 confluence 包,因为它具有订阅和取消订阅功能,我觉得它比 segemntio 包更有优势。
有人知道如何解决这个错误吗?
解决方法
由于 github.com/confluenceinc/confluence-kafka-go/v2/kafka
包使用 librdkafka
c 库顶部的绑定,因此您必须首先确保 cgo 配置正确。
常见的检查内容是:
确保 cgo 已启用 (cgo_enabled="1"
):
$ go env CGO_ENABLED
0
$ go env -w CGO_ENABLED="1"
登录后复制
确保 c 编译器可用。运行 go env cc
查看使用的是哪个 c 编译器。
除了检查cgo之外,还需要确保librdkafka
可用。请参阅构建标签:
- 默认情况下,将使用捆绑的特定于平台的 librdkafka 静态构建。这在 mac osx 和基于 glibc 的 linux 发行版(例如 ubuntu 和 centos)上开箱即用。
-
-tags musl
- 在基于 musl 的 linux 发行版(例如 alpine)上构建时必须指定。将使用 librdkafka 的捆绑静态 musl 构建。 -
-tagsdynamic
- 动态链接librdkafka
。共享的librdkafka
库必须通过其他方式手动安装(apt-get、yum、从源代码构建等)。
以上就是Confluence kafka go 软件包与 ubuntu 22.04 兼容吗?的详细内容,更多请关注每日运维网(www.mryunwei.com)其它相关文章!