Skip to content

Add FreeBSD Support #312

Description

@moonshine-cc

Running FreeBSD 13.0-RELEASE with current versions of go, rust and gmake installed:

build-rust-release works and finishes without errors (only requires a modification of SHARED_LIB_EXT = "so" for FreeBSD OS detection in the Makefile).

build-go doesn't work. Here is the output:

$ gmake build-go
go build ./...
go: downloading github.com/stretchr/testify v1.7.0
go: downloading github.com/syndtr/goleveldb v1.0.1-0.20200815110645-5c35d600f0ca
go: downloading gopkg.in/yaml.v3 v3.0.0-20200313102051-9f266ea9e77c
# github.com/CosmWasm/wasmvm/api
ld: error: undefined symbol: analyze_code
>>> referenced by cgo-gcc-prolog:56
>>>               $WORK/b047/_x004.o:(_cgo_d3f6466c8ed4_C2func_analyze_code)
>>> referenced by cgo-gcc-prolog:609
>>>               $WORK/b047/_x004.o:(_cgo_d3f6466c8ed4_Cfunc_analyze_code)

ld: error: undefined symbol: execute
>>> referenced by cgo-gcc-prolog:90
>>>               $WORK/b047/_x004.o:(_cgo_d3f6466c8ed4_C2func_execute)
>>> referenced by cgo-gcc-prolog:639
>>>               $WORK/b047/_x004.o:(_cgo_d3f6466c8ed4_Cfunc_execute)

ld: error: undefined symbol: get_metrics
>>> referenced by cgo-gcc-prolog:113
>>>               $WORK/b047/_x004.o:(_cgo_d3f6466c8ed4_C2func_get_metrics)
>>> referenced by cgo-gcc-prolog:658
>>>               $WORK/b047/_x004.o:(_cgo_d3f6466c8ed4_Cfunc_get_metrics)

ld: error: undefined symbol: ibc_channel_close
>>> referenced by cgo-gcc-prolog:146
>>>               $WORK/b047/_x004.o:(_cgo_d3f6466c8ed4_C2func_ibc_channel_close)
>>> referenced by cgo-gcc-prolog:687
>>>               $WORK/b047/_x004.o:(_cgo_d3f6466c8ed4_Cfunc_ibc_channel_close)

ld: error: undefined symbol: ibc_channel_connect
>>> referenced by cgo-gcc-prolog:179
>>>               $WORK/b047/_x004.o:(_cgo_d3f6466c8ed4_C2func_ibc_channel_connect)
>>> referenced by cgo-gcc-prolog:716
>>>               $WORK/b047/_x004.o:(_cgo_d3f6466c8ed4_Cfunc_ibc_channel_connect)

ld: error: undefined symbol: ibc_channel_open
>>> referenced by cgo-gcc-prolog:212
>>>               $WORK/b047/_x004.o:(_cgo_d3f6466c8ed4_C2func_ibc_channel_open)
>>> referenced by cgo-gcc-prolog:745
>>>               $WORK/b047/_x004.o:(_cgo_d3f6466c8ed4_Cfunc_ibc_channel_open)

ld: error: undefined symbol: ibc_packet_ack
>>> referenced by cgo-gcc-prolog:245
>>>               $WORK/b047/_x004.o:(_cgo_d3f6466c8ed4_C2func_ibc_packet_ack)
>>> referenced by cgo-gcc-prolog:774
>>>               $WORK/b047/_x004.o:(_cgo_d3f6466c8ed4_Cfunc_ibc_packet_ack)

ld: error: undefined symbol: ibc_packet_receive
>>> referenced by cgo-gcc-prolog:278
>>>               $WORK/b047/_x004.o:(_cgo_d3f6466c8ed4_C2func_ibc_packet_receive)
>>> referenced by cgo-gcc-prolog:803
>>>               $WORK/b047/_x004.o:(_cgo_d3f6466c8ed4_Cfunc_ibc_packet_receive)

ld: error: undefined symbol: ibc_packet_timeout
>>> referenced by cgo-gcc-prolog:311
>>>               $WORK/b047/_x004.o:(_cgo_d3f6466c8ed4_C2func_ibc_packet_timeout)
>>> referenced by cgo-gcc-prolog:832
>>>               $WORK/b047/_x004.o:(_cgo_d3f6466c8ed4_Cfunc_ibc_packet_timeout)

