lpython icon indicating copy to clipboard operation
lpython copied to clipboard

build1.sh: libasr/src/libasr/diagnostics.cpp:1:10: fatal error: 'iomanip' file not found

Open moreati opened this issue 6 months ago • 1 comments

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/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

(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
Platform versions
(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
Conda packages
(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

moreati avatar Jun 05 '25 14:06 moreati

I skipped LPython on macOS and used Linux instead. Feel free to close this with impunity. Thanks, Alex

moreati avatar Jun 06 '25 22:06 moreati