Skip to content

Make a fresh clone buildable: working setup script and real install docs#18

Merged
adsharma merged 5 commits into
LadybugDB:mainfrom
alvorithm:install-docs
Jul 14, 2026
Merged

Make a fresh clone buildable: working setup script and real install docs#18
adsharma merged 5 commits into
LadybugDB:mainfrom
alvorithm:install-docs

Conversation

@alvorithm

@alvorithm alvorithm commented Jul 14, 2026

Copy link
Copy Markdown
Contributor

WARNING: This is an entirely vibe-coded contribution, by Fable. My goal is to save somebody else the time or the tokens, or both. I am happy to post this as a gist, if preferred.

I could not build a fresh clone from the README:

  • npm run setup downloaded liblbug to lib/, which is not picked up
  • several prerequisites were undocumented:
    • the Tauri CLI plugin,
    • the vendored sigma.js fork (previously provisioned only in CI),
    • the expectation to find a prebuilt liblbug (location + version,
    • the Arrow C++ major-version match required by the icebug prebuilt,
    • and the LLVM OpenMP runtime.

What this PR brings to fix that:

  • scripts/setup.sh (new target of npm run setup): clones and builds the sigma.js fork (same repo/ref as CI), downloads prebuilt liblbug into src-tauri/liblbug at the version pinned in src-tauri/Cargo.toml, downloads icebug, stages macOS frameworks.
  • README: platform-agnostic build overview, Debian 13 walkthrough (verified end to end), Ubuntu 26.04 note (untested, I asked for this because it's the most popular Linux distro), troubleshooting section. Drops the stale ":3001 backend" requirement.
  • lbug 0.17.1 → 0.18.1 (fixes SSL CA certificate detection for extension downloads, Fix SSL CA certificate detection for extension downloads ladybug#640), with CI's ladybug artifact ref updated to match.

Tested:

on Debian 13 from clean prerequisites through cargo tauri dev --features=icebug-analytics rendering a real database. macOS/Windows untested; setup.sh reproduces CI's exact steps for them.

alvorithm and others added 5 commits July 14, 2026 14:51
Previously scripts/download-liblbug.sh ran with its default target
(repo lib/), which neither build.rs, .cargo/config.toml, nor the macOS
staging script read, and the sigma.js fork referenced by package.json
(file:.deps/sigma.js/packages/sigma) was only provisioned in CI.

scripts/setup.sh now clones and builds the sigma fork (same repo/ref as
.github/workflows/build.yml), downloads prebuilt liblbug into
src-tauri/liblbug at the exact version pinned by the lbug crate in
src-tauri/Cargo.toml (re-downloading when the pin changes), downloads
icebug, and stages macOS frameworks.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
The previous instructions (npm install, cargo tauri dev) omitted every
non-obvious prerequisite: the Tauri CLI cargo plugin, the Tauri system
libraries, the vendored sigma.js fork, the prebuilt liblbug/icebug
libraries, and Apache Arrow C++ / OpenMP for the icebug-analytics
feature. They also required a "ladybugdb backend API at :3001" that
nothing in the code references.

Replace them with a platform-agnostic build overview, a Debian 13
walkthrough verified end to end on trixie, and a troubleshooting
section for the failure modes met along the way. Notably, the Arrow C++
major version must match the one the icebug prebuilt was linked
against (currently 24), so the walkthrough pins and holds libarrow-dev.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Package names match Debian's and the Apache Arrow repository serves
ubuntu/resolute with libarrow-dev, so the Debian 13 steps should apply
verbatim. Not verified end to end.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
Situational: only hits Debian 13 systems that have pulled the curl
stack from trixie-backports (libcurl3t64-gnutls 8.20 and friends).
libarrow-dev needs the stable libcurl4-openssl-dev chain, whose
libnghttp3-dev conflicts with the backports libnghttp3-9; apt cannot
resolve it unless the whole cluster is downgraded in one transaction.
The pinned version strings will age with trixie point releases.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
0.18.1 fixes SSL CA certificate detection for extension downloads
(LadybugDB/ladybug#640). Caveat: SSL on macOS is not fully settled in
this release; the published 0.18.1 macOS Node addon still hardcodes
build-machine OpenSSL paths, addressed post-release by
LadybugDB/ladybug#682. That addon is a different artifact from the
liblbug C library linked here, so it does not gate this bump.

Point CI's liblbug artifact resolution at the matching ref; CI needs a
successful build-and-deploy run for v0.18.1 to exist.

Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
@adsharma adsharma marked this pull request as ready for review July 14, 2026 17:26
@adsharma adsharma merged commit b65fb69 into LadybugDB:main Jul 14, 2026
6 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants