Skip to content

Latest commit

 

History

History
42 lines (26 loc) · 1.08 KB

File metadata and controls

42 lines (26 loc) · 1.08 KB

blazsym-go

Go wrapper for C bindings of blazesym.

Building

First of all, you need to have blazesym-c available on your system. If it is installed in the expected places, everything should build out of the box.

If you don't have installed, you can build it yourself from capi dir in the repo:

cargo build --release

You can then pass flags to tell Go where to find things:

CGO_CFLAGS="-I/path/to/blazesym/capi/include" CGO_LDFLAGS="-L/path/to/blazesym/target/release"

At runtime you need to set LD_LIBRARY_PATH=/path/to/blazesym/target/release.

Static linking

You might want to link against blazesym statically by adding the following to CGO_LDFLAGS:

-Wl,-Bstatic -lblazesym_c -Wl,-Bdynamic

This way blazesym_c.so doesn't need to be installed on the system where the binary will run.

Fully static builds are possible if you pass the following to go build or go install:

-ldflags='-extldflags "-static"'

Example usage

See example_source_elf_test.go for a basic example.