Attempting to build on macOS, standard C++ header files are not found. Namely <iomanip>, <iostream>, <cstdint>, etc ``` /Users/alex/src/py_wasm_play/lpython/libasr/src/libasr/diagnostics.cpp:1:10: fatal error: 'iomanip' file not found 1 | #include <iomanip> | ^~~~~~~~~ 1 error generated. ``` This may be a problem with my installation, I'm filing this issue to document my investigation. May be related to #2855 ```console (lp) ➜ lpython git:(issue2855-submodule-init) ./build1.sh ++ pwd + cmake -DCMAKE_BUILD_TYPE=Debug -DWITH_LLVM=yes -DLPYTHON_BUILD_ALL=yes -DWITH_STACKTRACE=yes -DWITH_RUNTIME_STACKTRACE=yes -DWITH_LSP=no -DWITH_LFORTRAN_BINARY_MODFILES=no '-DCMAKE_PREFIX_PATH=;/Users/alex/miniforge3/envs/lp' -DCMAKE_INSTALL_PREFIX=/Users/alex/src/py_wasm_play/lpython/inst . -- Found LLVM 11.0.1 -- Using LLVMConfig.cmake in: /Users/alex/miniforge3/envs/lp/lib/cmake/llvm Configuration results --------------------- LPYTHON_VERSION: 0.22.0-117-g9f35f90f5 CPACK_PACKAGE_FILE_NAME: lpython-0.22.0-117-g9f35f90f5-Darwin C compiler : /Library/Developer/CommandLineTools/usr/bin/cc C++ compiler : /Library/Developer/CommandLineTools/usr/bin/c++ Build type: Debug C compiler flags : -g C++ compiler flags : -Wall -Wextra -g -ggdb Installation prefix: /Users/alex/src/py_wasm_play/lpython/inst WITH_LFORTRAN_ASSERT: yes LPYTHON_STATIC_BIN: no LPYTHON_BUILD_TO_WASM: no WITH_STACKTRACE: yes WITH_RUNTIME_STACKTRACE: yes WITH_UNWIND: yes WITH_BFD: no WITH_DWARFDUMP: yes WITH_LINKH: no WITH_MACHO: yes HAVE_LFORTRAN_DEMANGLE: yes WITH_LLVM: yes WITH_XEUS: no WITH_JSON: no WITH_LSP: no WITH_FMT: no WITH_LFORTRAN_BINARY_MODFILES: no WITH_RUNTIME_LIBRARY: YES WITH_WHEREAMI: yes WITH_ZLIB: yes WITH_TARGET_AARCH64: yes WITH_TARGET_X86: no DSYMUTIL: /usr/bin/dsymutil -- Configuring done (0.1s) -- Generating done (0.1s) -- Build files have been written to: /Users/alex/src/py_wasm_play/lpython + cmake --build . -j16 --target install [ 5%] Building CXX object src/tests/CMakeFiles/doctest.dir/doctest.cpp.o [ 5%] Building CXX object libasr/CMakeFiles/lfortran_utils.dir/stacktrace.cpp.o [ 5%] Building CXX object libasr/CMakeFiles/lfortran_utils.dir/diagnostics.cpp.o [ 5%] Building CXX object libasr/CMakeFiles/lfortran_utils.dir/string_utils.cpp.o [ 5%] Building CXX object libasr/CMakeFiles/lfortran_utils.dir/utils2.cpp.o [ 7%] Building C object src/runtime/legacy/CMakeFiles/lpython_runtime_static.dir/__/__/__/libasr/src/libasr/runtime/lfortran_intrinsics.c.o [ 7%] Building C object src/runtime/legacy/CMakeFiles/lpython_runtime.dir/__/__/__/libasr/src/libasr/runtime/lfortran_intrinsics.c.o /Users/alex/src/py_wasm_play/lpython/libasr/src/libasr/utils2.cpp:6:10: fatal error: 'iostream' file not found 6/Users/alex/src/py_wasm_play/lpython/libasr/src/libasr/diagnostics.cpp:1:10: fatal error: 'iomanip' file not found | 1 | #include <iomanip> /Users/alex/src/py_wasm_play/lpython/libasr/src/libasr/string_utils.cpp| :1 ^~~~~~~~~: 10: fatal error: 'cctype' file not found 1 | #include <c#ctype> | ^~~~~~~~ In file included from /Users/alex/src/py_wasm_play/lpython/libasr/src/libasr/stacktrace.cpp:1: /Users/alex/src/py_wasm_play/lpython/libasr/src/libasr/../libasr/stacktrace.hi:4:10: fatal error: 'cstdint' file not found 4 | #include <cstdint> | nc ^~~~~~~~~lude <iostream> | ^~~~~~~~~~ 1 error generated. 1 error generated. 1 error generated. In file included from /Users/alex/src/py_wasm_play/lpython/src/tests/doctest.cpp:7: /Users/alex/src/py_wasm_play/lpython/src/tests/doctest.h:437:10: fatal error: 'ciso646' file not found 437 | #include <ciso646> | ^~~~~~~~~ make[2]: *** [libasr/CMakeFiles/lfortran_utils.dir/build.make:76: libasr/CMakeFiles/lfortran_utils.dir/diagnostics.cpp.o] Error 1 make[2]: *** Waiting for unfinished jobs.... make[2]: *** [libasr/CMakeFiles/lfortran_utils.dir/build.make:118: libasr/CMakeFiles/lfortran_utils.dir/utils2.cpp.o] Error 1 make[2]: *** [libasr/CMakeFiles/lfortran_utils.dir/build.make:104: libasr/CMakeFiles/lfortran_utils.dir/string_utils.cpp.o] Error 1 1 error generated. make[2]: *** [libasr/CMakeFiles/lfortran_utils.dir/build.make:90: libasr/CMakeFiles/lfortran_utils.dir/stacktrace.cpp.o] Error 1 make[1]: *** [CMakeFiles/Makefile2:289: libasr/CMakeFiles/lfortran_utils.dir/all] Error 2 make[1]: *** Waiting for unfinished jobs.... 1 error generated. make[2]: *** [src/tests/CMakeFiles/doctest.dir/build.make:76: src/tests/CMakeFiles/doctest.dir/doctest.cpp.o] Error 1 make[1]: *** [CMakeFiles/Makefile2:341: src/tests/CMakeFiles/doctest.dir/all] Error 2 [ 9%] Linking C shared library ../liblpython_runtime.dylib [ 9%] Linking C static library ../liblpython_runtime_static.a [ 9%] Built target lpython_runtime_static [ 9%] Built target lpython_runtime make: *** [Makefile:166: all] Error 2 ``` Removing `-j16` cuts down the noise ```console (lp) ➜ lpython git:(issue2855-submodule-init) ✗ ./build1.sh ++ pwd + cmake -DCMAKE_BUILD_TYPE=Debug -DWITH_LLVM=yes -DLPYTHON_BUILD_ALL=yes -DWITH_STACKTRACE=yes -DWITH_RUNTIME_STACKTRACE=yes -DWITH_LSP=no -DWITH_LFORTRAN_BINARY_MODFILES=no '-DCMAKE_PREFIX_PATH=;/Users/alex/miniforge3/envs/lp' -DCMAKE_INSTALL_PREFIX=/Users/alex/src/py_wasm_play/lpython/inst . -- Found LLVM 11.0.1 -- Using LLVMConfig.cmake in: /Users/alex/miniforge3/envs/lp/lib/cmake/llvm Configuration results --------------------- LPYTHON_VERSION: 0.22.0-117-g9f35f90f5-dirty CPACK_PACKAGE_FILE_NAME: lpython-0.22.0-117-g9f35f90f5-dirty-Darwin C compiler : /Library/Developer/CommandLineTools/usr/bin/cc C++ compiler : /Library/Developer/CommandLineTools/usr/bin/c++ Build type: Debug C compiler flags : -g C++ compiler flags : -Wall -Wextra -g -ggdb Installation prefix: /Users/alex/src/py_wasm_play/lpython/inst WITH_LFORTRAN_ASSERT: yes ... DSYMUTIL: /usr/bin/dsymutil -- Configuring done (0.1s) -- Generating done (0.1s) -- Build files have been written to: /Users/alex/src/py_wasm_play/lpython + cmake --build . --target install [ 1%] Building CXX object libasr/CMakeFiles/lfortran_utils.dir/diagnostics.cpp.o /Users/alex/src/py_wasm_play/lpython/libasr/src/libasr/diagnostics.cpp:1:10: fatal error: 'iomanip' file not found 1 | #include <iomanip> | ^~~~~~~~~ 1 error generated. make[2]: *** [libasr/CMakeFiles/lfortran_utils.dir/build.make:76: libasr/CMakeFiles/lfortran_utils.dir/diagnostics.cpp.o] Error 1 make[1]: *** [CMakeFiles/Makefile2:289: libasr/CMakeFiles/lfortran_utils.dir/all] Error 2 make: *** [Makefile:166: all] Error 2 ``` <details> <summary>Platform versions</summary> ```console (lp) ➜ lpython git:(issue2855-submodule-init) ✗ uname -a Darwin kintha 24.5.0 Darwin Kernel Version 24.5.0: Tue Apr 22 19:54:49 PDT 2025; root:xnu-11417.121.6~2/RELEASE_ARM64_T6000 arm64 (lp) ➜ lpython git:(issue2855-submodule-init) ✗ /Library/Developer/CommandLineTools/usr/bin/cc --version Apple clang version 17.0.0 (clang-1700.0.13.5) Target: arm64-apple-darwin24.5.0 Thread model: posix InstalledDir: /Library/Developer/CommandLineTools/usr/bin (lp) ➜ lpython git:(issue2855-submodule-init) ✗ /Library/Developer/CommandLineTools/usr/bin/c++ --version Apple clang version 17.0.0 (clang-1700.0.13.5) Target: arm64-apple-darwin24.5.0 Thread model: posix InstalledDir: /Library/Developer/CommandLineTools/usr/bin ``` </details> <details> <summary>Conda packages</summary> ```console (lp) ➜ lpython git:(issue2855-submodule-init) ✗ conda env export name: lp channels: - conda-forge dependencies: - bison=3.4=h9aa5885_1 - bzip2=1.0.8=h99b78c6_7 - c-ares=1.34.5=h5505292_0 - ca-certificates=2025.4.26=hbd8a1cb_0 - cmake=3.29.2=h50fd54c_0 - flake8=7.2.0=pyhd8ed1ab_0 - flex=2.6.4=h1474e2a_1004 - git=2.45.1=pl5321hd6456bc_0 - krb5=1.21.3=h237132a_0 - libblas=3.9.0=31_h10e41b3_openblas - libcblas=3.9.0=31_hb3479ef_openblas - libcurl=8.7.1=h2d989ff_0 - libcxx=20.1.6=ha82da77_0 - libedit=3.1.20250104=pl5321hafb1f1b_0 - libev=4.33=h93a5062_2 - libexpat=2.7.0=h286801f_0 - libffi=3.4.6=h1da3d7d_1 - libgfortran=14.2.0=heb5dd2a_105 - libgfortran5=14.2.0=h2c44a93_105 - libiconv=1.18=hfe07756_1 - libintl=0.24.1=h493aca8_0 - liblapack=3.9.0=31_hc9a63f6_openblas - libllvm11=11.0.1=h4468dd5_0 - liblzma=5.8.1=h39f12f2_1 - liblzma-devel=5.8.1=h39f12f2_1 - libnghttp2=1.58.0=ha4dd798_1 - libopenblas=0.3.29=openmp_hf332438_0 - libsqlite=3.46.0=hfb93653_0 - libssh2=1.11.0=h7a5bd25_0 - libuv=1.51.0=h5505292_0 - libzlib=1.2.13=hfb2fe0b_6 - llvm-openmp=20.1.6=hdb05f8b_0 - llvm-tools=11.0.1=h4468dd5_0 - llvmdev=11.0.1=h4468dd5_0 - m4=1.4.20=h5505292_0 - make=4.4.1=hc9fafa5_2 - mccabe=0.7.0=pyhd8ed1ab_1 - ncurses=6.5=h5e97a16_3 - numpy=2.2.6=py310h4d83441_0 - openssl=3.5.0=h81ee809_1 - pcre2=10.43=h26f9a81_0 - perl=5.32.1=7_h4614cfb_perl5 - pip=25.1.1=pyh8b19718_0 - pycodestyle=2.13.0=pyhd8ed1ab_0 - pyflakes=3.3.2=pyhd8ed1ab_0 - python=3.10.2=h38ef502_4_cpython - python_abi=3.10=7_cp310 - re2c=4.2=h286801f_0 - readline=8.2=h1d1bf99_2 - rhash=1.4.6=h5505292_1 - setuptools=80.9.0=pyhff2d567_0 - sqlite=3.46.0=h5838104_0 - tk=8.6.13=h5083fa2_1 - toml=0.10.2=pyhd8ed1ab_1 - tzdata=2025b=h78e105d_0 - wheel=0.45.1=pyhd8ed1ab_1 - xz=5.8.1=h9a6d368_1 - xz-gpl-tools=5.8.1=h9a6d368_1 - xz-tools=5.8.1=h39f12f2_1 - zlib=1.2.13=hfb2fe0b_6 - zstd=1.5.5=h4f39d0f_0 - zstd-static=1.5.5=h92bcb94_0 prefix: /Users/alex/miniforge3/envs/lp ``` </details>