Open elsagong opened 1 year ago
I have the same problem. go version go1.17.3 darwin/amd64 github.com/apache/pulsar-client-go v0.10.0
/usr/local/go/pkg/tool/darwin_amd64/link: running clang failed: exit status 1 duplicate symbol '_CFDictionaryCreateSafe2' in: /var/folders/jw/738hqc1x41n0dgcx9c2837500000gn/T/go-link-571816323/000019.o /var/folders/jw/738hqc1x41n0dgcx9c2837500000gn/T/go-link-571816323/000072.o duplicate symbol '_CFArrayCreateSafe2' in: /var/folders/jw/738hqc1x41n0dgcx9c2837500000gn/T/go-link-571816323/000019.o /var/folders/jw/738hqc1x41n0dgcx9c2837500000gn/T/go-link-571816323/000072.o ld: 2 duplicate symbols for architecture x86_64 clang: error: linker command failed with exit code 1 (use -v to see invocation)
Which demo did you run? Can you provide the details of reproduce steps?
Hi, I pasted demo as below, please check @tisonkun
package main
import (
"fmt"
"log"
"time"
"github.com/apache/pulsar/pulsar-client-go/pulsar"
)
func main() {
// Pulsar服务的URL
pulsarURL := "pulsar://localhost:6650"
// 创建Pulsar客户端
client, err := pulsar.NewClient(pulsar.ClientOptions{
URL: pulsarURL,
})
if err != nil {
log.Fatal(err)
}
defer client.Close()
// 创建Pulsar生产者
producer, err := client.CreateProducer(pulsar.ProducerOptions{
Topic: "my-topic",
})
if err != nil {
log.Fatal(err)
}
defer producer.Close()
// 发布消息
msg := &pulsar.ProducerMessage{
Payload: []byte("Hello, Pulsar!"),
}
_, err = producer.Send(msg)
if err != nil {
log.Fatal(err)
}
// 创建Pulsar消费者
consumer, err := client.Subscribe(pulsar.ConsumerOptions{
Topic: "my-topic",
SubscriptionName: "my-subscription",
Type: pulsar.Exclusive,
})
if err != nil {
log.Fatal(err)
}
defer consumer.Close()
// 接收和处理消息
for {
msg, err := consumer.Receive()
if err != nil {
log.Fatal(err)
}
fmt.Printf("Received message: %s\n", string(msg.Payload()))
consumer.Ack(msg)
}
// 停止Pulsar消费者
consumer.Close()
}
@tisonkun And after I export CGO_CFLAGS="-isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk"
on console, I got error as below
# runtime/cgo ld: library not found for -lpthread clang-14: error: linker command failed with exit code 1 (use -v to see invocation)
I tried to run a demo of
[pulsar-client-go](https://github.com/apache/pulsar-client-go)
on macOS, but I always get the error of# github.com/99designs/go-keychain ld: framework not found CoreFoundation clang-14: error: linker command failed with exit code 1 (use -v to see invocation)
,after I
export CGO_CFLAGS="-isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX.sdk"
on console, I got error as below `# runtime/cgothe code can run successfully in Linux, Does pulsar-client-go not work on MacOS? Xcode 14.2 macOS 12.6.6
Thanks so much for any feedback.