ld: error: undefined symbol: init_cache
>>> referenced by cgo-gcc-prolog:337
>>>               $WORK/b047/_x004.o:(_cgo_d3f6466c8ed4_C2func_init_cache)
>>> referenced by cgo-gcc-prolog:854
>>>               $WORK/b047/_x004.o:(_cgo_d3f6466c8ed4_Cfunc_init_cache)

ld: error: undefined symbol: instantiate
>>> referenced by cgo-gcc-prolog:371
>>>               $WORK/b047/_x004.o:(_cgo_d3f6466c8ed4_C2func_instantiate)
>>> referenced by cgo-gcc-prolog:884
>>>               $WORK/b047/_x004.o:(_cgo_d3f6466c8ed4_Cfunc_instantiate)

ld: error: undefined symbol: load_wasm
>>> referenced by cgo-gcc-prolog:395
>>>               $WORK/b047/_x004.o:(_cgo_d3f6466c8ed4_C2func_load_wasm)
>>> referenced by cgo-gcc-prolog:904
>>>               $WORK/b047/_x004.o:(_cgo_d3f6466c8ed4_Cfunc_load_wasm)

ld: error: undefined symbol: migrate
>>> referenced by cgo-gcc-prolog:428
>>>               $WORK/b047/_x004.o:(_cgo_d3f6466c8ed4_C2func_migrate)
>>> referenced by cgo-gcc-prolog:933
>>>               $WORK/b047/_x004.o:(_cgo_d3f6466c8ed4_Cfunc_migrate)

ld: error: undefined symbol: pin
>>> referenced by cgo-gcc-prolog:449
>>>               $WORK/b047/_x004.o:(_cgo_d3f6466c8ed4_C2func_pin)
>>> referenced by cgo-gcc-prolog:950
>>>               $WORK/b047/_x004.o:(_cgo_d3f6466c8ed4_Cfunc_pin)

ld: error: undefined symbol: query
>>> referenced by cgo-gcc-prolog:479
>>>               $WORK/b047/_x004.o:(_cgo_d3f6466c8ed4_C2func_query)
>>> referenced by cgo-gcc-prolog:976
>>>               $WORK/b047/_x004.o:(_cgo_d3f6466c8ed4_Cfunc_query)

ld: error: undefined symbol: reply
>>> referenced by cgo-gcc-prolog:512
>>>               $WORK/b047/_x004.o:(_cgo_d3f6466c8ed4_C2func_reply)
>>> referenced by cgo-gcc-prolog:1017
>>>               $WORK/b047/_x004.o:(_cgo_d3f6466c8ed4_Cfunc_reply)

ld: error: undefined symbol: save_wasm
>>> referenced by cgo-gcc-prolog:536
>>>               $WORK/b047/_x004.o:(_cgo_d3f6466c8ed4_C2func_save_wasm)
>>> referenced by cgo-gcc-prolog:1037
>>>               $WORK/b047/_x004.o:(_cgo_d3f6466c8ed4_Cfunc_save_wasm)

ld: error: undefined symbol: sudo
>>> referenced by cgo-gcc-prolog:569
>>>               $WORK/b047/_x004.o:(_cgo_d3f6466c8ed4_C2func_sudo)
>>> referenced by cgo-gcc-prolog:1066
>>>               $WORK/b047/_x004.o:(_cgo_d3f6466c8ed4_Cfunc_sudo)

ld: error: undefined symbol: unpin
>>> referenced by cgo-gcc-prolog:590
>>>               $WORK/b047/_x004.o:(_cgo_d3f6466c8ed4_C2func_unpin)
>>> referenced by cgo-gcc-prolog:1083
>>>               $WORK/b047/_x004.o:(_cgo_d3f6466c8ed4_Cfunc_unpin)

ld: error: undefined symbol: release_cache
>>> referenced by cgo-gcc-prolog:991
>>>               $WORK/b047/_x004.o:(_cgo_d3f6466c8ed4_Cfunc_release_cache)

ld: error: too many errors emitted, stopping now (use -error-limit=0 to see all errors)
cc: error: linker command failed with exit code 1 (use -v to see invocation)
gmake: *** [Makefile:37: build-go] Error 2

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions