Maison  >  Article  >  développement back-end  >  Le package Confluence kafka go est-il compatible avec Ubuntu 22.04 ?

Le package Confluence kafka go est-il compatible avec Ubuntu 22.04 ?

WBOY
WBOYavant
2024-02-11 23:24:081226parcourir

Confluence kafka go 软件包与 ubuntu 22.04 兼容吗?

éditeur php Zimo, bonjour ! Concernant le problème de compatibilité entre le package Confluence kafka go et ubuntu 22.04, après notre enquête et tests, nous avons le plaisir de vous annoncer que le package Confluence kafka go est compatible avec ubuntu 22.04. Cela signifie que vous pouvez utiliser le package Confluence kafka go sur Ubuntu 22.04 sans vous soucier des problèmes de compatibilité. Ce package fournit une multitude de fonctions et de fonctionnalités pour vous aider à mieux traiter et gérer les files d'attente de messages Kafka. Si vous avez des questions ou des préoccupations concernant ce package, nous sommes toujours disponibles pour vous fournir aide et assistance. J'espère que cette réponse vous aidera !

Contenu de la question

J'utilisais le package Confluence Kafka comme serveur de streaming de données dans Golang dans Ubuntu 20.04, maintenant j'ai changé le système d'exploitation pour Ubuntu 22.04.

Maintenant, j'obtiens ces erreurs :

- 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

Mais le package segmentio fonctionne bien avec le même code. Le problème est que je souhaite utiliser le package confluence car il possède des fonctionnalités d'abonnement et de désabonnement et je pense qu'il présente des avantages par rapport au package segemntio.

Est-ce que quelqu'un sait comment corriger cette erreur ?

Solution de contournement

En raison des liaisons au-dessus de la bibliothèque github.com/confluenceinc/confluence-kafka-go/v2/kafka 包使用 librdkafkac, vous devez d'abord vous assurer que la configuration cgo est correcte.

Les contenus courants des inspections sont :

  1. Assurez-vous que cgo est activé (cgo_enabled="1"):

    $ go env CGO_ENABLED
    0
    $ go env -w CGO_ENABLED="1"
  2. Assurez-vous que le compilateur c est disponible. Exécutez go env cc pour voir quel compilateur c est utilisé.

En plus de vérifier cgo, vous devez également vous assurer que librdkafkaest disponible. Voir Construire des balises :

  • Par défaut, la version statique librdkafka spécifique à la plate-forme sera utilisée. Cela fonctionne immédiatement sur les distributions Linux basées sur Mac OSX et glibc telles que Ubuntu et Centos.
  • -tags musl - Doit être spécifié lors de la construction sur des distributions Linux basées sur Musl (par exemple alpine). Utilisera la version musl statique fournie par librdkafka.
  • -tagsdynamic - Liens dynamiques -tagsdynamic - 动态链接 librdkafka。共享的 librdkafka. Les bibliothèques
  • partagées doivent être installées manuellement via d'autres moyens (apt-get, yum, construction à partir des sources, etc.).
🎜

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer