Linking Error with Confluent Kafka Go Package and MSYS2 GCC on Windows 11

Linking Error with Confluent Kafka Go Package and MSYS2 GCC on Windows 11

|--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| ## Description I am experiencing a linking error when building a Go application with the confluent-kafka-go package on Windows 11, using MSYS2 GCC. The error occurs during the linking phase, indicating unresolved references to __imp__vsnprintf_s and _setjmp. $ go build main.go # command-line-arguments C:\Program Files\Go\pkg\tool\windows_amd64\link.exe: running gcc failed: exit status 1 C:/msys64/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/Users/Thadeu/go/pkg/mod/github.com/confluentinc/confluent-kafka-go/v2@v2.3.0/kafka/librdkafka_vendor/librdkafka_windows.a(rdkafka_error.c.obj):(.text+0x8e): undefined reference to __imp__vsnprintf_s' C:/msys64/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/Users/Thadeu/go/pkg/mod/github.com/confluentinc/confluent-kafka-go/v2@v2.3.0/kafka/librdkafka_vendor/librdkafka_windows.a(rdkafka_mock.c.obj):(.text+0x8e): undefined reference to __imp__vsnprintf_s' C:/msys64/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/Users/Thadeu/go/pkg/mod/github.com/confluentinc/confluent-kafka-go/v2@v2.3.0/kafka/librdkafka_vendor/librdkafka_windows.a(rdkafka_txnmgr.c.obj):(.text+0xca): undefined reference to __imp__vsnprintf_s' C:/msys64/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/Users/Thadeu/go/pkg/mod/github.com/confluentinc/confluent-kafka-go/v2@v2.3.0/kafka/librdkafka_vendor/librdkafka_windows.a(rdkafka_idempotence.c.obj):(.text+0x8e): undefined reference to __imp__vsnprintf_s' C:/msys64/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/Users/Thadeu/go/pkg/mod/github.com/confluentinc/confluent-kafka-go/v2@v2.3.0/kafka/librdkafka_vendor/librdkafka_windows.a(rdkafka_aux.c.obj):(.text+0x8e): undefined reference to __imp__vsnprintf_s' C:/msys64/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/Users/Thadeu/go/pkg/mod/github.com/confluentinc/confluent-kafka-go/v2@v2.3.0/kafka/librdkafka_vendor/librdkafka_windows.a(rdkafka_admin.c.obj):(.text+0x8e): more undefined references to __imp__vsnprintf_s' follow C:/msys64/ucrt64/bin/../lib/gcc/x86_64-w64-mingw32/13.2.0/../../../../x86_64-w64-mingw32/bin/ld.exe: C:/Users/Thadeu/go/pkg/mod/github.com/confluentinc/confluent-kafka-go/v2@v2.3.0/kafka/librdkafka_vendor/librdkafka_windows.a(regexp.c.obj):(.text+0x29fe): undefined reference to `_setjmp' collect2.exe: error: ld returned 1 exit status ## How to reproduce Set up a Go environment on Windows 11 64-bit. Install MSYS2 GCC. Set "CGO_ENABLED": "1" Try building a Go application that imports confluent-kafka-go. ## Environment: OS: Windows 11 64-bit Golang version: 1.21.5 GCC version: 13.2.0 Confluent Kafka Go Package version: v2.3.0 ## What I've Tried: Updating GCC to the latest version through MSYS2. MSYS2 Guide Reinstalling confluent-kafka-go package with go get -u. Despite these efforts, the issue persists. I've ensured that CGO_ENABLED is set to 1 and that the C compiler is correctly included in the PATH. Question: Has anyone encountered a similar issue or can provide insights into resolving these linker errors? Any suggestions on additional steps or alternative configurations that might work for this setup? |

Author

ThadeuFerreira commented on Dec 19, 2023

|------------------------------------------------------------------------------------------------------------------------|
| This is exactly the same issue from here. #889 |

RathegaSathyamurthi commented on Jan 5

edited

|----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------|
| @ThadeuFerreira I also faced similar errors. One solution that worked for me was installing gcc from TDM-GCC 10.3.0 release | tdm-gcc. Once installed add the bin and gcc.exe paths to environment variables(either remove old gcc path or add the new paths above the old paths for it to be effective) and restart IDE to update the new variables. After this go run was able to start my application. |

相关推荐
Go高并发架构_王工17 小时前
Kafka简介:了解现代分布式消息队列的基石
分布式·后端·kafka
是一个Bug18 小时前
Kafka核心面试题
分布式·kafka
最贪吃的虎18 小时前
【分布式】分布式事务框架 Seata 详解:架构与四种实现模式
java·开发语言·数据库·分布式·后端·架构
技术小泽18 小时前
Kafka 高性能架构设计原理分析
java·笔记·分布式·学习·kafka
2501_9416649618 小时前
面向微服务异步任务调度与可靠执行的互联网系统高可用设计与多语言工程实践分享
kafka·rabbitmq
开着拖拉机回家19 小时前
【消息队列】kafka2.0.0安装(单机)及基本命令
运维·kafka·消息队列·服务注册·生产者消费者·服务开机自启
沐浴露z19 小时前
Kafka 幂等性详解
kafka
CrazyClaz19 小时前
Zookeeper
分布式·zookeeper
快乐肚皮19 小时前
为什么我们在使用Kafka会有重复消费消息的情况?
分布式·kafka
Psycho_MrZhang19 小时前
Kafka 设计思想总结
分布式·kafka