Live data from Hacker News

Range joins in DuckDB

duckdb.org

1–10 of 27 posts

Re: Range joins in DuckDB

#3

I've been beating my head trying to get duckdb to statically link into a Go program (I'm neither an expert with cgo nor ld). If anyone else has been able to do this I'd love to see your build steps. https://github.com/marcboeker/go-duckdb produces a non-static binary by default.

I'm not familiar with the project. Does it use any net-related code? That won't be static because it will want to load C-libs for using /etc/nsswitch.conf to handle DNS/name stuff.

https://stackoverflow.com/questions/33228809/why-is-my-go-ap...

Re: Range joins in DuckDB

#4

I've been beating my head trying to get duckdb to statically link into a Go program (I'm neither an expert with cgo nor ld). If anyone else has been able to do this I'd love to see your build steps. https://github.com/marcboeker/go-duckdb produces a non-static binary by default.

I tried to replace SQLite with DuckDB for a customized install of better-sqlite3[1] and failed.

[1] https://github.com/JoshuaWise/better-sqlite3

Re: Range joins in DuckDB

#5

I've been beating my head trying to get duckdb to statically link into a Go program (I'm neither an expert with cgo nor ld). If anyone else has been able to do this I'd love to see your build steps. https://github.com/marcboeker/go-duckdb produces a non-static binary by default.

I tried to replace SQLite with DuckDB for a customized install of better-sqlite3[1] and failed. [1] https://github.com/JoshuaWise/better-sqlite3

We have a node client if that would be helpful! https://duckdb.org/docs/api/nodejs

Re: Range joins in DuckDB

#6

I've been beating my head trying to get duckdb to statically link into a Go program (I'm neither an expert with cgo nor ld). If anyone else has been able to do this I'd love to see your build steps. https://github.com/marcboeker/go-duckdb produces a non-static binary by default.

I tried the same thing, also failed… I am also not an expert however. But I am very interested in this. Anyone reading this that could point me to some resources that might help?

Re: Range joins in DuckDB

#7
post #3

I've been beating my head trying to get duckdb to statically link into a Go program (I'm neither an expert with cgo nor ld). If anyone else has been able to do this I'd love to see your build steps. https://github.com/marcboeker/go-duckdb produces a non-static binary by default.

I'm not familiar with the project. Does it use any net-related code? That won't be static because it will want to load C-libs for using /etc/nsswitch.conf to handle DNS/name stuff. https://stackoverflow.com/questions/33228809/why-is-my-go-ap...

I don't have the source code in a good state to publish yet but here's where I'm at. At some point before this CGO_LDFLAGS does work and the header is found (omit the -ldflags args). But when it goes to statically link it can no longer find the header.

  CGO_LDFLAGS="-L$(pwd)/duckdb/src/include" CGO_CFLAGS="-I$(pwd)/duckdb/src/include" go build -ldflags '-extldflags " -lstdc++ -lm -lduckdb -static"'
  # github.com/marcboeker/go-duckdb
  ../../go/pkg/mod/github.com/marcboeker/go-duckdb@v0.0.0-20220427142532-cd9f33e64d9a/connection.go:4:10: fatal error: duckdb.h: No such file or directory
    4 | #include 
      |          ^~~~~~~~~~
  compilation terminated.
Edit, nevermind about not being in a good state! Here's my code: https://github.com/multiprocessio/duckdb-tests.

Re: Range joins in DuckDB

#9

I've been beating my head trying to get duckdb to statically link into a Go program (I'm neither an expert with cgo nor ld). If anyone else has been able to do this I'd love to see your build steps. https://github.com/marcboeker/go-duckdb produces a non-static binary by default.

Did you try Zig? https://dev.to/kristoff/zig-makes-go-cross-compilation-just-...
Post reply on HN