New Issue: What does it take to build mason with CHPL_COMM!=none

28046, "jabraham17", "What does it take to build mason with CHPL_COMM!=none", "2025-11-12T23:50:01Z"

Mason currently has the limitation that it can only be built with CHPL_COMM=none. This issue asks what it takes to relax that requirement.

As I understand it, we currently require CHPL_COMM=noneto build mason as a way of saying "we only intend to run mason locally and not distributed". This is inferred from both the requirement itself and the original PR which added it Improve mason build process by benharsh · Pull Request #7369 · chapel-lang/chapel · GitHub (the details aren't clear from that issue, perhaps @benharsh can expand?)

Recently, we were discussing needing to build mason in a non-comm=none environment: [Feature Request]: Include Mason in Spack package · Issue #28019 · chapel-lang/chapel · GitHub. I see a few challenges with relaxing this restriction

  • We will need to make mason a shim for mason -nl 1. This is arguably not that big a deal and easy to do
  • Because CHPL_LAUNCHER is explicitly none, with some setups (like GASNet) the launcher does more than just launch the executable on a node and that will be missing
  • Using a CHPl_COMM=none build links against a CHPL_COMM=none runtime that does not deal with any network/node setup. While its common to write Chapel programs that are compiled with CHPL_COMM!=none and run locally/non-distributed, there is still extra work done by the runtime to setup a network stack (among other things). So if your env is not setup for that (e.g. missing GASNET_SPAWNFN with COMM=gasnet SUBSTRATE=udp) you will run into issues you would otherwise never see