filecoin-project / filecoin-ffi

C and CGO bindings for Filecoin's Rust libraries

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

golang build failed

jifenkuaile opened this issue · comments

i'm useing m1 mac to run this code , and there is some error when i build

main.go

package main

import (
	"encoding/hex"
	"fmt"

	filAddress "github.com/filecoin-project/go-address"
	"github.com/filecoin-project/lotus/chain/messagesigner"
	"github.com/filecoin-project/lotus/chain/types"
)

func main() {
	msg := &types.Message{}

	sb, err := messagesigner.SigningBytes(msg, filAddress.SECP256K1)
	if err != nil {
		fmt.Printf("error: %v\n", err.Error())
		return
	}

	fmt.Printf("sign bytes: %v\n", hex.EncodeToString(sb))
}

go.mod (generated by go mod init && go mod tidy)

module for_test/fil_offline

go 1.19

require (
	github.com/filecoin-project/go-address v1.1.0
	github.com/filecoin-project/lotus v1.20.1
)

require (
	contrib.go.opencensus.io/exporter/prometheus v0.4.0 // indirect
	github.com/BurntSushi/toml v1.1.0 // indirect
	github.com/DataDog/zstd v1.4.5 // indirect
	github.com/GeertJohan/go.incremental v1.0.0 // indirect
	github.com/GeertJohan/go.rice v1.0.3 // indirect
	github.com/Gurpartap/async v0.0.0-20180927173644-4f7f499dd9ee // indirect
	github.com/StackExchange/wmi v1.2.1 // indirect
	github.com/akavel/rsrc v0.8.0 // indirect
	github.com/armon/go-metrics v0.3.9 // indirect
	github.com/benbjohnson/clock v1.3.0 // indirect
	github.com/beorn7/perks v1.0.1 // indirect
	github.com/boltdb/bolt v1.3.1 // indirect
	github.com/cespare/xxhash v1.1.0 // indirect
	github.com/cespare/xxhash/v2 v2.1.2 // indirect
	github.com/cpuguy83/go-md2man/v2 v2.0.2 // indirect
	github.com/crackcomm/go-gitignore v0.0.0-20170627025303-887ab5e44cc3 // indirect
	github.com/daaku/go.zipexe v1.0.2 // indirect
	github.com/davecgh/go-spew v1.1.1 // indirect
	github.com/decred/dcrd/dcrec/secp256k1/v4 v4.1.0 // indirect
	github.com/detailyang/go-fallocate v0.0.0-20180908115635-432fa640bd2e // indirect
	github.com/dgraph-io/badger/v2 v2.2007.3 // indirect
	github.com/dgraph-io/ristretto v0.1.0 // indirect
	github.com/dgryski/go-farm v0.0.0-20190423205320-6a90982ecee2 // indirect
	github.com/docker/go-units v0.5.0 // indirect
	github.com/dustin/go-humanize v1.0.0 // indirect
	github.com/fatih/color v1.13.0 // indirect
	github.com/filecoin-project/filecoin-ffi v1.20.0 // indirect
	github.com/filecoin-project/go-amt-ipld/v2 v2.1.0 // indirect
	github.com/filecoin-project/go-amt-ipld/v3 v3.1.0 // indirect
	github.com/filecoin-project/go-amt-ipld/v4 v4.0.0 // indirect
	github.com/filecoin-project/go-bitfield v0.2.4 // indirect
	github.com/filecoin-project/go-cbor-util v0.0.1 // indirect
	github.com/filecoin-project/go-commp-utils v0.1.3 // indirect
	github.com/filecoin-project/go-commp-utils/nonffi v0.0.0-20220905160352-62059082a837 // indirect
	github.com/filecoin-project/go-crypto v0.0.1 // indirect
	github.com/filecoin-project/go-data-transfer v1.15.2 // indirect
	github.com/filecoin-project/go-fil-commcid v0.1.0 // indirect
	github.com/filecoin-project/go-fil-markets v1.25.2 // indirect
	github.com/filecoin-project/go-hamt-ipld v0.1.5 // indirect
	github.com/filecoin-project/go-hamt-ipld/v2 v2.0.0 // indirect
	github.com/filecoin-project/go-hamt-ipld/v3 v3.1.0 // indirect
	github.com/filecoin-project/go-jsonrpc v0.2.1 // indirect
	github.com/filecoin-project/go-padreader v0.0.1 // indirect
	github.com/filecoin-project/go-state-types v0.10.0 // indirect
	github.com/filecoin-project/go-statestore v0.2.0 // indirect
	github.com/filecoin-project/pubsub v1.0.0 // indirect
	github.com/filecoin-project/specs-actors v0.9.15 // indirect
	github.com/filecoin-project/specs-actors/v2 v2.3.6 // indirect
	github.com/filecoin-project/specs-actors/v3 v3.1.2 // indirect
	github.com/filecoin-project/specs-actors/v4 v4.0.2 // indirect
	github.com/filecoin-project/specs-actors/v5 v5.0.6 // indirect
	github.com/filecoin-project/specs-actors/v6 v6.0.2 // indirect
	github.com/filecoin-project/specs-actors/v7 v7.0.1 // indirect
	github.com/filecoin-project/specs-actors/v8 v8.0.1 // indirect
	github.com/gbrlsnchs/jwt/v3 v3.0.1 // indirect
	github.com/go-kit/log v0.2.0 // indirect
	github.com/go-logfmt/logfmt v0.5.1 // indirect
	github.com/go-logr/logr v1.2.3 // indirect
	github.com/go-logr/stdr v1.2.2 // indirect
	github.com/go-ole/go-ole v1.2.5 // indirect
	github.com/gogo/protobuf v1.3.2 // indirect
	github.com/golang/glog v1.0.0 // indirect
	github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect
	github.com/golang/mock v1.6.0 // indirect
	github.com/golang/protobuf v1.5.2 // indirect
	github.com/golang/snappy v0.0.4 // indirect
	github.com/google/gopacket v1.1.19 // indirect
	github.com/google/uuid v1.3.0 // indirect
	github.com/gorilla/mux v1.8.0 // indirect
	github.com/gorilla/websocket v1.5.0 // indirect
	github.com/hannahhoward/cbor-gen-for v0.0.0-20200817222906-ea96cece81f1 // indirect
	github.com/hannahhoward/go-pubsub v0.0.0-20200423002714-8d62886cc36e // indirect
	github.com/hashicorp/errwrap v1.1.0 // indirect
	github.com/hashicorp/go-hclog v0.16.2 // indirect
	github.com/hashicorp/go-immutable-radix v1.3.1 // indirect
	github.com/hashicorp/go-msgpack v0.5.5 // indirect
	github.com/hashicorp/go-multierror v1.1.1 // indirect
	github.com/hashicorp/golang-lru v0.5.4 // indirect
	github.com/hashicorp/raft v1.1.1 // indirect
	github.com/hashicorp/raft-boltdb v0.0.0-20171010151810-6e5ba93211ea // indirect
	github.com/icza/backscanner v0.0.0-20210726202459-ac2ffc679f94 // indirect
	github.com/ipfs/bbloom v0.0.4 // indirect
	github.com/ipfs/go-block-format v0.1.1 // indirect
	github.com/ipfs/go-blockservice v0.4.0 // indirect
	github.com/ipfs/go-cid v0.3.2 // indirect
	github.com/ipfs/go-datastore v0.6.0 // indirect
	github.com/ipfs/go-ds-badger2 v0.1.2 // indirect
	github.com/ipfs/go-ds-leveldb v0.5.0 // indirect
	github.com/ipfs/go-ds-measure v0.2.0 // indirect
	github.com/ipfs/go-fs-lock v0.0.7 // indirect
	github.com/ipfs/go-graphsync v0.13.2 // indirect
	github.com/ipfs/go-ipfs-blockstore v1.2.0 // indirect
	github.com/ipfs/go-ipfs-cmds v0.7.0 // indirect
	github.com/ipfs/go-ipfs-ds-help v1.1.0 // indirect
	github.com/ipfs/go-ipfs-exchange-interface v0.2.0 // indirect
	github.com/ipfs/go-ipfs-files v0.1.1 // indirect
	github.com/ipfs/go-ipfs-http-client v0.4.0 // indirect
	github.com/ipfs/go-ipfs-util v0.0.2 // indirect
	github.com/ipfs/go-ipld-cbor v0.0.6 // indirect
	github.com/ipfs/go-ipld-format v0.4.0 // indirect
	github.com/ipfs/go-ipld-legacy v0.1.1 // indirect
	github.com/ipfs/go-ipns v0.3.0 // indirect
	github.com/ipfs/go-libipfs v0.4.1 // indirect
	github.com/ipfs/go-log v1.0.5 // indirect
	github.com/ipfs/go-log/v2 v2.5.1 // indirect
	github.com/ipfs/go-merkledag v0.8.1 // indirect
	github.com/ipfs/go-metrics-interface v0.0.1 // indirect
	github.com/ipfs/go-path v0.3.0 // indirect
	github.com/ipfs/go-unixfs v0.4.0 // indirect
	github.com/ipfs/go-verifcid v0.0.2 // indirect
	github.com/ipfs/interface-go-ipfs-core v0.7.0 // indirect
	github.com/ipld/go-car v0.4.0 // indirect
	github.com/ipld/go-car/v2 v2.5.0 // indirect
	github.com/ipld/go-codec-dagpb v1.5.0 // indirect
	github.com/ipld/go-ipld-prime v0.20.0 // indirect
	github.com/ipsn/go-secp256k1 v0.0.0-20180726113642-9d62b9f0bc52 // indirect
	github.com/jbenet/goprocess v0.1.4 // indirect
	github.com/jessevdk/go-flags v1.4.0 // indirect
	github.com/jpillora/backoff v1.0.0 // indirect
	github.com/kelseyhightower/envconfig v1.4.0 // indirect
	github.com/klauspost/cpuid/v2 v2.1.1 // indirect
	github.com/libp2p/go-buffer-pool v0.1.0 // indirect
	github.com/libp2p/go-cidranger v1.1.0 // indirect
	github.com/libp2p/go-flow-metrics v0.1.0 // indirect
	github.com/libp2p/go-libp2p v0.23.4 // indirect
	github.com/libp2p/go-libp2p-asn-util v0.2.0 // indirect
	github.com/libp2p/go-libp2p-consensus v0.0.1 // indirect
	github.com/libp2p/go-libp2p-core v0.20.1 // indirect
	github.com/libp2p/go-libp2p-gorpc v0.4.0 // indirect
	github.com/libp2p/go-libp2p-gostream v0.5.0 // indirect
	github.com/libp2p/go-libp2p-kad-dht v0.18.0 // indirect
	github.com/libp2p/go-libp2p-kbucket v0.5.0 // indirect
	github.com/libp2p/go-libp2p-pubsub v0.8.2 // indirect
	github.com/libp2p/go-libp2p-raft v0.1.8 // indirect
	github.com/libp2p/go-libp2p-record v0.2.0 // indirect
	github.com/libp2p/go-msgio v0.2.0 // indirect
	github.com/libp2p/go-netroute v0.2.0 // indirect
	github.com/libp2p/go-openssl v0.1.0 // indirect
	github.com/magefile/mage v1.9.0 // indirect
	github.com/mattn/go-colorable v0.1.9 // indirect
	github.com/mattn/go-isatty v0.0.16 // indirect
	github.com/mattn/go-pointer v0.0.1 // indirect
	github.com/matttproud/golang_protobuf_extensions v1.0.1 // indirect
	github.com/miekg/dns v1.1.50 // indirect
	github.com/minio/blake2b-simd v0.0.0-20160723061019-3f5f724cb5b1 // indirect
	github.com/minio/sha256-simd v1.0.0 // indirect
	github.com/mitchellh/go-homedir v1.1.0 // indirect
	github.com/mr-tron/base58 v1.2.0 // indirect
	github.com/multiformats/go-base32 v0.1.0 // indirect
	github.com/multiformats/go-base36 v0.1.0 // indirect
	github.com/multiformats/go-multiaddr v0.8.0 // indirect
	github.com/multiformats/go-multiaddr-dns v0.3.1 // indirect
	github.com/multiformats/go-multibase v0.1.1 // indirect
	github.com/multiformats/go-multicodec v0.8.0 // indirect
	github.com/multiformats/go-multihash v0.2.1 // indirect
	github.com/multiformats/go-varint v0.0.6 // indirect
	github.com/nkovacs/streamquote v1.0.0 // indirect
	github.com/opentracing/opentracing-go v1.2.0 // indirect
	github.com/pkg/errors v0.9.1 // indirect
	github.com/pmezard/go-difflib v1.0.0 // indirect
	github.com/polydawn/refmt v0.0.0-20201211092308-30ac6d18308e // indirect
	github.com/prometheus/client_golang v1.13.0 // indirect
	github.com/prometheus/client_model v0.2.0 // indirect
	github.com/prometheus/common v0.37.0 // indirect
	github.com/prometheus/procfs v0.8.0 // indirect
	github.com/prometheus/statsd_exporter v0.21.0 // indirect
	github.com/raulk/clock v1.1.0 // indirect
	github.com/rs/cors v1.7.0 // indirect
	github.com/russross/blackfriday/v2 v2.1.0 // indirect
	github.com/shirou/gopsutil v2.18.12+incompatible // indirect
	github.com/spacemonkeygo/spacelog v0.0.0-20180420211403-2296661a0572 // indirect
	github.com/spaolacci/murmur3 v1.1.0 // indirect
	github.com/stretchr/testify v1.8.1 // indirect
	github.com/syndtr/goleveldb v1.0.1-0.20210819022825-2ae1ddf74ef7 // indirect
	github.com/ugorji/go/codec v1.2.6 // indirect
	github.com/urfave/cli/v2 v2.16.3 // indirect
	github.com/valyala/bytebufferpool v1.0.0 // indirect
	github.com/valyala/fasttemplate v1.0.1 // indirect
	github.com/whyrusleeping/bencher v0.0.0-20190829221104-bb6607aa8bba // indirect
	github.com/whyrusleeping/cbor-gen v0.0.0-20221021053955-c138aae13722 // indirect
	github.com/whyrusleeping/go-keyspace v0.0.0-20160322163242-5b898ac5add1 // indirect
	github.com/whyrusleeping/timecache v0.0.0-20160911033111-cfcb2f1abfee // indirect
	github.com/xrash/smetrics v0.0.0-20201216005158-039620a65673 // indirect
	go.opencensus.io v0.23.0 // indirect
	go.opentelemetry.io/otel v1.11.1 // indirect
	go.opentelemetry.io/otel/trace v1.11.1 // indirect
	go.uber.org/atomic v1.10.0 // indirect
	go.uber.org/dig v1.12.0 // indirect
	go.uber.org/fx v1.15.0 // indirect
	go.uber.org/multierr v1.8.0 // indirect
	go.uber.org/zap v1.23.0 // indirect
	go4.org v0.0.0-20200411211856-f5505b9728dd // indirect
	golang.org/x/crypto v0.0.0-20220829220503-c86fa9a7ed90 // indirect
	golang.org/x/exp v0.0.0-20220916125017-b168a2c6b86b // indirect
	golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4 // indirect
	golang.org/x/net v0.0.0-20220920183852-bf014ff85ad5 // indirect
	golang.org/x/sync v0.0.0-20220907140024-f12130a52804 // indirect
	golang.org/x/sys v0.0.0-20220919091848-fb04ddd9f9c8 // indirect
	golang.org/x/tools v0.1.12 // indirect
	golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect
	google.golang.org/protobuf v1.28.1 // indirect
	gopkg.in/yaml.v2 v2.4.0 // indirect
	gopkg.in/yaml.v3 v3.0.1 // indirect
	lukechampine.com/blake3 v1.1.7 // indirect
)

