diff --git a/CMakeLists.txt b/CMakeLists.txt index d72ce98..1c10138 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -68,7 +68,13 @@ set(DRAGONX_LITE_BACKEND_REQUIRED_SYMBOLS if(DRAGONX_BUILD_LITE) set(DRAGONX_APP_NAME "ObsidianDragonLite") set(DRAGONX_BINARY_NAME "ObsidianDragonLite") - set(DRAGONX_ENABLE_EMBEDDED_DAEMON OFF CACHE BOOL "Enable embedded dragonxd support" FORCE) + # NOTE: do NOT FORCE-write DRAGONX_ENABLE_EMBEDDED_DAEMON=OFF into the cache here. A forced + # cache write persists into a later full-node reconfigure of the same build dir and silently + # disables the embedded daemon — the binary still embeds/extracts, but isUsingEmbeddedDaemon() + # returns false, so it "unpacks dragonxd but never starts" (the 1.3.0 regression). It is also + # redundant: makeWalletCapabilities() already forces the embedded-daemon capability off for any + # lite build via `fullNodeBuild && embeddedDaemonCompiled`, so lite never launches a daemon + # regardless of this flag. build.sh sets the flag explicitly per variant to defeat stale caches. set(DRAGONX_APP_VERSION "${DRAGONX_LITE_VERSION}") set(DRAGONX_APP_VERSION_SUFFIX "${DRAGONX_LITE_VERSION_SUFFIX}") else() diff --git a/build.sh b/build.sh index e43c08d..c107a4d 100755 --- a/build.sh +++ b/build.sh @@ -116,9 +116,15 @@ CMAKE_LITE_ARGS=() if $DO_LITE; then APP_BASENAME="ObsidianDragonLite" CMAKE_LITE_ARGS+=("-DDRAGONX_BUILD_LITE=ON") + # Lite never embeds/launches a daemon; set it explicitly too for cache hygiene. + CMAKE_LITE_ARGS+=("-DDRAGONX_ENABLE_EMBEDDED_DAEMON=OFF") info "Lite mode enabled: building ${APP_BASENAME}" else CMAKE_LITE_ARGS+=("-DDRAGONX_BUILD_LITE=OFF") + # Re-assert the embedded daemon ON for full-node builds, EXPLICITLY, so a build dir whose cache + # was poisoned OFF by a prior --lite configure (or any stale value) is healed — otherwise the + # full-node app extracts dragonxd but never launches it (isUsingEmbeddedDaemon() == false). + CMAKE_LITE_ARGS+=("-DDRAGONX_ENABLE_EMBEDDED_DAEMON=ON") fi # Resolve the release version string for the active variant from CMakeLists.txt (single source of