Skip to content

Install Goby3, and build the Goby app when it's found - #3

Merged
tsaubergine merged 1 commit into
claude/admiring-clarke-s2ay8bfrom
claude/admiring-clarke-s2ay8b-goby-prereqs
Nov 4, 2026
Merged

tsaubergine merged 1 commit into
claude/admiring-clarke-s2ay8bfrom
claude/admiring-clarke-s2ay8b-goby-prereqs

Conversation

@tsaubergine

Copy link
Copy Markdown
Member

This PR is stacked on #2 and targets its branch, so the diff shows only this change. Merge #2 first; this PR then retargets to main.

This is Phase 0 of the Goby helm plan: what the helm library and the Goby app need before any of their code.

Changes

  • init.sh adds the packages.gobysoft.org release repository (key 19478082E2F8D3FE, in /usr/share/keyrings/gobysoft-archive-keyring.gpg) and installs libgoby3-dev and goby3-apps. The repository has packages for all four CI configurations: Ubuntu 24.04 and 26.04, amd64 and arm64.
  • CMake
    • looks for Goby3 with find_package(GOBY 3.0 COMPONENTS zeromq), and adds src/bin/goby only if it is found, so the helm library still builds without Goby;
    • builds libraries shared by default (BUILD_SHARED_LIBS), as openocean-messages does. That way goby zeromq publish -l libivpico_interface.so can load the interface messages, and there's no need for a separate poke app.
  • external/moos-ivp moves to Make HelmEngine, ContactLedger and contact alerts usable without MOOS moos-ivp#2 (stacked on Build the helm libraries without MOOS, for a helm outside MOOS moos-ivp#1). It adds HelmEngine, ContactLedger and the contact-manager alerts to the helm libraries. Before merging: once both moos-ivp PRs have merged, move the pointer to the merge commit on GobySoft's main.
  • README: the Building section mentions Goby3.

.clang-format was already goby3's, so it needed no change.

Test plan

  • In clean ubuntu:24.04 and ubuntu:26.04 containers, from a fresh clone of this branch: ./init.sh installs Goby3 3.6.1 from packages.gobysoft.org, ./build.sh finds Goby (goby, goby_zeromq), ctest passes, and git status (submodules included) is clean.
  • Without Goby3, CMake prints "Goby3 not found: not building the Goby app" and the build and tests still pass.
  • CI on all four jobs.

Generated by Claude Code

- init.sh adds the packages.gobysoft.org release repository and installs
  libgoby3-dev and goby3-apps.
- CMake looks for Goby3 (zeromq) and builds src/bin/goby only if it is
  found, so the helm library still builds without it.
- Libraries build shared by default, as in openocean-messages. This lets
  `goby zeromq publish -l` load libivpico_interface.so.
- external/moos-ivp moves to GobySoft/moos-ivp#2, which adds HelmEngine,
  ContactLedger and the contact alerts to the helm libraries.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01VLcYK4e29B5FiPbDDJy5fp
@tsaubergine
tsaubergine added this pull request to stack #8 November 3, 2026 23:30
@tsaubergine
tsaubergine merged commit be97f06 into main Nov 4, 2026
4 checks passed
@tsaubergine
tsaubergine deleted the claude/admiring-clarke-s2ay8b-goby-prereqs branch November 4, 2026 04:38
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