Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

DuckDB 1.2.0. release checklist #329

Open
3 tasks
taniabogatsch opened this issue Dec 10, 2024 · 2 comments
Open
3 tasks

DuckDB 1.2.0. release checklist #329

taniabogatsch opened this issue Dec 10, 2024 · 2 comments
Assignees
Labels
build [component] building go-duckdb requires latest duckdb

Comments

@taniabogatsch
Copy link
Collaborator

This issue summarises a few points that must be addressed when updating to the latest duckdb version.

  • Update the Windows build in the Makefile. As part of a bug fix, the bundle-library target changed slightly. Below are the updated steps.
  • Decrease the binary file size. FreeBSD currently passes GitHub's 100MB limit. I need to try passing LTO=thin to CXX_CMAKE_FLAGS.
  • Fix failing tests. For context, here is a list of expected test failures due to unsupported functionality:
.PHONY: deps.windows.amd64
deps.windows.amd64: duckdb
	if [ "$(shell uname -s | tr '[:upper:]' '[:lower:]')" != "mingw64_nt-10.0-20348" ]; then echo "Error: must run build on windows"; false; fi
	mkdir -p deps/windows_amd64

	# Copied from the DuckDB repository and fixed for Windows. Ideally, `make bundle-library` should also work for Windows.
	cd duckdb && \
	${DUCKDB_COMMON_BUILD_FLAGS} GENERATOR="-G \"MinGW Makefiles\"" gmake release -j 2
	cd duckdb/build/release && \
		rm -rf bundle && \
		mkdir -p bundle && \
		cp src/libduckdb_static.a bundle/. && \
		cp third_party/*/libduckdb_*.a bundle/. && \
		cp extension/*/lib*_extension.a bundle/. && \
		cd bundle && \
		find . -name '*.a' -exec mkdir -p {}.objects \; -exec mv {} {}.objects \; && \
		find . -name '*.a' -execdir ${AR} -x {} \; && \
		${AR} cr ../libduckdb_bundle.a ./*/*.obj

	cp duckdb/build/release/libduckdb_bundle.a deps/windows_amd64/libduckdb.a
@taniabogatsch taniabogatsch added build [component] building go-duckdb requires latest duckdb labels Dec 10, 2024
@taniabogatsch taniabogatsch self-assigned this Dec 10, 2024
@jacques-n
Copy link

FYI I also proposed using git lfs to address the file size issue.

@taniabogatsch
Copy link
Collaborator Author

Yeah - we'll likely end up with LFS or a similar option. I tried LTO=thin, but that did not work. For freeBSD, I now use duckdb's SMALLER_BINARY=1, which reduces some of the less important templated code to decrease the binary size.
I've been testing this here: https://github.com/taniabogatsch/go-duckdb/tree/build-latest.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build [component] building go-duckdb requires latest duckdb
Projects
None yet
Development

No branches or pull requests

2 participants