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. |

相关推荐
风吹夏回3 天前
RabbitMQ 核心术语 + Python pika 方法完整讲解
分布式·python·rabbitmq
风吹夏回3 天前
RabbitMQ 三种模式入门:HelloWorld、WorkQueue、PubSub
分布式·rabbitmq·ruby
霸道流氓气质3 天前
分布式追踪与 RequestId 传播完全指南
分布式
cheems95273 天前
[RabbitMQ高级特性] 消息确认机制:从 Ready / Unacked 到 basicAck、basicReject、basicNack 的底层拆解
分布式·rabbitmq·ruby
whaledown3 天前
Kafka 与 Java 消息队列入门:用订单场景理解核心机制
java·kafka·消息队列·springboot
枫华落尽3 天前
【Hadoop01-完全分布式运行模式】
分布式
隔壁阿布都3 天前
ShedLock 分布式定时任务锁框架介绍
spring boot·分布式
文艺倾年3 天前
【强化学习】数学推导专题,20W字总结(十五)
人工智能·分布式·大模型·强化学习·vibecoding
ACP广源盛139246256733 天前
GSV9001S@ACP#1080P 级视频处理芯片,物理 AI 普及终端的高性价比选择
大数据·人工智能·分布式·嵌入式硬件·spark
guslegend3 天前
第1章:初始Kafka
分布式·kafka