Repository navigation
fix(juce): fail the build on Linux when JUCE is built without curl - #48
Merged
Merged
Conversation
On Linux, juce::WebInputStream makes HTTPS requests through libcurl. With JUCE_USE_CURL=0 it falls back to a plain-socket client that only accepts http:// URLs, so the module built fine but could never reach the Moonbase API and the product could never activate. The module now stops with an #error in that configuration, naming the fix: leave JUCE_USE_CURL on and pass NEEDS_CURL TRUE to juce_add_plugin() or juce_add_gui_app(). Other platforms use the OS's own HTTP stack and ignore the flag. The docs no longer recommend JUCE_USE_CURL=0 and gain a "Linux needs libcurl" section. The repository's own module targets (JUCE tests, UI snapshots, the sample app, the module-only consumer smoke) switch to NEEDS_CURL TRUE, and the JUCE workflow installs libcurl on Linux. Tested on Linux (JUCE 8.0.4): the JUCE suite passes 165/165 with curl on, and compiling the module with JUCE_USE_CURL=0 stops on the new #error alone. On macOS the suite passes and the module-only consumer smoke still builds with the CURL and OpenSSL lookups disabled.
|
The latest updates on your projects. Learn more about Argos notifications ↗︎
|
github-actions Bot
pushed a commit
that referenced
this pull request
Oct 28, 2026
## [4.13.1](v4.13.0...v4.13.1) (2026-10-28) ### Bug Fixes * **juce:** fail the build on Linux when JUCE is built without curl ([#48](#48)) ([f9b49ef](f9b49ef)), closes [#error](https://github.com/Moonbase-sh/moonbase-cpp/issues/error) [#error](https://github.com/Moonbase-sh/moonbase-cpp/issues/error)
|
🎉 This PR is included in version 4.13.1 🎉 The release is available on GitHub release Your semantic-release bot 📦🚀 |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
On Linux,
juce::WebInputStreammakes HTTPS requests through libcurl, so withJUCE_USE_CURL=0the module built fine but could never reach the Moonbase API; it now stops with an#errorthat names the fix (leaveJUCE_USE_CURLon, passNEEDS_CURL TRUEtojuce_add_plugin()), while other platforms ignore the flag as before.The docs no longer recommend
JUCE_USE_CURL=0and gain a "Linux needs libcurl" section, the repository's own module targets switch toNEEDS_CURL TRUE, and the JUCE workflow installs libcurl on Linux.Tested on Linux with JUCE 8.0.4: the JUCE suite passes 165/165 with curl on, and compiling the module with
JUCE_USE_CURL=0fails on the new#erroralone.On macOS the suite passes and the module-only consumer smoke still builds with the CURL and OpenSSL lookups disabled; Windows is left to CI.