Mason doesn't work out of the Brew box on Linux

I tried creating a brand new Mason project:

cd tmp/Mason/Trial
mason init

which results in:

|> tree
.
├── example
├── Mason.toml
├── src
│   └── Trial.chpl
└── test

3 directories, 2 files

where Mason.toml and src/Trial.chpl have the contents the mason init command gave them. The mason command comes with the chpl command via brew:

|> which mason
/home/linuxbrew/.linuxbrew/bin/mason

|> which chpl
/home/linuxbrew/.linuxbrew/bin/chpl

|> 

On trying to build:

|> mason build
Updating mason-registry
Compiling [debug] target: Trial
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.22.1/libexec/lib/linux64/gnu/x86_64/arch-native/loc-flat/comm-none/tasks-qthreads/tmr-generic/unwind-none/mem-jemalloc/atomics-cstdlib/hwloc/re2/fs-none/lib_pic-none/main.o: relocation R_X86_64_32 against symbol `chpl_executable_init' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.22.1/libexec/lib/linux64/gnu/x86_64/arch-native/loc-flat/comm-none/tasks-qthreads/tmr-generic/unwind-none/mem-jemalloc/atomics-cstdlib/hwloc/re2/fs-none/lib_pic-none/libchpl.a(chpl-linefile-support.o): relocation R_X86_64_32S against symbol `chpl_filenameTable' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.22.1/libexec/lib/linux64/gnu/x86_64/arch-native/loc-flat/comm-none/tasks-qthreads/tmr-generic/unwind-none/mem-jemalloc/atomics-cstdlib/hwloc/re2/fs-none/lib_pic-none/libchpl.a(chplcast.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.22.1/libexec/lib/linux64/gnu/x86_64/arch-native/loc-flat/comm-none/tasks-qthreads/tmr-generic/unwind-none/mem-jemalloc/atomics-cstdlib/hwloc/re2/fs-none/lib_pic-none/libchpl.a(config.o): relocation R_X86_64_32S against `.bss' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.22.1/libexec/lib/linux64/gnu/x86_64/arch-native/loc-flat/comm-none/tasks-qthreads/tmr-generic/unwind-none/mem-jemalloc/atomics-cstdlib/hwloc/re2/fs-none/lib_pic-none/libchpl.a(error.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.22.1/libexec/lib/linux64/gnu/x86_64/arch-native/loc-flat/comm-none/tasks-qthreads/tmr-generic/unwind-none/mem-jemalloc/atomics-cstdlib/hwloc/re2/fs-none/lib_pic-none/libchpl.a(chpl-comm.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.22.1/libexec/lib/linux64/gnu/x86_64/arch-native/loc-flat/comm-none/tasks-qthreads/tmr-generic/unwind-none/mem-jemalloc/atomics-cstdlib/hwloc/re2/fs-none/lib_pic-none/libchpl.a(chpl-comm-diags.o): relocation R_X86_64_32 against `.text' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.22.1/libexec/lib/linux64/gnu/x86_64/arch-native/loc-flat/comm-none/tasks-qthreads/tmr-generic/unwind-none/mem-jemalloc/atomics-cstdlib/hwloc/re2/fs-none/lib_pic-none/libchpl.a(chpl-init.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.22.1/libexec/lib/linux64/gnu/x86_64/arch-native/loc-flat/comm-none/tasks-qthreads/tmr-generic/unwind-none/mem-jemalloc/atomics-cstdlib/hwloc/re2/fs-none/lib_pic-none/libchpl.a(chpl-external-array.o): relocation R_X86_64_32S against `.text' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.22.1/libexec/lib/linux64/gnu/x86_64/arch-native/loc-flat/comm-none/tasks-qthreads/tmr-generic/unwind-none/mem-jemalloc/atomics-cstdlib/hwloc/re2/fs-none/lib_pic-none/libchpl.a(chpl-mem-hook.o): relocation R_X86_64_32 against `.rodata.str1.8' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.22.1/libexec/lib/linux64/gnu/x86_64/arch-native/loc-flat/comm-none/tasks-qthreads/tmr-generic/unwind-none/mem-jemalloc/atomics-cstdlib/hwloc/re2/fs-none/lib_pic-none/libchpl.a(chplmemtrack.o): relocation R_X86_64_32S against `.rodata' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.22.1/libexec/lib/linux64/gnu/x86_64/arch-native/loc-flat/comm-none/tasks-qthreads/tmr-generic/unwind-none/mem-jemalloc/atomics-cstdlib/hwloc/re2/fs-none/lib_pic-none/libchpl.a(chplsys.o): relocation R_X86_64_32 against `.bss' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.22.1/libexec/lib/linux64/gnu/x86_64/arch-native/loc-flat/comm-none/tasks-qthreads/tmr-generic/unwind-none/mem-jemalloc/atomics-cstdlib/hwloc/re2/fs-none/lib_pic-none/libchpl.a(chpl-tasks.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.22.1/libexec/lib/linux64/gnu/x86_64/arch-native/loc-flat/comm-none/tasks-qthreads/tmr-generic/unwind-none/mem-jemalloc/atomics-cstdlib/hwloc/re2/fs-none/lib_pic-none/libchpl.a(tasks-qthreads.o): relocation R_X86_64_32 against `.rodata.str1.8' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.22.1/libexec/lib/linux64/gnu/x86_64/arch-native/loc-flat/comm-none/tasks-qthreads/tmr-generic/unwind-none/mem-jemalloc/atomics-cstdlib/hwloc/re2/fs-none/lib_pic-none/libchpl.a(comm-none-locales.o): relocation R_X86_64_32 against `.rodata.str1.8' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.22.1/libexec/lib/linux64/gnu/x86_64/arch-native/loc-flat/comm-none/tasks-qthreads/tmr-generic/unwind-none/mem-jemalloc/atomics-cstdlib/hwloc/re2/fs-none/lib_pic-none/libchpl.a(comm-none.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.22.1/libexec/lib/linux64/gnu/x86_64/arch-native/loc-flat/comm-none/tasks-qthreads/tmr-generic/unwind-none/mem-jemalloc/atomics-cstdlib/hwloc/re2/fs-none/lib_pic-none/libchpl.a(mem-jemalloc.o): relocation R_X86_64_32 against `.rodata.str1.8' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.22.1/libexec/lib/linux64/gnu/x86_64/arch-native/loc-flat/comm-none/tasks-qthreads/tmr-generic/unwind-none/mem-jemalloc/atomics-cstdlib/hwloc/re2/fs-none/lib_pic-none/libchpl.a(qio_error.o): relocation R_X86_64_32 against `.bss' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.22.1/libexec/lib/linux64/gnu/x86_64/arch-native/loc-flat/comm-none/tasks-qthreads/tmr-generic/unwind-none/mem-jemalloc/atomics-cstdlib/hwloc/re2/fs-none/lib_pic-none/libchpl.a(qio.o): relocation R_X86_64_32 against `.rodata' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.22.1/libexec/lib/linux64/gnu/x86_64/arch-native/loc-flat/comm-none/tasks-qthreads/tmr-generic/unwind-none/mem-jemalloc/atomics-cstdlib/hwloc/re2/fs-none/lib_pic-none/libchpl.a(qio_formatted.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.22.1/libexec/lib/linux64/gnu/x86_64/arch-native/loc-flat/comm-none/tasks-qthreads/tmr-generic/unwind-none/mem-jemalloc/atomics-cstdlib/hwloc/re2/fs-none/lib_pic-none/libchpl.a(sys.o): relocation R_X86_64_32S against `.rodata' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.22.1/libexec/lib/linux64/gnu/x86_64/arch-native/loc-flat/comm-none/tasks-qthreads/tmr-generic/unwind-none/mem-jemalloc/atomics-cstdlib/hwloc/re2/fs-none/lib_pic-none/libchpl.a(topo-hwloc.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.22.1/libexec/lib/linux64/gnu/x86_64/arch-native/loc-flat/comm-none/tasks-qthreads/tmr-generic/unwind-none/mem-jemalloc/atomics-cstdlib/hwloc/re2/fs-none/lib_pic-none/libchpl.a(arg.o): relocation R_X86_64_32 against `.rodata.str1.8' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.22.1/libexec/lib/linux64/gnu/x86_64/arch-native/loc-flat/comm-none/tasks-qthreads/tmr-generic/unwind-none/mem-jemalloc/atomics-cstdlib/hwloc/re2/fs-none/lib_pic-none/libchpl.a(chpl-env.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.22.1/libexec/lib/linux64/gnu/x86_64/arch-native/loc-flat/comm-none/tasks-qthreads/tmr-generic/unwind-none/mem-jemalloc/atomics-cstdlib/hwloc/re2/fs-none/lib_pic-none/libchpl.a(chpl-string-support.o): relocation R_X86_64_32 against `.rodata.str1.8' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.22.1/libexec/lib/linux64/gnu/x86_64/arch-native/loc-flat/comm-none/tasks-qthreads/tmr-generic/unwind-none/mem-jemalloc/atomics-cstdlib/hwloc/re2/fs-none/lib_pic-none/libchpl.a(chpl-comm-callbacks.o): relocation R_X86_64_32S against symbol `chpl_comm_callback_counts' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.22.1/libexec/lib/linux64/gnu/x86_64/arch-native/loc-flat/comm-none/tasks-qthreads/tmr-generic/unwind-none/mem-jemalloc/atomics-cstdlib/hwloc/re2/fs-none/lib_pic-none/libchpl.a(chpl-mem-desc.o): relocation R_X86_64_32S against symbol `chpl_mem_descs' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.22.1/libexec/lib/linux64/gnu/x86_64/arch-native/loc-flat/comm-none/tasks-qthreads/tmr-generic/unwind-none/mem-jemalloc/atomics-cstdlib/hwloc/re2/fs-none/lib_pic-none/libchpl.a(chpl-tasks-callbacks.o): relocation R_X86_64_32S against symbol `chpl_task_callback_counts' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.22.1/libexec/lib/linux64/gnu/x86_64/arch-native/loc-flat/comm-none/tasks-qthreads/tmr-generic/unwind-none/mem-jemalloc/atomics-cstdlib/hwloc/re2/fs-none/lib_pic-none/libchpl.a(qbuffer.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.22.1/libexec/lib/linux64/gnu/x86_64/arch-native/loc-flat/comm-none/tasks-qthreads/tmr-generic/unwind-none/mem-jemalloc/atomics-cstdlib/hwloc/re2/fs-none/lib_pic-none/libchpl.a(deque.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.22.1/libexec/third-party/jemalloc/install/linux64-x86_64-native-gnu-none/lib/libjemalloc.a(jemalloc.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.22.1/libexec/third-party/jemalloc/install/linux64-x86_64-native-gnu-none/lib/libjemalloc.a(arena.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.22.1/libexec/third-party/jemalloc/install/linux64-x86_64-native-gnu-none/lib/libjemalloc.a(base.o): relocation R_X86_64_32S against hidden symbol `chpl_je_size2index_tab' can not be used when making a PIE object
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.22.1/libexec/third-party/jemalloc/install/linux64-x86_64-native-gnu-none/lib/libjemalloc.a(chunk.o): relocation R_X86_64_32 against `.rodata' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.22.1/libexec/third-party/jemalloc/install/linux64-x86_64-native-gnu-none/lib/libjemalloc.a(ctl.o): relocation R_X86_64_32 against `.rodata' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.22.1/libexec/third-party/jemalloc/install/linux64-x86_64-native-gnu-none/lib/libjemalloc.a(extent.o): relocation R_X86_64_32S against hidden symbol `chpl_je_size2index_tab' can not be used when making a PIE object
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.22.1/libexec/third-party/jemalloc/install/linux64-x86_64-native-gnu-none/lib/libjemalloc.a(huge.o): relocation R_X86_64_32S against hidden symbol `chpl_je_chunks_rtree' can not be used when making a PIE object
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.22.1/libexec/third-party/jemalloc/install/linux64-x86_64-native-gnu-none/lib/libjemalloc.a(mutex.o): relocation R_X86_64_32 against `.rodata.str1.8' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.22.1/libexec/third-party/jemalloc/install/linux64-x86_64-native-gnu-none/lib/libjemalloc.a(pages.o): relocation R_X86_64_32 against `.rodata.str1.8' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.22.1/libexec/third-party/jemalloc/install/linux64-x86_64-native-gnu-none/lib/libjemalloc.a(prof.o): relocation R_X86_64_32 against `.bss' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.22.1/libexec/third-party/jemalloc/install/linux64-x86_64-native-gnu-none/lib/libjemalloc.a(quarantine.o): relocation R_X86_64_32S against hidden symbol `chpl_je_size2index_tab' can not be used when making a PIE object
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.22.1/libexec/third-party/jemalloc/install/linux64-x86_64-native-gnu-none/lib/libjemalloc.a(stats.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.22.1/libexec/third-party/jemalloc/install/linux64-x86_64-native-gnu-none/lib/libjemalloc.a(tcache.o): relocation R_X86_64_32S against hidden symbol `chpl_je_index2size_tab' can not be used when making a PIE object
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.22.1/libexec/third-party/jemalloc/install/linux64-x86_64-native-gnu-none/lib/libjemalloc.a(tsd.o): relocation R_X86_64_32 against `.rodata.str1.8' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.22.1/libexec/third-party/jemalloc/install/linux64-x86_64-native-gnu-none/lib/libjemalloc.a(util.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.22.1/libexec/third-party/jemalloc/install/linux64-x86_64-native-gnu-none/lib/libjemalloc.a(witness.o): relocation R_X86_64_32 against `.rodata.str1.8' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.22.1/libexec/third-party/jemalloc/install/linux64-x86_64-native-gnu-none/lib/libjemalloc.a(ckh.o): relocation R_X86_64_32S against hidden symbol `chpl_je_size2index_tab' can not be used when making a PIE object
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.22.1/libexec/third-party/qthread/install/linux64-x86_64-native-gnu-none-flat-jemalloc-hwloc/lib/libqthread.a(feb.o): relocation R_X86_64_32 against `.text' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.22.1/libexec/third-party/qthread/install/linux64-x86_64-native-gnu-none-flat-jemalloc-hwloc/lib/libqthread.a(qthread.o): relocation R_X86_64_32 against `.rodata.str1.8' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.22.1/libexec/third-party/qthread/install/linux64-x86_64-native-gnu-none-flat-jemalloc-hwloc/lib/libqthread.a(mpool.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.22.1/libexec/third-party/qthread/install/linux64-x86_64-native-gnu-none-flat-jemalloc-hwloc/lib/libqthread.a(nemesis_threadqueues.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.22.1/libexec/third-party/qthread/install/linux64-x86_64-native-gnu-none-flat-jemalloc-hwloc/lib/libqthread.a(donecount.o): relocation R_X86_64_32 against `.rodata.str1.8' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.22.1/libexec/third-party/qthread/install/linux64-x86_64-native-gnu-none-flat-jemalloc-hwloc/lib/libqthread.a(common.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.22.1/libexec/third-party/qthread/install/linux64-x86_64-native-gnu-none-flat-jemalloc-hwloc/lib/libqthread.a(hwloc_via_chapel.o): relocation R_X86_64_32 against `.rodata.str1.8' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.22.1/libexec/third-party/qthread/install/linux64-x86_64-native-gnu-none-flat-jemalloc-hwloc/lib/libqthread.a(teams.o): relocation R_X86_64_32 against `.text' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.22.1/libexec/third-party/qthread/install/linux64-x86_64-native-gnu-none-flat-jemalloc-hwloc/lib/libqthread.a(hash.o): relocation R_X86_64_32S against `.rodata' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.22.1/libexec/third-party/qthread/install/linux64-x86_64-native-gnu-none-flat-jemalloc-hwloc/lib/libqthread.a(cacheline.o): relocation R_X86_64_32S against `.rodata' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.22.1/libexec/third-party/qthread/install/linux64-x86_64-native-gnu-none-flat-jemalloc-hwloc/lib/libqthread.a(envariables.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.22.1/libexec/third-party/qthread/install/linux64-x86_64-native-gnu-none-flat-jemalloc-hwloc/lib/libqthread.a(hazardptrs.o): relocation R_X86_64_32 against `.text' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.22.1/libexec/third-party/qthread/install/linux64-x86_64-native-gnu-none-flat-jemalloc-hwloc/lib/libqthread.a(io.o): relocation R_X86_64_32 against `.bss' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.22.1/libexec/third-party/qthread/install/linux64-x86_64-native-gnu-none-flat-jemalloc-hwloc/lib/libqthread.a(queue.o): relocation R_X86_64_32 against `.text' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.22.1/libexec/third-party/qthread/install/linux64-x86_64-native-gnu-none-flat-jemalloc-hwloc/lib/libqthread.a(lt1-feb.o): relocation R_X86_64_32 against `.text' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.22.1/libexec/third-party/qthread/install/linux64-x86_64-native-gnu-none-flat-jemalloc-hwloc/lib/libqthread.a(syncvar.o): relocation R_X86_64_32 against `.text' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.22.1/libexec/third-party/hwloc/install/linux64-x86_64-native-gnu-none-flat/lib/libhwloc.a(topology.o): relocation R_X86_64_32 against `.rodata' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.22.1/libexec/third-party/hwloc/install/linux64-x86_64-native-gnu-none-flat/lib/libhwloc.a(traversal.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.22.1/libexec/third-party/hwloc/install/linux64-x86_64-native-gnu-none-flat/lib/libhwloc.a(distances.o): relocation R_X86_64_32 against `.rodata.str1.8' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.22.1/libexec/third-party/hwloc/install/linux64-x86_64-native-gnu-none-flat/lib/libhwloc.a(components.o): relocation R_X86_64_32 against `.bss' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.22.1/libexec/third-party/hwloc/install/linux64-x86_64-native-gnu-none-flat/lib/libhwloc.a(bind.o): relocation R_X86_64_32S against `.text' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.22.1/libexec/third-party/hwloc/install/linux64-x86_64-native-gnu-none-flat/lib/libhwloc.a(bitmap.o): relocation R_X86_64_32 against `.rodata' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.22.1/libexec/third-party/hwloc/install/linux64-x86_64-native-gnu-none-flat/lib/libhwloc.a(misc.o): relocation R_X86_64_32S against `.bss' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.22.1/libexec/third-party/hwloc/install/linux64-x86_64-native-gnu-none-flat/lib/libhwloc.a(topology-noos.o): relocation R_X86_64_32S against `.text' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.22.1/libexec/third-party/hwloc/install/linux64-x86_64-native-gnu-none-flat/lib/libhwloc.a(topology-synthetic.o): relocation R_X86_64_32 against `.rodata' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.22.1/libexec/third-party/hwloc/install/linux64-x86_64-native-gnu-none-flat/lib/libhwloc.a(topology-custom.o): relocation R_X86_64_32S against `.text' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.22.1/libexec/third-party/hwloc/install/linux64-x86_64-native-gnu-none-flat/lib/libhwloc.a(topology-xml.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.22.1/libexec/third-party/hwloc/install/linux64-x86_64-native-gnu-none-flat/lib/libhwloc.a(topology-xml-nolibxml.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.22.1/libexec/third-party/hwloc/install/linux64-x86_64-native-gnu-none-flat/lib/libhwloc.a(topology-linux.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.22.1/libexec/third-party/hwloc/install/linux64-x86_64-native-gnu-none-flat/lib/libhwloc.a(topology-hardwired.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.22.1/libexec/third-party/hwloc/install/linux64-x86_64-native-gnu-none-flat/lib/libhwloc.a(topology-x86.o): relocation R_X86_64_32S against `.text' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.22.1/libexec/third-party/hwloc/install/linux64-x86_64-native-gnu-none-flat/lib/libhwloc.a(base64.o): relocation R_X86_64_32S against `.rodata' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.22.1/libexec/third-party/hwloc/install/linux64-x86_64-native-gnu-none-flat/lib/libhwloc.a(topology-linux.o): warning: relocation against `free@@GLIBC_2.2.5' in read-only section `.text'
collect2: error: ld returned 1 exit status
gmake: *** [/home/linuxbrew/.linuxbrew/Cellar/chapel/1.22.1/libexec/runtime/etc/Makefile.exe:31: /tmp/chpl-russel-434916.deleteme/Trial.tmp] Error 1
error: compiling generated source
Build Failed

I don’t have any insights here and haven’t had time today to try to poke around, but I also didn’t want this to go completely unanswered before the weekend.

First, as a reminder, we’ve seen problems with LinuxBrew from Russel before, which may or may not be related: https://github.com/chapel-lang/chapel/issues/14966 and where we outlined a course of action, but then haven’t acted on it here. Maybe we need a LinuxBrew enthusiast to make that setting—if only we knew one…? :smiley:

I also wanted to tag @ben-albrecht here, as he oversaw a lot of GSoC work on Mason this summer (and I’m not seeing an account for the student developer on this forum yet, or at least not recognizing it). I don’t know whether this problem is particularly mason-specific, or just LinuxBrew-specific, but he may be able to tell more than I can…

We expect mason to work with the homebrew install (see mason included in the formula here: https://github.com/Homebrew/homebrew-core/blob/master/Formula/chapel.rb). I have never used LinuxBrew, so I don’t have much to add until we get a chance to reproduce the error.

@Russel - are you able to compile Chapel programs outside of mason with no issue?

As a shot in the dark, have you tried building with -fno-pie?

mason build -- --ccflags -fno-pie

Might be worth adding info on this error to the issue @bradcray linked above, or a new issue entirely.

Does the workaround identified last time will still work? (I would assume so)

brew reinstall chapel --build-from-source

from

1 Like

That only works if you have Python 2 installed. The Python code /home/linuxbrew/.linuxbrew/Cellar/chapel/1.22.1/libexec/util/chplenv/printchplenv.py starts with:

#!/usr/bin/env python

Manually hacking the file to use Python 3:

|> mason clean

|> mason update
Updating mason-registry

|> mason build
Updating mason-registry
Compiling [debug] target: Factorial_Chapel
Build Successful

|>

However, it seems there is something further wrong for testing:

|> mason test
uncaught FileNotFoundError: No such file or directory (encountered when launching subprocess)
  ./MasonTest.chpl:344: thrown here
  mason.chpl:76: uncaught here

|> 

The project looks like:

|> tree
.
├── Mason.lock
├── Mason.toml
├── SConstruct
├── src
│   └── Factorial_Chapel.chpl
└── test
    └── Factorial_Chapel_Test.chpl

@Russel - Can you share the contents of Mason.toml and Factorial_Chapel_Test.chpl?

Of course. I should have done in the first place, Sorry.

Mason.toml

|> more Mason.toml 

[brick]
name = "Factorial_Chapel"
version = "0.0.0"
chplVersion = "1.22.1"
authors = ["Russel Winder <russel@winder.org.uk>"]

[dependencies]

[dev-dependencies]

[dev-dependencies.dev-dependencies]

Factorial_Chapel_Test.chpl

|> more test/Factorial_Chapel_Test.chpl 
use BigInteger;
use UnitTest;

use Factorial_Chapel;

// const functions = (iterative, reductive_sequential, reductive_parallel);

const positiveData = (
  (0, new bigint(1)),
  (1, new bigint(1)),
  (2, new bigint(2)),
  (3, new bigint(6)),
  (4, new bigint(24)),
  (5, new bigint(120)),
  (6, new bigint(720)),
  (7, new bigint(5040)),
  (8, new bigint(40320)),
  (9, new bigint(362880)),
  (10, new bigint(3628800)),
  (11, new bigint(39916800)),
  (12, new bigint(479001600)),
  (13, new bigint(6227020800)),
  (14, new bigint(87178291200)),
  (20, new bigint(2432902008176640000)),
  (30, new bigint("265252859812191058636308480000000")),
  (40, new bigint("815915283247897734345611269596115894272000000000")),
  (1000, new bigint("40238726007709377354370243392300398571937486421071463254379991042993851239862902059204420848696940480047998861019719605863166687299480855890132382966994459099742450408707375991
88236277271887325197795059509952761208749754624970436014182780946464962910563938874378864873371191810458257836478499770124766328898359557354325131853239584630755574091142624174743493475534286465766
11667797396668820291207379143853719588249808126867838374559731746136085379534524221586593201928090878297308431392844403281231558611036976801357304216168747609675871348312025478589320767169132448426
23613141250878020800026168315102734182797770478463586817016436502415369139828126481021309276124489635992870511496497541990934222156683257208082133318611681155361583654698404670897560290095053761647
58477284218896796462449451607653534081989013854424879849599533191017233555566021394503997362807501378376153071277619268490343526252000158885351473316117021039681759215109077880193931781141945452572
23865541461062892187960223838971476088506276862967146674697562911234082439208160153780889893964518263243671616762179168909779911903754031274622289988005195444414282012187361745992642956581746628302
95557029902432415318161721046583203678690611726015878352075151628422554026517048330422614397428693306169089796848259012545832716822645806652676995865268227280707578139185817888965220816434834482599
32660433676601769996128318607883861502794659551311565520360939881806121385586003014356945272242063446317974605946825731037900840244324384656572450144028218852524709351906209290231364932734975655139
58720559654228749774011413346962715422845862377387538230483865688976461927383814900140767310446640259899490222221765904339901886018566526485061799702356193897017860040811889729918311021171229845901
64192106888438712185564612496079872290851929681937238864261483965738229112312502418664935314397013742853192664987533721894069428143411852015801412334482801505139969429015348307764456909907315243327
82882698646027898643211390835062170950025973898635542771967428222487575867657523442202075736305694988250879689281627538488633969099598262809561214509948717012445164612603790293091208890869420285106
40182154399457156805941872748998094254742173582401063677404595741785160829230135358081840096996372524230560855903700624271243416909004153690105933983835777939410970027753472000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
0000000000000000000000000000")),
  (2000, new bigint("33162750924506332411753933805763240382811172081057803945719354370603807790560082240027323085973259225540235294122583410925808481741529379613138663352634368890563405855616394060
51172525718706478563935440454052439574670376741087229704346841583437524315808775336451274879954368592474080324089465615072332506527976557571796715367186893590561128158716017172326571561100042140124
20433842573712700175883547796899921283528996665853405579854903657366350133386550401172012152635488038268152152246920995206031564418565480675946497051552288205234899995726450814065536678969532101467
62267133202683155220519449446161823927520402652972263150257475204829606475092739416585628353177957448287631459645037399132733417726360885249009350662161014445970941270782131373256383157230201994991
49583164709427744738703279855496742986088393763268241524788343874695958292577405745398375015858154681362942179499723998135994810165565638760342273129122503847098729096266224619710766059315502018951
35583165357871492290916779049702247094611937607785165110684432255905648736266530377384650390788049524600712549402614566072254136302754913671583406097831074945282217490781347709693241556111339828051
35860069059461996525731074117708151992256451677857145805660218565476095237746301667942248844448579834980154803262082989096585738175188861937669282827988845358463989659421395298446529109200910371004
61494499158285880507618679249463851808798745128914080193400746259200570987295785996436506558956124102310186905560603087836291105056012459089983834107993679020520768586691834779065585447001486926569
24631933337612428097420067172846361939249698628468719993450393889367270487127172734561700354867477509102955523953547941107421913301356819541091941462766417542161587625262858089801222443890248677182
05495941575199170127176757178749586161966593187885514183578209260148207177733173539603430496908207058995870138198081303559016076290838857456128821769813618248357673921830311841471913398689284234400
07792466912097667316514334944374732356365720488444783318549416930301245316762327453678793228474738244850922831399525097325059791270310476836014811911022292533726976938236700575656124002905760438528
52902937606479533458179666123839605262549107186663869354766108455046198102084050635827676526589492393249519685954171672419329530683673495544004586359838161043059449826627530605423580755894108278880
42782595108988063541056791795097401778068878286981021901090014835206168888372025031066592206860148364983053278208826353655804360568678128416921713304714117631217589577712263758475312351723099054982
92101346873042058980144180638753826641698977042377594062808772537022654265305808623793014226758211871435029186376363403001732518182620760397473695952026426323641454468511134272021504583838510101369
41313034856221916631623892632765815355011276307825059969158824533457435437863683173730673296589355199694458236873508830278657700879749889992343555566240682834763784685183844973648873952475103224222
11056120129582965719136810869382547576411888687934672519124619215114473883626959164367249007165342822815266124780046392254494517036372362794075778454209104830546165619062217428698160297332404652020
19928138548826819510072828697010707375009276664875021747753727423515087482467202741700315811228058961781221607474379475109506209385566745812525183766821577128078614992558761323529504223463878789548
50885764466136290394127665978044202092281337987115900896264878942413210454925003566670632909441579372986743421470507213588932019580723064781498429522595589012754823971773325722910325760929790733299
54505638836264047465024508080946911607263208749414397300070411141859553027882735765481918200244969776111134631819528276159096418979095811733862720608891043294524497853514701411244214305548608963957
83783473253235957632914389252883939862562732428627755631404638303891684216331134456363095719659784663385514923161963356753551384034258041629198378222669095217701531753387302846108418865541383291719
51332117895728541662084823682817932512931237521541926970269703299477643823386483008871530373405666383868294088487730721762268849023084934661194260180272613802108005078215741006054848201347859578102
77070778065551277254050167433239606625321641500480877240304761192903221015438535313868553848642557079079534117651957118868373988068389579274374968349814292329219630977709014393684365533335930782018
13129934550242060445633405786069624719615056033948995233218004343599672566239271964354028720554750120798543319706747973131268135236537440856622632067688375851327828962523332843418129776246970795434
36003492343159239674763638912115285406657783646213911247447051255226342701239527018127045491648045932248108858674600952306793175967755581011679940005249806303763141344412269037034987355799916009259
24807505248554156826628176081544630830540667741263012444186420410837311909313000115447056027777372437806718889977085105672727678124719883285769584421758889516046786820481001004781646235822083853248
81342708340798684866321627202088233087278190853788454691315560217288731219073939652092602291014775270809308653649798585540105774502792898146036884318215086372462169678722821693473705992862771124476
90920902988320166830170273420259765671709863311216349502171264426827119650264054228231759630874475301847194095524263411498469508073390080000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
00000000000000000000000000000000000000000000")),
);

const negativeData = (-1, -2, -5, -10, -20, -100);

proc positiveArguments(test: borrowed Test) throws {
  //for f in functions {
  for (v, r) in positiveData {
    test.assertEqual(iterative(v), r);
    test.assertEqual(iterative(new bigint(v)), r);
    test.assertEqual(reductive_sequential(v), r);
    test.assertEqual(reductive_sequential(new bigint(v)), r);
    test.assertEqual(reductive_parallel(v), r);
    test.assertEqual(reductive_parallel(new bigint(v)), r);
  }
  //}
}

UnitTest.main();

With src/Factorial_Chapel.chpl being:

|> more src/Factorial_Chapel.chpl 
/*
 * A collection of implementations of factorial, which is defined by the recurrence relation:
 *
 *  f_0 = 1
 *  f_n = n . f_{n - 1}, n > 0
 *
 * The tail recursive implementation is only of limited usefulness since Chapel does not support
 * tail recursion optimization – so each tail recursive call uses a new stack frame just as the
 * recursive implementation does and the stack size is strictly limited.
 */

use Assert;
use BigInteger;

const zero = new bigint(0);
const one = new bigint(1);

proc iterative(n: bigint): bigint {
  assert(n >= 0);
  var total = new bigint(1);
  var count = n;
  while count > one {
    total *= count;
    count -= one;
  }
  /*
    for i in one..n {
    total *= i;
    }
  */
  return total;
}

proc iterative(n: int): bigint {
  assert(n >= 0);
  var total = new bigint(1);
  for i in 1..n do total *= i;
  return total;
}

proc reductive_sequential(n: bigint): bigint {
  assert(n >= 0);
  return * reduce for i in one..n do i;
}

proc reductive_sequential(n:int): bigint {
  assert(n >= 0);
  return * reduce for i in 1..n do new bigint(i);
}

proc reductive_parallel(n: bigint): bigint {
  assert(n >= 0);
  return * reduce [i in one..n] i;
}

proc reductive_parallel(n: int): bigint {
  assert(n >= 0);
  return * reduce [i in 1..n] new bigint(i);
}

This won’t actually compile and run as a test because of the use of one…n ranges of bigints which requires Brad’s special Chapel version to work.

1 Like

@Russel - thanks. I have reproduced the error on 1.22.1. It looks like the compilation failure is propagating as an error in MasonTest, rather than giving the clean output.

Fortunately, this bug has been fixed on the master branch and the upcoming 1.23.0 release. Here’s the output I get on the master branch today:

Skipping registry update since no dependency found in manifest file.
compilation failed for Factorial_Chapel_Test.chpl

======================================================================
ERROR Factorial_Chapel_Test.chpl: Factorial_Chapel_Test
----------------------------------------------------------------------
Factorial_Chapel_Test.chpl failed to compile
----------------------------------------------------------------------
Ran 1 test in 2.6901 seconds

FAILED (errors = 1 )
2 Likes

Thanks @ben-albrecht good to know it was a real bug. Sorry I didn’t file an actual bug report.

I wonder if Brad can get the bigint stuff into 1.23.0 or whether that will have to wait for later – I’d rather not hack the code knowing a fix is on the way!

Code freeze for 1.23 was Monday (and feature freeze the week before) so bigint ranges will have to wait for 1.24. However if you are willing to work from a git clone rather than a release it’s possible a branch might be ready soon.

One more thing -

The tail recursive implementation is only of limited usefulness since Chapel does not support tail recursion optimization

Actually with --llvm we do tail recursion optimization. However you might be hoping for some kind of language-level guarantee about the tail recursion optimization. If so, I think it would be interesting to discuss that in another spin-off topic.

I will see if Linuxbrew delivers Git HEAD when asked to do so – I want to avoid manual cloning since that requires effort from me to watch for updates.

I seem to have removed the attempts at naive_recursive and tail_recursive but left the comment in place. I should put the recursive implementations in place for completeness. This will then allow for a test of the tail recursive optimisation in LLVM.

@mppf It seems the Homebrew and Linuxbrew formulæ do not allow for installing Chapel from Git HEAD, only from released versions.

@ben-albrecht Chapel 1.23.0 was released on Linuxbrew. I installed from source since installing from bottles fails to install the shared libraries. I edited $linuxbrewhome/.linuxbrew/Cellar/chapel/1.23.0/libexec/util/chplenv/printchplenv.py because it assumes Python 2 is installed – #!/usr/bin/env python as first line of the file.

However, seeming sadness:

 |> chpl --version
chpl version 1.23.0
Copyright 2020 Hewlett Packard Enterprise Development LP
Copyright 2004-2019 Cray Inc.
(See LICENSE file for more details)

|> mason --version
mason 0.1.2

|> mason test
uncaught FileNotFoundError: No such file or directory (encountered when launching subprocess)
  ./MasonTest.chpl:432: thrown here
  mason.chpl:76: uncaught here

Does this imply I have made an error or that the fix didn’t make it into 1.23.0?

@Russel - Sorry to hear you’re running into trouble still.The release included the fix mentioned above, but this may be a separate issue.

Here’s a couple ideas:

Does your system have a valid python available? If not, could you try it with python aliased to python3? edit: a symlink would be required, not an alias (you figured it out on your own though).

Also, can you verify the following file exist in the linuxbrew install?

CHPL_HOME/util/chplenv/chpl_comm.py

where CHPL_HOME is the env variable $CHPL_HOME or the value printed in printchplenv if $CHPL_HOME is not set.

Long-term, we’re looking into making Chapel more reslient w.r.t. python versioning and I’ll look into making this error message better in case others hit it in the future.

Python 2 is an ex-Python, it is no more :slight_smile:

 |> python
bash: python: command not found

I relent and make a symbolic link:

|> which python
/home/users/russel/Built/bin/python
518 lynet:~ 
|> python
Python 3.8.6 (default, Sep 25 2020, 09:36:53) 
[GCC 10.2.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> 

and now I get:

|> mason clean
520 lynet:~/Progs/Applications/Factorial/Chapel (git:master)
|> mason build
Skipping registry update since no dependency found in manifest file.
Compiling [debug] target: Factorial
Build Successful

521 lynet:~/Progs/Applications/Factorial/Chapel (git:master)
|> mason test
Skipping registry update since no dependency found in manifest file.

----------------------------------------------------------------------
Ran 2 tests in 11.3921 seconds

OK (passed = 2 )

So clearly the Chapel system requires Python 2 for some of the hidden Python scripts.

As for the environment:

|> /home/linuxbrew/.linuxbrew/Cellar/chapel/1.23.0/libexec/util/printchplenv
machine info: Linux lynet 5.8.0-3-amd64 #1 SMP Debian 5.8.14-1 (2020-10-10) x86_64
CHPL_HOME: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.23.0/libexec
script location: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.23.0/libexec/util/chplenv
CHPL_TARGET_PLATFORM: linux64
CHPL_TARGET_COMPILER: gnu
CHPL_TARGET_ARCH: x86_64
CHPL_TARGET_CPU: native
CHPL_LOCALE_MODEL: flat
CHPL_COMM: none
CHPL_TASKS: qthreads
CHPL_LAUNCHER: none
CHPL_TIMERS: generic
CHPL_UNWIND: none
CHPL_MEM: jemalloc
CHPL_ATOMICS: cstdlib
CHPL_GMP: system *
CHPL_HWLOC: hwloc
CHPL_REGEXP: re2
CHPL_LLVM: none
CHPL_AUX_FILESYS: none

|> /home/linuxbrew/.linuxbrew/Cellar/chapel/1.23.0/libexec/util/chplenv/chpl_comm.py 
none
1 Like

Hi -

It doesn’t require Python 2, it requires a command named python which could be python2 or python3. However it has become clear that current linux distributions aren’t shipping any python command by default (the expectation seems to be to use python3 instead).

We are working on making Chapel handle that scenario better here: https://github.com/chapel-lang/chapel/pull/16560

1 Like

I was lax with my comment: the mindset on most Linux distributions is that python is python2. There are a couple of distributions that make python python3 but it is not yet de facto standard.

No worries. Thanks for trying the new release!

@ben-albrecht Sadly that command line on a reinstalled bottle of Chapel seems not to work. :frowning:

|> chpl --version
chpl version 1.23.0
Copyright 2020 Hewlett Packard Enterprise Development LP
Copyright 2004-2019 Cray Inc.
(See LICENSE file for more details)
541 lynet:~/Progs/Applications/Factorial/Chapel (git:master)
|> mason --version
mason 0.1.2
542 lynet:~/Progs/Applications/Factorial/Chapel (git:master)
|> mason build -- --ccflags -fno-pie
Skipping registry update since no dependency found in manifest file.
Compiling [debug] target: Factorial
/usr/bin/ld: /tmp/chpl-russel-274193.deleteme/Factorial.tmp.o: relocation R_X86_64_32S against symbol `chpl_qthread_comm_task_tls' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.23.0/libexec/lib/linux64/gnu/x86_64/arch-native/loc-flat/comm-none/tasks-qthreads/tmr-generic/unwind-none/mem-jemalloc/atomics-cstdlib/hwloc/re2/fs-none/lib_pic-none/sanitizers-none/main.o: relocation R_X86_64_32 against symbol `chpl_executable_init' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.23.0/libexec/lib/linux64/gnu/x86_64/arch-native/loc-flat/comm-none/tasks-qthreads/tmr-generic/unwind-none/mem-jemalloc/atomics-cstdlib/hwloc/re2/fs-none/lib_pic-none/sanitizers-none/libchpl.a(chpl-linefile-support.o): relocation R_X86_64_32S against symbol `chpl_filenameTable' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.23.0/libexec/lib/linux64/gnu/x86_64/arch-native/loc-flat/comm-none/tasks-qthreads/tmr-generic/unwind-none/mem-jemalloc/atomics-cstdlib/hwloc/re2/fs-none/lib_pic-none/sanitizers-none/libchpl.a(chplcast.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.23.0/libexec/lib/linux64/gnu/x86_64/arch-native/loc-flat/comm-none/tasks-qthreads/tmr-generic/unwind-none/mem-jemalloc/atomics-cstdlib/hwloc/re2/fs-none/lib_pic-none/sanitizers-none/libchpl.a(config.o): relocation R_X86_64_32S against `.bss' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.23.0/libexec/lib/linux64/gnu/x86_64/arch-native/loc-flat/comm-none/tasks-qthreads/tmr-generic/unwind-none/mem-jemalloc/atomics-cstdlib/hwloc/re2/fs-none/lib_pic-none/sanitizers-none/libchpl.a(error.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.23.0/libexec/lib/linux64/gnu/x86_64/arch-native/loc-flat/comm-none/tasks-qthreads/tmr-generic/unwind-none/mem-jemalloc/atomics-cstdlib/hwloc/re2/fs-none/lib_pic-none/sanitizers-none/libchpl.a(chpl-comm.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.23.0/libexec/lib/linux64/gnu/x86_64/arch-native/loc-flat/comm-none/tasks-qthreads/tmr-generic/unwind-none/mem-jemalloc/atomics-cstdlib/hwloc/re2/fs-none/lib_pic-none/sanitizers-none/libchpl.a(chpl-comm-diags.o): relocation R_X86_64_32 against `.text' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.23.0/libexec/lib/linux64/gnu/x86_64/arch-native/loc-flat/comm-none/tasks-qthreads/tmr-generic/unwind-none/mem-jemalloc/atomics-cstdlib/hwloc/re2/fs-none/lib_pic-none/sanitizers-none/libchpl.a(chpl-init.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.23.0/libexec/lib/linux64/gnu/x86_64/arch-native/loc-flat/comm-none/tasks-qthreads/tmr-generic/unwind-none/mem-jemalloc/atomics-cstdlib/hwloc/re2/fs-none/lib_pic-none/sanitizers-none/libchpl.a(chpl-external-array.o): relocation R_X86_64_32S against `.text' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.23.0/libexec/lib/linux64/gnu/x86_64/arch-native/loc-flat/comm-none/tasks-qthreads/tmr-generic/unwind-none/mem-jemalloc/atomics-cstdlib/hwloc/re2/fs-none/lib_pic-none/sanitizers-none/libchpl.a(chpl-mem-hook.o): relocation R_X86_64_32 against `.rodata.str1.8' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.23.0/libexec/lib/linux64/gnu/x86_64/arch-native/loc-flat/comm-none/tasks-qthreads/tmr-generic/unwind-none/mem-jemalloc/atomics-cstdlib/hwloc/re2/fs-none/lib_pic-none/sanitizers-none/libchpl.a(chplmemtrack.o): relocation R_X86_64_32S against `.rodata' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.23.0/libexec/lib/linux64/gnu/x86_64/arch-native/loc-flat/comm-none/tasks-qthreads/tmr-generic/unwind-none/mem-jemalloc/atomics-cstdlib/hwloc/re2/fs-none/lib_pic-none/sanitizers-none/libchpl.a(chplsys.o): relocation R_X86_64_32 against `.bss' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.23.0/libexec/lib/linux64/gnu/x86_64/arch-native/loc-flat/comm-none/tasks-qthreads/tmr-generic/unwind-none/mem-jemalloc/atomics-cstdlib/hwloc/re2/fs-none/lib_pic-none/sanitizers-none/libchpl.a(chpl-tasks.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.23.0/libexec/lib/linux64/gnu/x86_64/arch-native/loc-flat/comm-none/tasks-qthreads/tmr-generic/unwind-none/mem-jemalloc/atomics-cstdlib/hwloc/re2/fs-none/lib_pic-none/sanitizers-none/libchpl.a(tasks-qthreads.o): relocation R_X86_64_32 against `.rodata.str1.8' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.23.0/libexec/lib/linux64/gnu/x86_64/arch-native/loc-flat/comm-none/tasks-qthreads/tmr-generic/unwind-none/mem-jemalloc/atomics-cstdlib/hwloc/re2/fs-none/lib_pic-none/sanitizers-none/libchpl.a(comm-none-locales.o): relocation R_X86_64_32 against `.rodata.str1.8' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.23.0/libexec/lib/linux64/gnu/x86_64/arch-native/loc-flat/comm-none/tasks-qthreads/tmr-generic/unwind-none/mem-jemalloc/atomics-cstdlib/hwloc/re2/fs-none/lib_pic-none/sanitizers-none/libchpl.a(comm-none.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.23.0/libexec/lib/linux64/gnu/x86_64/arch-native/loc-flat/comm-none/tasks-qthreads/tmr-generic/unwind-none/mem-jemalloc/atomics-cstdlib/hwloc/re2/fs-none/lib_pic-none/sanitizers-none/libchpl.a(mem-jemalloc.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.23.0/libexec/lib/linux64/gnu/x86_64/arch-native/loc-flat/comm-none/tasks-qthreads/tmr-generic/unwind-none/mem-jemalloc/atomics-cstdlib/hwloc/re2/fs-none/lib_pic-none/sanitizers-none/libchpl.a(qio_error.o): relocation R_X86_64_32 against `.bss' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.23.0/libexec/lib/linux64/gnu/x86_64/arch-native/loc-flat/comm-none/tasks-qthreads/tmr-generic/unwind-none/mem-jemalloc/atomics-cstdlib/hwloc/re2/fs-none/lib_pic-none/sanitizers-none/libchpl.a(qio.o): relocation R_X86_64_32 against `.rodata' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.23.0/libexec/lib/linux64/gnu/x86_64/arch-native/loc-flat/comm-none/tasks-qthreads/tmr-generic/unwind-none/mem-jemalloc/atomics-cstdlib/hwloc/re2/fs-none/lib_pic-none/sanitizers-none/libchpl.a(qio_formatted.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.23.0/libexec/lib/linux64/gnu/x86_64/arch-native/loc-flat/comm-none/tasks-qthreads/tmr-generic/unwind-none/mem-jemalloc/atomics-cstdlib/hwloc/re2/fs-none/lib_pic-none/sanitizers-none/libchpl.a(sys.o): relocation R_X86_64_32S against `.rodata' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.23.0/libexec/lib/linux64/gnu/x86_64/arch-native/loc-flat/comm-none/tasks-qthreads/tmr-generic/unwind-none/mem-jemalloc/atomics-cstdlib/hwloc/re2/fs-none/lib_pic-none/sanitizers-none/libchpl.a(topo-hwloc.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.23.0/libexec/lib/linux64/gnu/x86_64/arch-native/loc-flat/comm-none/tasks-qthreads/tmr-generic/unwind-none/mem-jemalloc/atomics-cstdlib/hwloc/re2/fs-none/lib_pic-none/sanitizers-none/libchpl.a(arg.o): relocation R_X86_64_32 against `.rodata.str1.8' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.23.0/libexec/lib/linux64/gnu/x86_64/arch-native/loc-flat/comm-none/tasks-qthreads/tmr-generic/unwind-none/mem-jemalloc/atomics-cstdlib/hwloc/re2/fs-none/lib_pic-none/sanitizers-none/libchpl.a(chpl-env.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.23.0/libexec/lib/linux64/gnu/x86_64/arch-native/loc-flat/comm-none/tasks-qthreads/tmr-generic/unwind-none/mem-jemalloc/atomics-cstdlib/hwloc/re2/fs-none/lib_pic-none/sanitizers-none/libchpl.a(chpl-string-support.o): relocation R_X86_64_32 against `.rodata.str1.8' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.23.0/libexec/lib/linux64/gnu/x86_64/arch-native/loc-flat/comm-none/tasks-qthreads/tmr-generic/unwind-none/mem-jemalloc/atomics-cstdlib/hwloc/re2/fs-none/lib_pic-none/sanitizers-none/libchpl.a(chpl-comm-callbacks.o): relocation R_X86_64_32S against symbol `chpl_comm_callback_counts' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.23.0/libexec/lib/linux64/gnu/x86_64/arch-native/loc-flat/comm-none/tasks-qthreads/tmr-generic/unwind-none/mem-jemalloc/atomics-cstdlib/hwloc/re2/fs-none/lib_pic-none/sanitizers-none/libchpl.a(chpl-mem-desc.o): relocation R_X86_64_32S against symbol `chpl_mem_descs' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.23.0/libexec/lib/linux64/gnu/x86_64/arch-native/loc-flat/comm-none/tasks-qthreads/tmr-generic/unwind-none/mem-jemalloc/atomics-cstdlib/hwloc/re2/fs-none/lib_pic-none/sanitizers-none/libchpl.a(chpl-tasks-callbacks.o): relocation R_X86_64_32S against symbol `chpl_task_callback_counts' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.23.0/libexec/lib/linux64/gnu/x86_64/arch-native/loc-flat/comm-none/tasks-qthreads/tmr-generic/unwind-none/mem-jemalloc/atomics-cstdlib/hwloc/re2/fs-none/lib_pic-none/sanitizers-none/libchpl.a(qbuffer.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.23.0/libexec/lib/linux64/gnu/x86_64/arch-native/loc-flat/comm-none/tasks-qthreads/tmr-generic/unwind-none/mem-jemalloc/atomics-cstdlib/hwloc/re2/fs-none/lib_pic-none/sanitizers-none/libchpl.a(deque.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.23.0/libexec/third-party/jemalloc/install/linux64-x86_64-native-gnu-none/lib/libjemalloc.a(jemalloc.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.23.0/libexec/third-party/jemalloc/install/linux64-x86_64-native-gnu-none/lib/libjemalloc.a(arena.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.23.0/libexec/third-party/jemalloc/install/linux64-x86_64-native-gnu-none/lib/libjemalloc.a(base.o): relocation R_X86_64_32S against hidden symbol `chpl_je_size2index_tab' can not be used when making a PIE object
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.23.0/libexec/third-party/jemalloc/install/linux64-x86_64-native-gnu-none/lib/libjemalloc.a(chunk.o): relocation R_X86_64_32 against `.rodata' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.23.0/libexec/third-party/jemalloc/install/linux64-x86_64-native-gnu-none/lib/libjemalloc.a(ctl.o): relocation R_X86_64_32 against `.rodata' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.23.0/libexec/third-party/jemalloc/install/linux64-x86_64-native-gnu-none/lib/libjemalloc.a(extent.o): relocation R_X86_64_32S against hidden symbol `chpl_je_size2index_tab' can not be used when making a PIE object
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.23.0/libexec/third-party/jemalloc/install/linux64-x86_64-native-gnu-none/lib/libjemalloc.a(huge.o): relocation R_X86_64_32S against hidden symbol `chpl_je_chunks_rtree' can not be used when making a PIE object
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.23.0/libexec/third-party/jemalloc/install/linux64-x86_64-native-gnu-none/lib/libjemalloc.a(mutex.o): relocation R_X86_64_32 against `.rodata.str1.8' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.23.0/libexec/third-party/jemalloc/install/linux64-x86_64-native-gnu-none/lib/libjemalloc.a(pages.o): relocation R_X86_64_32 against `.rodata.str1.8' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.23.0/libexec/third-party/jemalloc/install/linux64-x86_64-native-gnu-none/lib/libjemalloc.a(prof.o): relocation R_X86_64_32 against `.bss' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.23.0/libexec/third-party/jemalloc/install/linux64-x86_64-native-gnu-none/lib/libjemalloc.a(quarantine.o): relocation R_X86_64_32S against hidden symbol `chpl_je_size2index_tab' can not be used when making a PIE object
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.23.0/libexec/third-party/jemalloc/install/linux64-x86_64-native-gnu-none/lib/libjemalloc.a(stats.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.23.0/libexec/third-party/jemalloc/install/linux64-x86_64-native-gnu-none/lib/libjemalloc.a(tcache.o): relocation R_X86_64_32S against hidden symbol `chpl_je_index2size_tab' can not be used when making a PIE object
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.23.0/libexec/third-party/jemalloc/install/linux64-x86_64-native-gnu-none/lib/libjemalloc.a(tsd.o): relocation R_X86_64_32 against `.rodata.str1.8' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.23.0/libexec/third-party/jemalloc/install/linux64-x86_64-native-gnu-none/lib/libjemalloc.a(util.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.23.0/libexec/third-party/jemalloc/install/linux64-x86_64-native-gnu-none/lib/libjemalloc.a(witness.o): relocation R_X86_64_32 against `.rodata.str1.8' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.23.0/libexec/third-party/jemalloc/install/linux64-x86_64-native-gnu-none/lib/libjemalloc.a(ckh.o): relocation R_X86_64_32S against hidden symbol `chpl_je_size2index_tab' can not be used when making a PIE object
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.23.0/libexec/third-party/qthread/install/linux64-x86_64-native-gnu-none-flat-jemalloc-hwloc/lib/libqthread.a(feb.o): relocation R_X86_64_32 against `.text' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.23.0/libexec/third-party/qthread/install/linux64-x86_64-native-gnu-none-flat-jemalloc-hwloc/lib/libqthread.a(qthread.o): relocation R_X86_64_32 against `.rodata.str1.8' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.23.0/libexec/third-party/qthread/install/linux64-x86_64-native-gnu-none-flat-jemalloc-hwloc/lib/libqthread.a(mpool.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.23.0/libexec/third-party/qthread/install/linux64-x86_64-native-gnu-none-flat-jemalloc-hwloc/lib/libqthread.a(nemesis_threadqueues.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.23.0/libexec/third-party/qthread/install/linux64-x86_64-native-gnu-none-flat-jemalloc-hwloc/lib/libqthread.a(donecount.o): relocation R_X86_64_32 against `.rodata.str1.8' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.23.0/libexec/third-party/qthread/install/linux64-x86_64-native-gnu-none-flat-jemalloc-hwloc/lib/libqthread.a(common.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.23.0/libexec/third-party/qthread/install/linux64-x86_64-native-gnu-none-flat-jemalloc-hwloc/lib/libqthread.a(hwloc_via_chapel.o): relocation R_X86_64_32 against `.rodata.str1.8' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.23.0/libexec/third-party/qthread/install/linux64-x86_64-native-gnu-none-flat-jemalloc-hwloc/lib/libqthread.a(teams.o): relocation R_X86_64_32 against `.text' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.23.0/libexec/third-party/qthread/install/linux64-x86_64-native-gnu-none-flat-jemalloc-hwloc/lib/libqthread.a(hash.o): relocation R_X86_64_32S against `.rodata' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.23.0/libexec/third-party/qthread/install/linux64-x86_64-native-gnu-none-flat-jemalloc-hwloc/lib/libqthread.a(cacheline.o): relocation R_X86_64_32S against `.rodata' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.23.0/libexec/third-party/qthread/install/linux64-x86_64-native-gnu-none-flat-jemalloc-hwloc/lib/libqthread.a(envariables.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.23.0/libexec/third-party/qthread/install/linux64-x86_64-native-gnu-none-flat-jemalloc-hwloc/lib/libqthread.a(hazardptrs.o): relocation R_X86_64_32 against `.text' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.23.0/libexec/third-party/qthread/install/linux64-x86_64-native-gnu-none-flat-jemalloc-hwloc/lib/libqthread.a(io.o): relocation R_X86_64_32 against `.bss' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.23.0/libexec/third-party/qthread/install/linux64-x86_64-native-gnu-none-flat-jemalloc-hwloc/lib/libqthread.a(queue.o): relocation R_X86_64_32 against `.text' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.23.0/libexec/third-party/qthread/install/linux64-x86_64-native-gnu-none-flat-jemalloc-hwloc/lib/libqthread.a(lt1-feb.o): relocation R_X86_64_32 against `.text' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.23.0/libexec/third-party/qthread/install/linux64-x86_64-native-gnu-none-flat-jemalloc-hwloc/lib/libqthread.a(syncvar.o): relocation R_X86_64_32 against `.text' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.23.0/libexec/third-party/hwloc/install/linux64-x86_64-native-gnu-none-flat/lib/libhwloc.a(topology.o): relocation R_X86_64_32 against `.rodata' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.23.0/libexec/third-party/hwloc/install/linux64-x86_64-native-gnu-none-flat/lib/libhwloc.a(traversal.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.23.0/libexec/third-party/hwloc/install/linux64-x86_64-native-gnu-none-flat/lib/libhwloc.a(distances.o): relocation R_X86_64_32 against `.rodata.str1.8' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.23.0/libexec/third-party/hwloc/install/linux64-x86_64-native-gnu-none-flat/lib/libhwloc.a(components.o): relocation R_X86_64_32 against `.bss' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.23.0/libexec/third-party/hwloc/install/linux64-x86_64-native-gnu-none-flat/lib/libhwloc.a(bind.o): relocation R_X86_64_32S against `.text' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.23.0/libexec/third-party/hwloc/install/linux64-x86_64-native-gnu-none-flat/lib/libhwloc.a(bitmap.o): relocation R_X86_64_32 against `.rodata' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.23.0/libexec/third-party/hwloc/install/linux64-x86_64-native-gnu-none-flat/lib/libhwloc.a(misc.o): relocation R_X86_64_32S against `.bss' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.23.0/libexec/third-party/hwloc/install/linux64-x86_64-native-gnu-none-flat/lib/libhwloc.a(topology-noos.o): relocation R_X86_64_32S against `.text' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.23.0/libexec/third-party/hwloc/install/linux64-x86_64-native-gnu-none-flat/lib/libhwloc.a(topology-synthetic.o): relocation R_X86_64_32 against `.rodata' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.23.0/libexec/third-party/hwloc/install/linux64-x86_64-native-gnu-none-flat/lib/libhwloc.a(topology-custom.o): relocation R_X86_64_32S against `.text' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.23.0/libexec/third-party/hwloc/install/linux64-x86_64-native-gnu-none-flat/lib/libhwloc.a(topology-xml.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.23.0/libexec/third-party/hwloc/install/linux64-x86_64-native-gnu-none-flat/lib/libhwloc.a(topology-xml-nolibxml.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.23.0/libexec/third-party/hwloc/install/linux64-x86_64-native-gnu-none-flat/lib/libhwloc.a(topology-linux.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.23.0/libexec/third-party/hwloc/install/linux64-x86_64-native-gnu-none-flat/lib/libhwloc.a(topology-hardwired.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.23.0/libexec/third-party/hwloc/install/linux64-x86_64-native-gnu-none-flat/lib/libhwloc.a(topology-x86.o): relocation R_X86_64_32S against `.text' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.23.0/libexec/third-party/hwloc/install/linux64-x86_64-native-gnu-none-flat/lib/libhwloc.a(base64.o): relocation R_X86_64_32S against `.rodata' can not be used when making a PIE object; recompile with -fPIE
/usr/bin/ld: /home/linuxbrew/.linuxbrew/Cellar/chapel/1.23.0/libexec/third-party/qthread/install/linux64-x86_64-native-gnu-none-flat-jemalloc-hwloc/lib/libqthread.a(hashmap.o): warning: relocation against `memset@@GLIBC_2.2.5' in read-only section `.text'
collect2: error: ld returned 1 exit status
gmake: *** [/home/linuxbrew/.linuxbrew/Cellar/chapel/1.23.0/libexec/runtime/etc/Makefile.exe:31: /tmp/chpl-russel-274193.deleteme/Factorial.tmp] Error 1
error: compiling generated source
Build Failed

It seems that the Brew formula for LinuxBrew is (indirectly) installing shared libraries for some of the third party dependencies?