build command:
go build main.go

build error:

github.com/filecoin-project/filecoin-ffi/cgo
# pkg-config --cflags  -- /Users/jifenkuaile/pkg/mod/github.com/filecoin-project/filecoin-ffi@v1.20.0/cgo/../filcrypto.pc /Users/jifenkuaile/pkg/mod/github.com/filecoin-project/filecoin-ffi@v1.20.0/cgo/../filcrypto.pc /Users/jifenkuaile/pkg/mod/github.com/filecoin-project/filecoin-ffi@v1.20.0/cgo/../filcrypto.pc /Users/jifenkuaile/pkg/mod/github.com/filecoin-project/filecoin-ffi@v1.20.0/cgo/../filcrypto.pc /Users/jifenkuaile/pkg/mod/github.com/filecoin-project/filecoin-ffi@v1.20.0/cgo/../filcrypto.pc /Users/jifenkuaile/pkg/mod/github.com/filecoin-project/filecoin-ffi@v1.20.0/cgo/../filcrypto.pc /Users/jifenkuaile/pkg/mod/github.com/filecoin-project/filecoin-ffi@v1.20.0/cgo/../filcrypto.pc /Users/jifenkuaile/pkg/mod/github.com/filecoin-project/filecoin-ffi@v1.20.0/cgo/../filcrypto.pc /Users/jifenkuaile/pkg/mod/github.com/filecoin-project/filecoin-ffi@v1.20.0/cgo/../filcrypto.pc
Failed to open '/Users/jifenkuaile/go/pkg/mod/github.com/filecoin-project/filecoin-ffi@v1.20.0/cgo/../filcrypto.pc': No such file or directory
No package '/Users/jifenkuaile/go/pkg/mod/github.com/filecoin-project/filecoin-ffi@v1.20.0/cgo/../filcrypto.pc' found
Failed to open '/Users/jifenkuaile/go/pkg/mod/github.com/filecoin-project/filecoin-ffi@v1.20.0/cgo/../filcrypto.pc': No such file or directory
No package '/Users/jifenkuaile/go/pkg/mod/github.com/filecoin-project/filecoin-ffi@v1.20.0/cgo/../filcrypto.pc' found
Failed to open '/Users/jifenkuaile/go/pkg/mod/github.com/filecoin-project/filecoin-ffi@v1.20.0/cgo/../filcrypto.pc': No such file or directory
No package '/Users/jifenkuaile/go/pkg/mod/github.com/filecoin-project/filecoin-ffi@v1.20.0/cgo/../filcrypto.pc' found
Failed to open '/Users/jifenkuaile/go/pkg/mod/github.com/filecoin-project/filecoin-ffi@v1.20.0/cgo/../filcrypto.pc': No such file or directory
No package '/Users/jifenkuaile/go/pkg/mod/github.com/filecoin-project/filecoin-ffi@v1.20.0/cgo/../filcrypto.pc' found
Failed to open '/Users/jifenkuaile/go/pkg/mod/github.com/filecoin-project/filecoin-ffi@v1.20.0/cgo/../filcrypto.pc': No such file or directory
No package '/Users/jifenkuaile/go/pkg/mod/github.com/filecoin-project/filecoin-ffi@v1.20.0/cgo/../filcrypto.pc' found
Failed to open '/Users/jifenkuaile/go/pkg/mod/github.com/filecoin-project/filecoin-ffi@v1.20.0/cgo/../filcrypto.pc': No such file or directory
No package '/Users/jifenkuaile/go/pkg/mod/github.com/filecoin-project/filecoin-ffi@v1.20.0/cgo/../filcrypto.pc' found
Failed to open '/Users/jifenkuaile/go/pkg/mod/github.com/filecoin-project/filecoin-ffi@v1.20.0/cgo/../filcrypto.pc': No such file or directory
No package '/Users/jifenkuaile/go/pkg/mod/github.com/filecoin-project/filecoin-ffi@v1.20.0/cgo/../filcrypto.pc' found
Failed to open '/Users/jifenkuaile/go/pkg/mod/github.com/filecoin-project/filecoin-ffi@v1.20.0/cgo/../filcrypto.pc': No such file or directory
No package '/Users/jifenkuaile/go/pkg/mod/github.com/filecoin-project/filecoin-ffi@v1.20.0/cgo/../filcrypto.pc' found
Failed to open '/Users/jifenkuaile/go/pkg/mod/github.com/filecoin-project/filecoin-ffi@v1.20.0/cgo/../filcrypto.pc': No such file or directory
No package '/Users/jifenkuaile/go/pkg/mod/github.com/filecoin-project/filecoin-ffi@v1.20.0/cgo/../filcrypto.pc' found
pkg-config: exit status 1

after run

$ go get github.com/filecoin-project/filecoin-ffi
$ git submodule add https://github.com/filecoin-project/filecoin-ffi.git extern/filecoin-ffi
$ make -C extern/filecoin-ffi
$ go mod edit -replace=github.com/filecoin-project/filecoin-ffi=./extern/filecoin-ffi

i got this new error

/usr/local/go/pkg/tool/darwin_arm64/link: running clang failed: exit status 1
ld: library not found for -lhwloc
clang: error: linker command failed with exit code 1 (use -v to see invocation)

ld: library not found for -lhwloc

You need to have libhwloc-dev installed.