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

相关推荐
狮恒1 天前
OpenHarmony Flutter 分布式数据管理:跨设备数据同步与一致性保障方案
分布式·flutter·wpf·openharmony
ZePingPingZe1 天前
浅谈接口幂等性、MQ消费幂等性
分布式·java-rocketmq
Wang's Blog1 天前
RabbitMQ: 高并发外卖系统的微服务架构设计与工程实现
分布式·微服务·rabbitmq
墨香幽梦客2 天前
合规视角的数据安全与隐私:HIPAA等法规的架构内生化实践
java·分布式·微服务
znhy60582 天前
分布计算系统
网络·分布式
狮恒2 天前
OpenHarmony Flutter 分布式设备发现与连接:无感组网与设备协同管理方案
分布式·flutter·wpf·openharmony
Wang's Blog2 天前
RabbitMQ: 消息交换机制的核心原理与实践指南之基于 AMQP 协议的系统设计与工程实现
分布式·rabbitmq
狮恒2 天前
OpenHarmony Flutter 分布式音视频:跨设备流传输与实时协同交互方案
分布式·flutter·wpf·openharmony
狮恒2 天前
OpenHarmony Flutter 分布式安全与隐私保护:跨设备可信交互与数据防泄漏方案
分布式·flutter·wpf·openharmony
ha_lydms2 天前
Spark函数
大数据·分布式·spark