~/.local/bin/cmake --version
cmake version 4.2.3
The project is Transition to CXX_MOUDLES for asio
root@b40851a7588d:/home/builder/workdir/build/linux-gcc/src/tests/unit/find-package-test# ~/.local/bin/cmake --build . --config Release --target all -j 1 -v
Change Dir: '/home/builder/workdir/build/linux-gcc/src/tests/unit/find-package-test'
Run Build Command(s): /usr/bin/ninja -v -j 1 -f build-Release.ninja all
[1/3] /usr/bin/g++ -DASIO_DISABLE_BOOST_CONTEXT_FIBER -DASIO_HAS_IMPORT_STD -DASIO_STANDALONE -DCMAKE_INTDIR=\"Release\" -isystem /home/builder/workdir/build/linux-gcc/stagedir/include/asio-1.36.0 -O3 -DNDEBUG -std=gnu++23 -fmodule-only -MD -MT 'CMakeFiles/asio__asio@synth_f96929115e2d.dir/Release/7bf0e0f07b9c.bmi' -MF CMakeFiles/asio__asio@synth_f96929115e2d.dir/Release/7bf0e0f07b9c.bmi.d -fmodules-ts -fmodule-mapper=CMakeFiles/asio__asio@synth_f96929115e2d.dir/Release/7bf0e0f07b9c.bmi.modmap -MD -fdeps-format=p1689r5 -x c++ -o 'CMakeFiles/asio__asio@synth_f96929115e2d.dir/Release/7bf0e0f07b9c.bmi' -c /home/builder/workdir/build/linux-gcc/stagedir/lib/cmake/asio-1.36.0/modules/asio.ixx
FAILED: CMakeFiles/asio__asio@synth_f96929115e2d.dir/Release/7bf0e0f07b9c.bmi
/usr/bin/g++ -DASIO_DISABLE_BOOST_CONTEXT_FIBER -DASIO_HAS_IMPORT_STD -DASIO_STANDALONE -DCMAKE_INTDIR=\"Release\" -isystem /home/builder/workdir/build/linux-gcc/stagedir/include/asio-1.36.0 -O3 -DNDEBUG -std=gnu++23 -fmodule-only -MD -MT 'CMakeFiles/asio__asio@synth_f96929115e2d.dir/Release/7bf0e0f07b9c.bmi' -MF CMakeFiles/asio__asio@synth_f96929115e2d.dir/Release/7bf0e0f07b9c.bmi.d -fmodules-ts -fmodule-mapper=CMakeFiles/asio__asio@synth_f96929115e2d.dir/Release/7bf0e0f07b9c.bmi.modmap -MD -fdeps-format=p1689r5 -x c++ -o 'CMakeFiles/asio__asio@synth_f96929115e2d.dir/Release/7bf0e0f07b9c.bmi' -c /home/builder/workdir/build/linux-gcc/stagedir/lib/cmake/asio-1.36.0/modules/asio.ixx
/home/builder/workdir/build/linux-gcc/stagedir/lib/cmake/asio-1.36.0/modules/asio.ixx:11:1: fatal error: unknown compiled module interface: no such module
11 | import std;
| ^~~~~~
compilation terminated.
ninja: build stopped: subcommand failed.
root@b40851a7588d:/home/builder/workdir/build/linux-gcc/src/tests/unit/find-package-test# ~/.local/bin/cmake --build . --config Release --target help
[1/1] All primary targets available:
edit_cache: phony
rebuild_cache: phony
CMakeFiles/impl-Debug.ninja: RERUN_CMAKE
build-Debug.ninja: RERUN_CMAKE
CMakeFiles/impl-Release.ninja: RERUN_CMAKE
build-Release.ninja: RERUN_CMAKE
CMakeFiles/impl-RelWithDebInfo.ninja: RERUN_CMAKE
build-RelWithDebInfo.ninja: RERUN_CMAKE
build.ninja: RERUN_CMAKE
/home/builder/workdir/build/linux-gcc/src/tests/unit/find-package-test/cmake_install.cmake: RERUN_CMAKE
CMakeFiles/cmake_byproducts_for_clean_target: phony
CMakeFiles/cmake_byproducts_for_clean_target:Debug: phony
CMakeFiles/cmake_byproducts_for_clean_target:Release: phony
CMakeFiles/cmake_byproducts_for_clean_target:RelWithDebInfo: phony
help: HELP
CMakeFiles/example.completion_executor.dir/Debug/CXXModules.json: CXX_DYNDEP__example.2ecompletion_executor_Debug
CMakeFiles/example.User.dir/Debug/CXXModules.json: CXX_DYNDEP__example.2eUser_Debug
CMakeFiles/__CMAKE__CXX23@synth_f96929115e2d.dir/Debug/7a02772df09c.bmi: CXX_COMPILER____CMAKE__CXX23.40synth_f96929115e2d_scanned_Debug
CMakeFiles/__CMAKE__CXX23@synth_f96929115e2d.dir/Debug/0a6ced1a3a08.bmi: CXX_COMPILER____CMAKE__CXX23.40synth_f96929115e2d_scanned_Debug
CMakeFiles/__CMAKE__CXX23@synth_f96929115e2d.dir/Debug/7a02772df09c.bmi.modmap: CXX_DYNDEP____CMAKE__CXX23.40synth_f96929115e2d_Debug
CMakeFiles/__CMAKE__CXX23@synth_f96929115e2d.dir/Debug/0a6ced1a3a08.bmi.modmap: CXX_DYNDEP____CMAKE__CXX23.40synth_f96929115e2d_Debug
CMakeFiles/asio__asio@synth_f96929115e2d.dir/Debug/33a88ee93765.bmi: CXX_COMPILER__asio__asio.40synth_f96929115e2d_scanned_Debug
CMakeFiles/asio__asio@synth_f96929115e2d.dir/Debug/33a88ee93765.bmi.modmap: CXX_DYNDEP__asio__asio.40synth_f96929115e2d_Debug
M:Debug: phony
example.User:Debug: phony
example.completion_executor:Debug: phony
libM.a:Debug: phony
M: phony
__CMAKE__CXX23@synth_f96929115e2d: phony
asio__asio@synth_f96929115e2d: phony
example.User: phony
example.completion_executor: phony
libM.a: phony
codegen: phony
all: phony
clean: phony
root@b40851a7588d:/home/builder/workdir/build/linux-gcc/src/tests/unit/find-package-test#
cmake –build . –config Debug works fine!
The full build log
root@b40851a7588d:/home/builder/workdir/build/linux-gcc/src/tests/unit/find-package-test# ~/.local/bin/cmake --build . --config Release --target clean
[1/1] Cleaning all built files...
Cleaning... 42 files.
root@b40851a7588d:/home/builder/workdir/build/linux-gcc/src/tests/unit/find-package-test# ~/.local/bin/cmake --build . --config Release --target all -j1 -v
Change Dir: '/home/builder/workdir/build/linux-gcc/src/tests/unit/find-package-test'
Run Build Command(s): /usr/bin/ninja -v -j 1 -f build-Release.ninja all
[1/23] /usr/bin/g++ -DCMAKE_INTDIR=\"Release\" -O3 -DNDEBUG -std=gnu++23 -E -x c++ /home/builder/workdir/src/examples/Impl.cpp -MT CMakeFiles/M.dir/Release/Impl.cpp.o.ddi -MD -MF CMakeFiles/M.dir/Release/Impl.cpp.o.ddi.d -fmodules-ts -fdeps-file=CMakeFiles/M.dir/Release/Impl.cpp.o.ddi -fdeps-target=CMakeFiles/M.dir/Release/Impl.cpp.o -fdeps-format=p1689r5 -o CMakeFiles/M.dir/Release/Impl.cpp.o.ddi.i
[2/23] /usr/bin/g++ -DCMAKE_INTDIR=\"Release\" -O3 -DNDEBUG -std=gnu++23 -E -x c++ /home/builder/workdir/src/examples/impl_part.cpp -MT CMakeFiles/M.dir/Release/impl_part.cpp.o.ddi -MD -MF CMakeFiles/M.dir/Release/impl_part.cpp.o.ddi.d -fmodules-ts -fdeps-file=CMakeFiles/M.dir/Release/impl_part.cpp.o.ddi -fdeps-target=CMakeFiles/M.dir/Release/impl_part.cpp.o -fdeps-format=p1689r5 -o CMakeFiles/M.dir/Release/impl_part.cpp.o.ddi.i
[3/23] /usr/bin/g++ -DCMAKE_INTDIR=\"Release\" -O3 -DNDEBUG -std=gnu++23 -E -x c++ /home/builder/workdir/src/examples/M.cppm -MT CMakeFiles/M.dir/Release/M.cppm.o.ddi -MD -MF CMakeFiles/M.dir/Release/M.cppm.o.ddi.d -fmodules-ts -fdeps-file=CMakeFiles/M.dir/Release/M.cppm.o.ddi -fdeps-target=CMakeFiles/M.dir/Release/M.cppm.o -fdeps-format=p1689r5 -o CMakeFiles/M.dir/Release/M.cppm.o.ddi.i
[4/23] /usr/bin/g++ -DCMAKE_INTDIR=\"Release\" -O3 -DNDEBUG -std=gnu++23 -E -x c++ /home/builder/workdir/src/examples/interface_part.cppm -MT CMakeFiles/M.dir/Release/interface_part.cppm.o.ddi -MD -MF CMakeFiles/M.dir/Release/interface_part.cppm.o.ddi.d -fmodules-ts -fdeps-file=CMakeFiles/M.dir/Release/interface_part.cppm.o.ddi -fdeps-target=CMakeFiles/M.dir/Release/interface_part.cppm.o -fdeps-format=p1689r5 -o CMakeFiles/M.dir/Release/interface_part.cppm.o.ddi.i
[5/23] /root/.local/share/pipx/venvs/cmake/lib/python3.12/site-packages/cmake/data/bin/cmake -E cmake_ninja_dyndep --tdi=CMakeFiles/M.dir/Release/CXXDependInfo.json --lang=CXX --modmapfmt=gcc --dd=CMakeFiles/M.dir/Release/CXX.dd @CMakeFiles/M.dir/Release/CXX.dd.rsp
[6/23] /usr/bin/g++ -DCMAKE_INTDIR=\"Release\" -O3 -DNDEBUG -std=gnu++23 -MD -MT CMakeFiles/M.dir/Release/interface_part.cppm.o -MF CMakeFiles/M.dir/Release/interface_part.cppm.o.d -fmodules-ts -fmodule-mapper=CMakeFiles/M.dir/Release/interface_part.cppm.o.modmap -MD -fdeps-format=p1689r5 -x c++ -o CMakeFiles/M.dir/Release/interface_part.cppm.o -c /home/builder/workdir/src/examples/interface_part.cppm
[7/23] /usr/bin/g++ -DCMAKE_INTDIR=\"Release\" -O3 -DNDEBUG -std=gnu++23 -MD -MT CMakeFiles/M.dir/Release/M.cppm.o -MF CMakeFiles/M.dir/Release/M.cppm.o.d -fmodules-ts -fmodule-mapper=CMakeFiles/M.dir/Release/M.cppm.o.modmap -MD -fdeps-format=p1689r5 -x c++ -o CMakeFiles/M.dir/Release/M.cppm.o -c /home/builder/workdir/src/examples/M.cppm
[8/23] /usr/bin/g++ -DCMAKE_INTDIR=\"Release\" -O3 -DNDEBUG -std=gnu++23 -MD -MT CMakeFiles/M.dir/Release/Impl.cpp.o -MF CMakeFiles/M.dir/Release/Impl.cpp.o.d -fmodules-ts -fmodule-mapper=CMakeFiles/M.dir/Release/Impl.cpp.o.modmap -MD -fdeps-format=p1689r5 -x c++ -o CMakeFiles/M.dir/Release/Impl.cpp.o -c /home/builder/workdir/src/examples/Impl.cpp
[9/23] /usr/bin/g++ -DCMAKE_INTDIR=\"Release\" -O3 -DNDEBUG -std=gnu++23 -MD -MT CMakeFiles/M.dir/Release/impl_part.cpp.o -MF CMakeFiles/M.dir/Release/impl_part.cpp.o.d -fmodules-ts -fmodule-mapper=CMakeFiles/M.dir/Release/impl_part.cpp.o.modmap -MD -fdeps-format=p1689r5 -x c++ -o CMakeFiles/M.dir/Release/impl_part.cpp.o -c /home/builder/workdir/src/examples/impl_part.cpp
[10/23] : && /root/.local/share/pipx/venvs/cmake/lib/python3.12/site-packages/cmake/data/bin/cmake -E rm -f Release/libM.a && /usr/bin/ar qc Release/libM.a CMakeFiles/M.dir/Release/Impl.cpp.o CMakeFiles/M.dir/Release/impl_part.cpp.o CMakeFiles/M.dir/Release/M.cppm.o CMakeFiles/M.dir/Release/interface_part.cppm.o && /usr/bin/ranlib Release/libM.a && :
[11/23] /usr/bin/g++ -DCMAKE_INTDIR=\"Release\" -O3 -DNDEBUG -std=gnu++23 -E -x c++ /home/builder/workdir/src/examples/User.cpp -MT CMakeFiles/example.User.dir/Release/User.cpp.o.ddi -MD -MF CMakeFiles/example.User.dir/Release/User.cpp.o.ddi.d -fmodules-ts -fdeps-file=CMakeFiles/example.User.dir/Release/User.cpp.o.ddi -fdeps-target=CMakeFiles/example.User.dir/Release/User.cpp.o -fdeps-format=p1689r5 -o CMakeFiles/example.User.dir/Release/User.cpp.o.ddi.i
[12/23] /root/.local/share/pipx/venvs/cmake/lib/python3.12/site-packages/cmake/data/bin/cmake -E cmake_ninja_dyndep --tdi=CMakeFiles/example.User.dir/Release/CXXDependInfo.json --lang=CXX --modmapfmt=gcc --dd=CMakeFiles/example.User.dir/Release/CXX.dd @CMakeFiles/example.User.dir/Release/CXX.dd.rsp
[13/23] /usr/bin/g++ -DCMAKE_INTDIR=\"Release\" -O3 -DNDEBUG -std=gnu++23 -MD -MT CMakeFiles/example.User.dir/Release/User.cpp.o -MF CMakeFiles/example.User.dir/Release/User.cpp.o.d -fmodules-ts -fmodule-mapper=CMakeFiles/example.User.dir/Release/User.cpp.o.modmap -MD -fdeps-format=p1689r5 -x c++ -o CMakeFiles/example.User.dir/Release/User.cpp.o -c /home/builder/workdir/src/examples/User.cpp
[14/23] : && /usr/bin/g++ -O3 -DNDEBUG -Wl,--dependency-file=CMakeFiles/example.User.dir/Release/link.d CMakeFiles/example.User.dir/Release/User.cpp.o -o Release/example.User -Wl,-rpath,/opt/gcc-16/lib64 Release/libM.a && :
[15/23] /usr/bin/g++ -DCMAKE_INTDIR=\"Release\" -O3 -DNDEBUG -std=gnu++23 -fmodule-only -E -x c++ /opt/gcc-16/include/c++/16.0.1/bits/std.cc -MT CMakeFiles/__CMAKE__CXX23@synth_f96929115e2d.dir/Release/7a02772df09c.bmi.ddi -MD -MF CMakeFiles/__CMAKE__CXX23@synth_f96929115e2d.dir/Release/7a02772df09c.bmi.ddi.d -fmodules-ts -fdeps-file=CMakeFiles/__CMAKE__CXX23@synth_f96929115e2d.dir/Release/7a02772df09c.bmi.ddi -fdeps-target=CMakeFiles/__CMAKE__CXX23@synth_f96929115e2d.dir/Release/7a02772df09c.bmi -fdeps-format=p1689r5 -o CMakeFiles/__CMAKE__CXX23@synth_f96929115e2d.dir/Release/7a02772df09c.bmi.ddi.i
[16/23] /usr/bin/g++ -DCMAKE_INTDIR=\"Release\" -O3 -DNDEBUG -std=gnu++23 -fmodule-only -E -x c++ /opt/gcc-16/include/c++/16.0.1/bits/std.compat.cc -MT CMakeFiles/__CMAKE__CXX23@synth_f96929115e2d.dir/Release/0a6ced1a3a08.bmi.ddi -MD -MF CMakeFiles/__CMAKE__CXX23@synth_f96929115e2d.dir/Release/0a6ced1a3a08.bmi.ddi.d -fmodules-ts -fdeps-file=CMakeFiles/__CMAKE__CXX23@synth_f96929115e2d.dir/Release/0a6ced1a3a08.bmi.ddi -fdeps-target=CMakeFiles/__CMAKE__CXX23@synth_f96929115e2d.dir/Release/0a6ced1a3a08.bmi -fdeps-format=p1689r5 -o CMakeFiles/__CMAKE__CXX23@synth_f96929115e2d.dir/Release/0a6ced1a3a08.bmi.ddi.i
[17/23] /root/.local/share/pipx/venvs/cmake/lib/python3.12/site-packages/cmake/data/bin/cmake -E cmake_ninja_dyndep --tdi=CMakeFiles/__CMAKE__CXX23@synth_f96929115e2d.dir/Release/CXXDependInfo.json --lang=CXX --modmapfmt=gcc --dd='CMakeFiles/__CMAKE__CXX23@synth_f96929115e2d.dir/Release/CXX.dd' @'CMakeFiles/__CMAKE__CXX23@synth_f96929115e2d.dir/Release/CXX.dd'.rsp
[18/23] /usr/bin/g++ -DASIO_DISABLE_BOOST_CONTEXT_FIBER -DASIO_HAS_IMPORT_STD -DASIO_STANDALONE -DCMAKE_INTDIR=\"Release\" -isystem /home/builder/workdir/build/linux-gcc/stagedir/include/asio-1.36.0 -O3 -DNDEBUG -std=gnu++23 -fmodule-only -E -x c++ /home/builder/workdir/build/linux-gcc/stagedir/lib/cmake/asio-1.36.0/modules/asio.ixx -MT CMakeFiles/asio__asio@synth_f96929115e2d.dir/Release/7bf0e0f07b9c.bmi.ddi -MD -MF CMakeFiles/asio__asio@synth_f96929115e2d.dir/Release/7bf0e0f07b9c.bmi.ddi.d -fmodules-ts -fdeps-file=CMakeFiles/asio__asio@synth_f96929115e2d.dir/Release/7bf0e0f07b9c.bmi.ddi -fdeps-target=CMakeFiles/asio__asio@synth_f96929115e2d.dir/Release/7bf0e0f07b9c.bmi -fdeps-format=p1689r5 -o CMakeFiles/asio__asio@synth_f96929115e2d.dir/Release/7bf0e0f07b9c.bmi.ddi.i
[19/23] /root/.local/share/pipx/venvs/cmake/lib/python3.12/site-packages/cmake/data/bin/cmake -E cmake_ninja_dyndep --tdi=CMakeFiles/asio__asio@synth_f96929115e2d.dir/Release/CXXDependInfo.json --lang=CXX --modmapfmt=gcc --dd='CMakeFiles/asio__asio@synth_f96929115e2d.dir/Release/CXX.dd' @'CMakeFiles/asio__asio@synth_f96929115e2d.dir/Release/CXX.dd'.rsp
[20/23] /usr/bin/g++ -DASIO_DISABLE_BOOST_CONTEXT_FIBER -DASIO_HAS_IMPORT_STD -DASIO_STANDALONE -DCMAKE_INTDIR=\"Release\" -isystem /home/builder/workdir/build/linux-gcc/stagedir/include/asio-1.36.0 -O3 -DNDEBUG -std=gnu++23 -E -x c++ /home/builder/workdir/src/examples/cpp20/invocation/completion_executor.cpp -MT CMakeFiles/example.completion_executor.dir/Release/cpp20/invocation/completion_executor.cpp.o.ddi -MD -MF CMakeFiles/example.completion_executor.dir/Release/cpp20/invocation/completion_executor.cpp.o.ddi.d -fmodules-ts -fdeps-file=CMakeFiles/example.completion_executor.dir/Release/cpp20/invocation/completion_executor.cpp.o.ddi -fdeps-target=CMakeFiles/example.completion_executor.dir/Release/cpp20/invocation/completion_executor.cpp.o -fdeps-format=p1689r5 -o CMakeFiles/example.completion_executor.dir/Release/cpp20/invocation/completion_executor.cpp.o.ddi.i
[21/23] /root/.local/share/pipx/venvs/cmake/lib/python3.12/site-packages/cmake/data/bin/cmake -E cmake_ninja_dyndep --tdi=CMakeFiles/example.completion_executor.dir/Release/CXXDependInfo.json --lang=CXX --modmapfmt=gcc --dd=CMakeFiles/example.completion_executor.dir/Release/CXX.dd @CMakeFiles/example.completion_executor.dir/Release/CXX.dd.rsp
[22/25] /usr/bin/g++ -DCMAKE_INTDIR=\"Release\" -O3 -DNDEBUG -std=gnu++23 -fmodule-only -MD -MT 'CMakeFiles/__CMAKE__CXX23@synth_f96929115e2d.dir/Release/7a02772df09c.bmi' -MF CMakeFiles/__CMAKE__CXX23@synth_f96929115e2d.dir/Release/7a02772df09c.bmi.d -fmodules-ts -fmodule-mapper=CMakeFiles/__CMAKE__CXX23@synth_f96929115e2d.dir/Release/7a02772df09c.bmi.modmap -MD -fdeps-format=p1689r5 -x c++ -o 'CMakeFiles/__CMAKE__CXX23@synth_f96929115e2d.dir/Release/7a02772df09c.bmi' -c /opt/gcc-16/include/c++/16.0.1/bits/std.cc
[23/25] /usr/bin/g++ -DASIO_DISABLE_BOOST_CONTEXT_FIBER -DASIO_HAS_IMPORT_STD -DASIO_STANDALONE -DCMAKE_INTDIR=\"Release\" -isystem /home/builder/workdir/build/linux-gcc/stagedir/include/asio-1.36.0 -O3 -DNDEBUG -std=gnu++23 -fmodule-only -MD -MT 'CMakeFiles/asio__asio@synth_f96929115e2d.dir/Release/7bf0e0f07b9c.bmi' -MF CMakeFiles/asio__asio@synth_f96929115e2d.dir/Release/7bf0e0f07b9c.bmi.d -fmodules-ts -fmodule-mapper=CMakeFiles/asio__asio@synth_f96929115e2d.dir/Release/7bf0e0f07b9c.bmi.modmap -MD -fdeps-format=p1689r5 -x c++ -o 'CMakeFiles/asio__asio@synth_f96929115e2d.dir/Release/7bf0e0f07b9c.bmi' -c /home/builder/workdir/build/linux-gcc/stagedir/lib/cmake/asio-1.36.0/modules/asio.ixx
FAILED: CMakeFiles/asio__asio@synth_f96929115e2d.dir/Release/7bf0e0f07b9c.bmi
/usr/bin/g++ -DASIO_DISABLE_BOOST_CONTEXT_FIBER -DASIO_HAS_IMPORT_STD -DASIO_STANDALONE -DCMAKE_INTDIR=\"Release\" -isystem /home/builder/workdir/build/linux-gcc/stagedir/include/asio-1.36.0 -O3 -DNDEBUG -std=gnu++23 -fmodule-only -MD -MT 'CMakeFiles/asio__asio@synth_f96929115e2d.dir/Release/7bf0e0f07b9c.bmi' -MF CMakeFiles/asio__asio@synth_f96929115e2d.dir/Release/7bf0e0f07b9c.bmi.d -fmodules-ts -fmodule-mapper=CMakeFiles/asio__asio@synth_f96929115e2d.dir/Release/7bf0e0f07b9c.bmi.modmap -MD -fdeps-format=p1689r5 -x c++ -o 'CMakeFiles/asio__asio@synth_f96929115e2d.dir/Release/7bf0e0f07b9c.bmi' -c /home/builder/workdir/build/linux-gcc/stagedir/lib/cmake/asio-1.36.0/modules/asio.ixx
/home/builder/workdir/build/linux-gcc/stagedir/lib/cmake/asio-1.36.0/modules/asio.ixx:11:1: fatal error: unknown compiled module interface: no such module
11 | import std;
| ^~~~~~
compilation terminated.
ninja: build stopped: subcommand failed.
root@b40851a7588d:/home/builder/workdir/build/linux-gcc/src/tests/unit/find-package-test#
This is part of an install and use round trip test:
/root/.local/bin/cmake --preset linux-gcc -D CMAKE_CXX_STANDARD=26 \
-D ASIO_IMPORT_STD=ON \
-D ASIO_ENABLE_SSL=OFF \
--fresh --log-level=VERBOSE -Wdev
# -D CMAKE_CXX_STDLIB_MODULES_JSON= \
/root/.local/bin/cmake --workflow --preset linux-gcc-release
root@b40851a7588d:/home/builder/workdir#
root@b40851a7588d:/home/builder/workdir/build/linux-gcc# ~/.local/bin/ctest --rerun-failed --verbose -C Release
UpdateCTestConfiguration from :/home/builder/workdir/build/linux-gcc/DartConfiguration.tcl
Test project /home/builder/workdir/build/linux-gcc
Constructing a list of tests
Done constructing a list of tests
Updating test list for fixtures
Added 0 tests to meet fixture requirements
Checking test dependency graph...
Checking test dependency graph end
test 96
Start 96: find-package-test
96: Test command: /root/.local/share/pipx/venvs/cmake/lib/python3.12/site-packages/cmake/data/bin/ctest "--output-on-failure" "-C" "Release" "--build-and-test" "/home/builder/workdir/src/examples" "/home/builder/workdir/build/linux-gcc/src/tests/unit/find-package-test" "--build-generator" "Ninja Multi-Config" "--build-makeprogram" "/usr/bin/ninja" "--build-options" "-D ASIO_IMPORT_STD=TRUE" "-D CMAKE_BUILD_TYPE=Release" "-D CMAKE_BUILD_RPATH=/opt/gcc-16/lib64" "-D CMAKE_CXX_COMPILER=/usr/bin/g++" "-D CMAKE_CXX_EXTENSIONS=TRUE" "-D CMAKE_CXX_SCAN_FOR_MODULES=TRUE" "-D CMAKE_CXX_STANDARD=23" "-D CMAKE_CXX_STANDARD_REQUIRED=TRUE" "-D CMAKE_CXX_STDLIB_MODULES_JSON=/opt/gcc-16/lib64/libstdc++.modules.json" "-D CMAKE_PREFIX_PATH=/home/builder/workdir/build/linux-gcc/stagedir"
96: Working Directory: /home/builder/workdir/build/linux-gcc/src/tests/unit
96: Test timeout computed to be: 10000000
96: Internal cmake changing into directory: /home/builder/workdir/build/linux-gcc/src/tests/unit/find-package-test
96: ======== CMake output ======
96: CMAKE_CXX_STDLIB_MODULES_JSON: /opt/gcc-16/lib64/libstdc++.modules.json
96: Build asio with target PROPERTY CXX_MODULE_STD ON
96: Configuring done (0.0s)
96: CMake Warning (dev) in CMakeLists.txt:
96: CMake's support for `import std;` in C++23 and newer is experimental. It
96: is meant only for experimentation and feedback to CMake developers.
96: This warning is for project developers. Use -Wno-dev to suppress it.
96:
96: Generating done (0.1s)
96: Build files have been written to: /home/builder/workdir/build/linux-gcc/src/tests/unit/find-package-test
96: ======== End CMake output ======
96: Change Dir: '/home/builder/workdir/build/linux-gcc/src/tests/unit/find-package-test'
96:
96: Run Clean Command: /usr/bin/ninja -f build-Release.ninja clean
96: [1/1] Cleaning all built files...
96: Cleaning... 42 files.
96:
96: Run Build Command(s): /usr/bin/ninja -f build-Release.ninja
96: [1/23] Scanning /home/builder/workdir/src/examples/interface_part.cppm for CXX dependencies
96: [2/23] Scanning /home/builder/workdir/src/examples/User.cpp for CXX dependencies
96: [3/23] Scanning /home/builder/workdir/src/examples/M.cppm for CXX dependencies
96: [4/23] Scanning /opt/gcc-16/include/c++/16.0.1/bits/std.compat.cc for CXX dependencies
96: [5/23] Scanning /home/builder/workdir/src/examples/impl_part.cpp for CXX dependencies
96: [6/23] Scanning /home/builder/workdir/src/examples/Impl.cpp for CXX dependencies
96: [7/23] Generating CXX dyndep file CMakeFiles/M.dir/Release/CXX.dd
96: [8/23] Generating CXX dyndep file CMakeFiles/example.User.dir/Release/CXX.dd
96: [9/23] Building CXX object CMakeFiles/M.dir/Release/interface_part.cppm.o
96: [10/23] Building CXX object CMakeFiles/M.dir/Release/M.cppm.o
96: [11/23] Building CXX object CMakeFiles/example.User.dir/Release/User.cpp.o
96: [12/23] Scanning /opt/gcc-16/include/c++/16.0.1/bits/std.cc for CXX dependencies
96: [13/23] Generating CXX dyndep file 'CMakeFiles/__CMAKE__CXX23@synth_f96929115e2d.dir/Release/CXX.dd'
96: [14/23] Building CXX object CMakeFiles/M.dir/Release/impl_part.cpp.o
96: [15/23] Building CXX object CMakeFiles/M.dir/Release/Impl.cpp.o
96: [16/23] Linking CXX static library Release/libM.a
96: [17/23] Linking CXX executable Release/example.User
96: [18/23] Scanning /home/builder/workdir/build/linux-gcc/stagedir/lib/cmake/asio-1.36.0/modules/asio.ixx for CXX dependencies
96: [19/23] Generating CXX dyndep file 'CMakeFiles/asio__asio@synth_f96929115e2d.dir/Release/CXX.dd'
96: [20/23] Scanning /home/builder/workdir/src/examples/cpp20/invocation/completion_executor.cpp for CXX dependencies
96: [21/23] Generating CXX dyndep file CMakeFiles/example.completion_executor.dir/Release/CXX.dd
96: [22/25] Building CXX object 'CMakeFiles/asio__asio@synth_f96929115e2d.dir/Release/7bf0e0f07b9c.bmi'
96: FAILED: CMakeFiles/asio__asio@synth_f96929115e2d.dir/Release/7bf0e0f07b9c.bmi
96: /usr/bin/g++ -DASIO_DISABLE_BOOST_CONTEXT_FIBER -DASIO_HAS_IMPORT_STD -DASIO_STANDALONE -DCMAKE_INTDIR=\"Release\" -isystem /home/builder/workdir/build/linux-gcc/stagedir/include/asio-1.36.0 -O3 -DNDEBUG -std=gnu++23 -fmodule-only -MD -MT 'CMakeFiles/asio__asio@synth_f96929115e2d.dir/Release/7bf0e0f07b9c.bmi' -MF CMakeFiles/asio__asio@synth_f96929115e2d.dir/Release/7bf0e0f07b9c.bmi.d -fmodules-ts -fmodule-mapper=CMakeFiles/asio__asio@synth_f96929115e2d.dir/Release/7bf0e0f07b9c.bmi.modmap -MD -fdeps-format=p1689r5 -x c++ -o 'CMakeFiles/asio__asio@synth_f96929115e2d.dir/Release/7bf0e0f07b9c.bmi' -c /home/builder/workdir/build/linux-gcc/stagedir/lib/cmake/asio-1.36.0/modules/asio.ixx
96: /home/builder/workdir/build/linux-gcc/stagedir/lib/cmake/asio-1.36.0/modules/asio.ixx:11:1: fatal error: unknown compiled module interface: no such module
96: 11 | import std;
96: | ^~~~~~
96: compilation terminated.
96: [23/25] Building CXX object 'CMakeFiles/__CMAKE__CXX23@synth_f96929115e2d.dir/Release/7a02772df09c.bmi'
96: ninja: build stopped: subcommand failed.
96:
1/1 Test #96: find-package-test ................***Failed 6.45 sec
0% tests passed, 1 tests failed out of 1
Total Test time (real) = 6.46 sec
The following tests FAILED:
96 - find-package-test (Failed)
Errors while running CTest
Output from these tests are in: /home/builder/workdir/build/linux-gcc/Testing/Temporary/LastTest.log
Use "--rerun-failed --output-on-failure" to re-run the failed cases verbosely.
root@b40851a7588d:/home/builder/workdir/build/linux-gcc#
The imported module package is a Release version:
root@b40851a7588d:/home/builder/workdir/build/linux-gcc/src/tests/unit/find-package-test# ~/.local/bin/cmake . -L
-- CMAKE_CXX_STDLIB_MODULES_JSON: /opt/gcc-16/lib64/libstdc++.modules.json
-- Build asio with target PROPERTY CXX_MODULE_STD ON
-- Configuring done (0.1s)
CMake Warning (dev) in CMakeLists.txt:
CMake's support for `import std;` in C++23 and newer is experimental. It
is meant only for experimentation and feedback to CMake developers.
This warning is for project developers. Use -Wno-dev to suppress it.
-- Generating done (0.1s)
-- Build files have been written to: /home/builder/workdir/build/linux-gcc/src/tests/unit/find-package-test
-- Cache values
CMAKE_CONFIGURATION_TYPES:STRING=Debug;Release;RelWithDebInfo
CMAKE_INSTALL_PREFIX:PATH=/usr/local
CMAKE_MAKE_PROGRAM:FILEPATH=/usr/bin/ninja
asio_DIR:PATH=/home/builder/workdir/build/linux-gcc/stagedir/lib/cmake/asio-1.36.0
root@b40851a7588d:/home/builder/workdir/build/linux-gcc/src/tests/unit/find-package-test# find /home/builder/workdir/build/linux-gcc/stagedir/lib/cmake/asio-1.36.0
/home/builder/workdir/build/linux-gcc/stagedir/lib/cmake/asio-1.36.0
/home/builder/workdir/build/linux-gcc/stagedir/lib/cmake/asio-1.36.0/bmi-GNU_Release
/home/builder/workdir/build/linux-gcc/stagedir/lib/cmake/asio-1.36.0/bmi-GNU_Release/asio.gcm
/home/builder/workdir/build/linux-gcc/stagedir/lib/cmake/asio-1.36.0/asio-config.cmake
/home/builder/workdir/build/linux-gcc/stagedir/lib/cmake/asio-1.36.0/asio-targets.cmake
/home/builder/workdir/build/linux-gcc/stagedir/lib/cmake/asio-1.36.0/asio-targets-release.cmake
/home/builder/workdir/build/linux-gcc/stagedir/lib/cmake/asio-1.36.0/asio-config-version.cmake
/home/builder/workdir/build/linux-gcc/stagedir/lib/cmake/asio-1.36.0/modules
/home/builder/workdir/build/linux-gcc/stagedir/lib/cmake/asio-1.36.0/modules/asio.ixx
/home/builder/workdir/build/linux-gcc/stagedir/lib/cmake/asio-1.36.0/cxx-modules
/home/builder/workdir/build/linux-gcc/stagedir/lib/cmake/asio-1.36.0/cxx-modules/target-asio-Release.cmake
/home/builder/workdir/build/linux-gcc/stagedir/lib/cmake/asio-1.36.0/cxx-modules/cxx-modules-asio-targets-Release.cmake
/home/builder/workdir/build/linux-gcc/stagedir/lib/cmake/asio-1.36.0/cxx-modules/cxx-modules-asio-targets.cmake
root@b40851a7588d:/home/builder/workdir/build/linux-gcc/src/tests/unit/find-package-test#
With this workaround it works:
diff --git a/src/tests/unit/CMakeLists.txt b/src/tests/unit/CMakeLists.txt
index d6e99869e..f256b1fdd 100644
--- a/src/tests/unit/CMakeLists.txt
+++ b/src/tests/unit/CMakeLists.txt
@@ -147,10 +147,6 @@ if(CMAKE_SKIP_INSTALL_RULES)
return()
endif()
-# if(LINUX AND CMAKE_CXX_COMPILER_ID STREQUAL "Clang")
-# return()
-# endif()
-
# test if the targets are usable from the install directory
# NOTE: should be tested in Debug and Release! CK
add_test(
@@ -165,8 +161,9 @@ add_test(
${CMAKE_CTEST_COMMAND} # --verbose
--output-on-failure -C $<CONFIG> --build-and-test
"${CMAKE_SOURCE_DIR}/src/examples"
- "${CMAKE_CURRENT_BINARY_DIR}/find-package-test" --build-generator
- ${CMAKE_GENERATOR} --build-makeprogram ${CMAKE_MAKE_PROGRAM}
+ "${CMAKE_CURRENT_BINARY_DIR}/find-package-test"
+ --build-generator "Ninja" # XXX ${CMAKE_GENERATOR}
+ --build-makeprogram ${CMAKE_MAKE_PROGRAM} #
--build-options #
"-D ASIO_IMPORT_STD=${ASIO_IMPORT_STD}" #
"-D CMAKE_BUILD_TYPE=$<CONFIG>" #
ben.boeckel
(Ben Boeckel (Kitware))
March 18, 2026, 1:42am
6
I believe this issue is relevant here.
Yes, I agree this is an issue too with CMake v4.4 on OSX!
I dit some experiments with your the example and it seems, the behaviour changes with the Itmes in CMAKE_CONFIGURATION_TYPES:
always only the first Item works!