Attempting to build on macOS, standard C++ header files are not found. Namely , , , 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
(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/llvmConfiguration results---------------------LPYTHON_VERSION: 0.22.0-117-g9f35f90f5CPACK_PACKAGE_FILE_NAME: lpython-0.22.0-117-g9f35f90f5-DarwinC compiler : /Library/Developer/CommandLineTools/usr/bin/ccC++ compiler : /Library/Developer/CommandLineTools/usr/bin/c++Build type: DebugC compiler flags : -gC++ compiler flags : -Wall -Wextra -g -ggdbInstallation prefix: /Users/alex/src/py_wasm_play/lpython/instWITH_LFORTRAN_ASSERT: yesLPYTHON_STATIC_BIN: noLPYTHON_BUILD_TO_WASM: noWITH_STACKTRACE: yesWITH_RUNTIME_STACKTRACE: yesWITH_UNWIND: yesWITH_BFD: noWITH_DWARFDUMP: yesWITH_LINKH: noWITH_MACHO: yesHAVE_LFORTRAN_DEMANGLE: yesWITH_LLVM: yesWITH_XEUS: noWITH_JSON: noWITH_LSP: noWITH_FMT: noWITH_LFORTRAN_BINARY_MODFILES: noWITH_RUNTIME_LIBRARY: YESWITH_WHEREAMI: yesWITH_ZLIB: yesWITH_TARGET_AARCH64: yesWITH_TARGET_X86: noDSYMUTIL: /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 1make[2]: *** Waiting for unfinished jobs....make[2]: *** [libasr/CMakeFiles/lfortran_utils.dir/build.make:118: libasr/CMakeFiles/lfortran_utils.dir/utils2.cpp.o] Error 1make[2]: *** [libasr/CMakeFiles/lfortran_utils.dir/build.make:104: libasr/CMakeFiles/lfortran_utils.dir/string_utils.cpp.o] Error 11 error generated.make[2]: *** [libasr/CMakeFiles/lfortran_utils.dir/build.make:90: libasr/CMakeFiles/lfortran_utils.dir/stacktrace.cpp.o] Error 1make[1]: *** [CMakeFiles/Makefile2:289: libasr/CMakeFiles/lfortran_utils.dir/all] Error 2make[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 1make[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_runtimemake: *** [Makefile:166: all] Error 2
Removing -j16 cuts down the noise
(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/llvmConfiguration results---------------------LPYTHON_VERSION: 0.22.0-117-g9f35f90f5-dirtyCPACK_PACKAGE_FILE_NAME: lpython-0.22.0-117-g9f35f90f5-dirty-DarwinC compiler : /Library/Developer/CommandLineTools/usr/bin/ccC++ compiler : /Library/Developer/CommandLineTools/usr/bin/c++Build type: DebugC compiler flags : -gC++ compiler flags : -Wall -Wextra -g -ggdbInstallation prefix: /Users/alex/src/py_wasm_play/lpython/instWITH_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 1make[1]: *** [CMakeFiles/Makefile2:289: libasr/CMakeFiles/lfortran_utils.dir/all] Error 2make: *** [Makefile:166: all] Error 2
Platform versions
(lp) ➜ lpython git:(issue2855-submodule-init) ✗ uname -aDarwin 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 --versionApple clang version 17.0.0 (clang-1700.0.13.5)Target: arm64-apple-darwin24.5.0Thread model: posixInstalledDir: /Library/Developer/CommandLineTools/usr/bin(lp) ➜ lpython git:(issue2855-submodule-init) ✗ /Library/Developer/CommandLineTools/usr/bin/c++ --versionApple clang version 17.0.0 (clang-1700.0.13.5)Target: arm64-apple-darwin24.5.0Thread model: posixInstalledDir: /Library/Developer/CommandLineTools/usr/bin
Conda packages
(lp) ➜ lpython git:(issue2855-submodule-init) ✗ conda env export name: lpchannels: - conda-forgedependencies: - 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_0prefix: /Users/alex/miniforge3/envs/lp
Attempting to build on macOS, standard C++ header files are not found. Namely , , , etc
This may be a problem with my installation, I'm filing this issue to document my investigation. May be related to #2855
Removing
-j16cuts down the noisePlatform versions
Conda packages