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

相关推荐
我不会起名字3222 小时前
Kafka 重复消费:自动提交位点与手动提交的 3 个错位
kafka·消息队列·幂等·排查
XMAIPC_Robot3 小时前
NXP i.MX95 + FPGA 异构计算平台 — 工业多域融合 AI 加速嵌入式控制解决方案
人工智能·分布式·fpga开发·能源·rk3576+fpga
方方洛18 小时前
ray教程-13-RayTrain与分布式训练
人工智能·分布式·机器学习
黄俊懿1 天前
【架构师从入门到进阶】第七章:缓存和存储的优化思路——第一节:缓存概述
数据结构·数据库·分布式·缓存·架构·系统架构·1024程序员节
红海云1 天前
两台DGX Spark部署DeepSeek的实战边界
大数据·分布式·spark
ly76891 天前
Kafka 消费者重试与死信:Spring for Apache Kafka 的边界设计
spring·kafka·apache·并发消费·消费者重试·死信主题·位移提交
GlobalInfo2 天前
上新 | 全球及中国起重机摄像系统行业研究报告(2026版):市场现状、行业前景与占有率分析
大数据·分布式·微服务·ai·相机
方方洛2 天前
ray教程-11-可观测性与调试
人工智能·分布式·机器学习
samforce2 天前
为什么微服务会退化成“分布式单体”?——软件架构里的嵌套率传导定律
人工智能·分布式·微服务·架构·软件架构·结构认知
我不会起名字3222 天前
Kafka 顺序消息为什么乱了:分区数变化与重试的 3 类原因
kafka·消息队列·顺序·排查