Skip to content

error: command '/usr/bin/clang++' failed with exit code 1 #772

@acse-yw11823

Description

@acse-yw11823

Problem description

Hello, I am using the following to install the SeismicMesh but I meet the error, tried 3 hours to solve it now, pls help me
code

pip install SeismicMesh

error:

(base) (firedrake) yw11823@IC-FVFL80FW1WGC spyro % pip install SeismicMesh

Collecting SeismicMesh
  Using cached SeismicMesh-3.6.2.tar.gz (20.5 MB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Requirement already satisfied: numpy in /opt/homebrew/Caskroom/miniconda/base/lib/python3.11/site-packages (from SeismicMesh) (1.26.3)
Collecting segyio (from SeismicMesh)
  Using cached segyio-1.9.12-cp311-cp311-macosx_11_0_arm64.whl.metadata (2.8 kB)
Requirement already satisfied: scipy in /opt/homebrew/Caskroom/miniconda/base/lib/python3.11/site-packages (from SeismicMesh) (1.11.4)
Collecting meshio (from SeismicMesh)
  Using cached meshio-5.3.5-py3-none-any.whl.metadata (11 kB)
Collecting h5py (from SeismicMesh)
  Using cached h5py-3.11.0-cp311-cp311-macosx_11_0_arm64.whl.metadata (2.5 kB)
Requirement already satisfied: matplotlib in /opt/homebrew/Caskroom/miniconda/base/lib/python3.11/site-packages (from SeismicMesh) (3.8.4)
Collecting mpi4py (from SeismicMesh)
  Using cached mpi4py-3.1.6-cp311-cp311-macosx_11_0_arm64.whl
Collecting pyamg (from SeismicMesh)
  Using cached pyamg-5.1.0-cp311-cp311-macosx_11_0_arm64.whl.metadata (8.1 kB)
Collecting pytest-codeblocks (from SeismicMesh)
  Using cached pytest_codeblocks-0.17.0-py3-none-any.whl.metadata (5.4 kB)
Requirement already satisfied: contourpy>=1.0.1 in /opt/homebrew/Caskroom/miniconda/base/lib/python3.11/site-packages (from matplotlib->SeismicMesh) (1.2.0)
Requirement already satisfied: cycler>=0.10 in /opt/homebrew/Caskroom/miniconda/base/lib/python3.11/site-packages (from matplotlib->SeismicMesh) (0.12.1)
Requirement already satisfied: fonttools>=4.22.0 in /opt/homebrew/Caskroom/miniconda/base/lib/python3.11/site-packages (from matplotlib->SeismicMesh) (4.25.0)
Requirement already satisfied: kiwisolver>=1.3.1 in /opt/homebrew/Caskroom/miniconda/base/lib/python3.11/site-packages (from matplotlib->SeismicMesh) (1.4.5)
Requirement already satisfied: packaging>=20.0 in /opt/homebrew/Caskroom/miniconda/base/lib/python3.11/site-packages (from matplotlib->SeismicMesh) (23.1)
Requirement already satisfied: pillow>=8 in /opt/homebrew/Caskroom/miniconda/base/lib/python3.11/site-packages (from matplotlib->SeismicMesh) (10.3.0)
Requirement already satisfied: pyparsing>=2.3.1 in /opt/homebrew/Caskroom/miniconda/base/lib/python3.11/site-packages (from matplotlib->SeismicMesh) (3.1.1)
Requirement already satisfied: python-dateutil>=2.7 in /opt/homebrew/Caskroom/miniconda/base/lib/python3.11/site-packages (from matplotlib->SeismicMesh) (2.8.2)
Collecting rich (from meshio->SeismicMesh)
  Using cached rich-13.7.1-py3-none-any.whl.metadata (18 kB)
Collecting pytest>=7.0.0 (from pytest-codeblocks->SeismicMesh)
  Using cached pytest-8.2.2-py3-none-any.whl.metadata (7.6 kB)
Collecting iniconfig (from pytest>=7.0.0->pytest-codeblocks->SeismicMesh)
  Using cached iniconfig-2.0.0-py3-none-any.whl.metadata (2.6 kB)
Collecting pluggy<2.0,>=1.5 (from pytest>=7.0.0->pytest-codeblocks->SeismicMesh)
  Using cached pluggy-1.5.0-py3-none-any.whl.metadata (4.8 kB)
Requirement already satisfied: six>=1.5 in /opt/homebrew/Caskroom/miniconda/base/lib/python3.11/site-packages (from python-dateutil>=2.7->matplotlib->SeismicMesh) (1.16.0)
Collecting markdown-it-py>=2.2.0 (from rich->meshio->SeismicMesh)
  Using cached markdown_it_py-3.0.0-py3-none-any.whl.metadata (6.9 kB)
Requirement already satisfied: pygments<3.0.0,>=2.13.0 in /opt/homebrew/Caskroom/miniconda/base/lib/python3.11/site-packages (from rich->meshio->SeismicMesh) (2.15.1)
Collecting mdurl~=0.1 (from markdown-it-py>=2.2.0->rich->meshio->SeismicMesh)
  Using cached mdurl-0.1.2-py3-none-any.whl.metadata (1.6 kB)
Using cached h5py-3.11.0-cp311-cp311-macosx_11_0_arm64.whl (2.9 MB)
Using cached meshio-5.3.5-py3-none-any.whl (166 kB)
Using cached pyamg-5.1.0-cp311-cp311-macosx_11_0_arm64.whl (1.6 MB)
Using cached pytest_codeblocks-0.17.0-py3-none-any.whl (7.7 kB)
Using cached segyio-1.9.12-cp311-cp311-macosx_11_0_arm64.whl (81 kB)
Using cached pytest-8.2.2-py3-none-any.whl (339 kB)
Using cached rich-13.7.1-py3-none-any.whl (240 kB)
Using cached markdown_it_py-3.0.0-py3-none-any.whl (87 kB)
Using cached pluggy-1.5.0-py3-none-any.whl (20 kB)
Using cached iniconfig-2.0.0-py3-none-any.whl (5.9 kB)
Using cached mdurl-0.1.2-py3-none-any.whl (10.0 kB)
Building wheels for collected packages: SeismicMesh
  Building wheel for SeismicMesh (pyproject.toml) ... error
  error: subprocess-exited-with-error
  
  × Building wheel for SeismicMesh (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [84 lines of output]
      running bdist_wheel
      running build
      running build_py
      creating build
      creating build/lib.macosx-11.1-arm64-cpython-311
      creating build/lib.macosx-11.1-arm64-cpython-311/SeismicMesh
      copying SeismicMesh/__init__.py -> build/lib.macosx-11.1-arm64-cpython-311/SeismicMesh
      copying SeismicMesh/__about__.py -> build/lib.macosx-11.1-arm64-cpython-311/SeismicMesh
      creating build/lib.macosx-11.1-arm64-cpython-311/geo
      copying geo/__init__.py -> build/lib.macosx-11.1-arm64-cpython-311/geo
      copying geo/geometry.py -> build/lib.macosx-11.1-arm64-cpython-311/geo
      creating build/lib.macosx-11.1-arm64-cpython-311/common
      copying common/line_base.py -> build/lib.macosx-11.1-arm64-cpython-311/common
      copying common/spline.py -> build/lib.macosx-11.1-arm64-cpython-311/common
      copying common/bspline.py -> build/lib.macosx-11.1-arm64-cpython-311/common
      copying common/ellipse_arc.py -> build/lib.macosx-11.1-arm64-cpython-311/common
      copying common/plane_surface.py -> build/lib.macosx-11.1-arm64-cpython-311/common
      copying common/surface_loop.py -> build/lib.macosx-11.1-arm64-cpython-311/common
      copying common/curve_loop.py -> build/lib.macosx-11.1-arm64-cpython-311/common
      copying common/line.py -> build/lib.macosx-11.1-arm64-cpython-311/common
      copying common/polygon.py -> build/lib.macosx-11.1-arm64-cpython-311/common
      copying common/__init__.py -> build/lib.macosx-11.1-arm64-cpython-311/common
      copying common/volume.py -> build/lib.macosx-11.1-arm64-cpython-311/common
      copying common/point.py -> build/lib.macosx-11.1-arm64-cpython-311/common
      copying common/geometry.py -> build/lib.macosx-11.1-arm64-cpython-311/common
      copying common/circle_arc.py -> build/lib.macosx-11.1-arm64-cpython-311/common
      copying common/dummy.py -> build/lib.macosx-11.1-arm64-cpython-311/common
      copying common/surface.py -> build/lib.macosx-11.1-arm64-cpython-311/common
      creating build/lib.macosx-11.1-arm64-cpython-311/occ
      copying occ/disk.py -> build/lib.macosx-11.1-arm64-cpython-311/occ
      copying occ/box.py -> build/lib.macosx-11.1-arm64-cpython-311/occ
      copying occ/torus.py -> build/lib.macosx-11.1-arm64-cpython-311/occ
      copying occ/__init__.py -> build/lib.macosx-11.1-arm64-cpython-311/occ
      copying occ/boolean.py -> build/lib.macosx-11.1-arm64-cpython-311/occ
      copying occ/ball.py -> build/lib.macosx-11.1-arm64-cpython-311/occ
      copying occ/geometry.py -> build/lib.macosx-11.1-arm64-cpython-311/occ
      copying occ/rectangle.py -> build/lib.macosx-11.1-arm64-cpython-311/occ
      copying occ/cone.py -> build/lib.macosx-11.1-arm64-cpython-311/occ
      copying occ/wedge.py -> build/lib.macosx-11.1-arm64-cpython-311/occ
      copying occ/cylinder.py -> build/lib.macosx-11.1-arm64-cpython-311/occ
      creating build/lib.macosx-11.1-arm64-cpython-311/SeismicMesh/sizing
      copying SeismicMesh/sizing/size_function.py -> build/lib.macosx-11.1-arm64-cpython-311/SeismicMesh/sizing
      copying SeismicMesh/sizing/__init__.py -> build/lib.macosx-11.1-arm64-cpython-311/SeismicMesh/sizing
      copying SeismicMesh/sizing/mesh_size_function.py -> build/lib.macosx-11.1-arm64-cpython-311/SeismicMesh/sizing
      creating build/lib.macosx-11.1-arm64-cpython-311/SeismicMesh/decomp
      copying SeismicMesh/decomp/blocker.py -> build/lib.macosx-11.1-arm64-cpython-311/SeismicMesh/decomp
      copying SeismicMesh/decomp/__init__.py -> build/lib.macosx-11.1-arm64-cpython-311/SeismicMesh/decomp
      creating build/lib.macosx-11.1-arm64-cpython-311/SeismicMesh/geometry
      copying SeismicMesh/geometry/__init__.py -> build/lib.macosx-11.1-arm64-cpython-311/SeismicMesh/geometry
      copying SeismicMesh/geometry/utils.py -> build/lib.macosx-11.1-arm64-cpython-311/SeismicMesh/geometry
      copying SeismicMesh/geometry/rotation.py -> build/lib.macosx-11.1-arm64-cpython-311/SeismicMesh/geometry
      copying SeismicMesh/geometry/signed_distance_functions.py -> build/lib.macosx-11.1-arm64-cpython-311/SeismicMesh/geometry
      creating build/lib.macosx-11.1-arm64-cpython-311/SeismicMesh/migration
      copying SeismicMesh/migration/__init__.py -> build/lib.macosx-11.1-arm64-cpython-311/SeismicMesh/migration
      copying SeismicMesh/migration/migration.py -> build/lib.macosx-11.1-arm64-cpython-311/SeismicMesh/migration
      creating build/lib.macosx-11.1-arm64-cpython-311/SeismicMesh/generation
      copying SeismicMesh/generation/mesh_generator.py -> build/lib.macosx-11.1-arm64-cpython-311/SeismicMesh/generation
      copying SeismicMesh/generation/__init__.py -> build/lib.macosx-11.1-arm64-cpython-311/SeismicMesh/generation
      copying SeismicMesh/generation/utils.py -> build/lib.macosx-11.1-arm64-cpython-311/SeismicMesh/generation
      creating build/lib.macosx-11.1-arm64-cpython-311/SeismicMesh/sizing/cpp
      copying SeismicMesh/sizing/cpp/__init__.py -> build/lib.macosx-11.1-arm64-cpython-311/SeismicMesh/sizing/cpp
      creating build/lib.macosx-11.1-arm64-cpython-311/SeismicMesh/geometry/cpp
      copying SeismicMesh/geometry/cpp/__init__.py -> build/lib.macosx-11.1-arm64-cpython-311/SeismicMesh/geometry/cpp
      creating build/lib.macosx-11.1-arm64-cpython-311/SeismicMesh/migration/cpp
      copying SeismicMesh/migration/cpp/__init__.py -> build/lib.macosx-11.1-arm64-cpython-311/SeismicMesh/migration/cpp
      creating build/lib.macosx-11.1-arm64-cpython-311/SeismicMesh/generation/cpp
      copying SeismicMesh/generation/cpp/__init__.py -> build/lib.macosx-11.1-arm64-cpython-311/SeismicMesh/generation/cpp
      running build_ext
      clang -DNDEBUG -fwrapv -O2 -Wall -fPIC -O2 -isystem /opt/homebrew/Caskroom/miniconda/base/include -arch arm64 -fPIC -O2 -isystem /opt/homebrew/Caskroom/miniconda/base/include -arch arm64 -I/opt/homebrew/Caskroom/miniconda/base/include/python3.11 -c flagcheck.cpp -o flagcheck.o -std=c++17
      building '_FastHJ' extension
      creating build/temp.macosx-11.1-arm64-cpython-311
      creating build/temp.macosx-11.1-arm64-cpython-311/SeismicMesh
      creating build/temp.macosx-11.1-arm64-cpython-311/SeismicMesh/sizing
      creating build/temp.macosx-11.1-arm64-cpython-311/SeismicMesh/sizing/cpp
      clang -DNDEBUG -fwrapv -O2 -Wall -fPIC -O2 -isystem /opt/homebrew/Caskroom/miniconda/base/include -arch arm64 -fPIC -O2 -isystem /opt/homebrew/Caskroom/miniconda/base/include -arch arm64 -I/private/var/folders/hx/g9tst_895vb2cxj5f1f0lghh0000gp/T/pip-build-env-vj6wm35d/overlay/lib/python3.11/site-packages/pybind11/include -I/opt/homebrew/Caskroom/miniconda/base/include/python3.11 -c SeismicMesh/sizing/cpp/FastHJ.cpp -o build/temp.macosx-11.1-arm64-cpython-311/SeismicMesh/sizing/cpp/FastHJ.o -std=c++17 -mmacosx-version-min=10.14 -fvisibility=hidden -g0
      SeismicMesh/sizing/cpp/FastHJ.cpp:81:7: warning: unused variable 'maxSz' [-Wunused-variable]
        int maxSz = dims[0] * dims[1] * dims[2];
            ^
      1 warning generated.
      clang++ -bundle -undefined dynamic_lookup -Wl,-rpath,/opt/homebrew/Caskroom/miniconda/base/lib -L/opt/homebrew/Caskroom/miniconda/base/lib -Wl,-rpath,/opt/homebrew/Caskroom/miniconda/base/lib -L/opt/homebrew/Caskroom/miniconda/base/lib build/temp.macosx-11.1-arm64-cpython-311/SeismicMesh/sizing/cpp/FastHJ.o -lgmp -lmpfr -o build/lib.macosx-11.1-arm64-cpython-311/_FastHJ.cpython-311-darwin.so -mmacosx-version-min=10.14
      ld: warning: duplicate -rpath '/opt/homebrew/Caskroom/miniconda/base/lib' ignored
      ld: library 'gmp' not found
      clang: error: linker command failed with exit code 1 (use -v to see invocation)
      error: command '/usr/bin/clang++' failed with exit code 1
      [end of output]
  
  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for SeismicMesh
Failed to build SeismicMesh
ERROR: Could not build wheels for SeismicMesh, which is required to install pyproject.toml-based projects

and I installed gmp where :

(base) (firedrake) yw11823@IC-FVFL80FW1WGC spyro % brew info gmp                             

==> gmp: stable 6.3.0 (bottled), HEAD
GNU multiple precision arithmetic library
https://gmplib.org/
Installed
/opt/homebrew/Cellar/gmp/6.3.0 (21 files, 3.3MB) *
  Poured from bottle using the formulae.brew.sh API on 2024-03-07 at 22:17:08
From: https://github.com/Homebrew/homebrew-core/blob/HEAD/Formula/g/gmp.rb
License: LGPL-3.0-or-later or GPL-2.0-or-later
==> Dependencies
Build: autoconf ✔, automake ✔, libtool ✔
==> Options
--HEAD
        Install HEAD version
==> Analytics
install: 133,867 (30 days), 383,296 (90 days), 1,458,764 (365 days)
install-on-request: 7,955 (30 days), 17,367 (90 days), 85,672 (365 days)
build-error: 136 (30 days)

and I edited the terminal where

(base) (firedrake) yw11823@IC-FVFL80FW1WGC spyro % open ~/.zshrc 

# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/opt/homebrew/Caskroom/miniconda/base/bin/conda' 'shell.zsh' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
    eval "$__conda_setup"
else
    if [ -f "/opt/homebrew/Caskroom/miniconda/base/etc/profile.d/conda.sh" ]; then
        . "/opt/homebrew/Caskroom/miniconda/base/etc/profile.d/conda.sh"
    else
        export PATH="/opt/homebrew/Caskroom/miniconda/base/bin:$PATH"
    fi
fi
unset __conda_setup
# <<< conda initialize <<<

export PATH="/opt/homebrew/bin:$PATH"
export PATH="/opt/homebrew/opt/m4/bin:$PATH"
export C_INCLUDE_PATH="/opt/homebrew/opt/gmp/include:$C_INCLUDE_PATH"
export LIBRARY_PATH="/opt/homebrew/opt/gmp/lib:$LIBRARY_PATH"


# Add Homebrew's Python 3.11 to the PATH
# export PATH="/opt/homebrew/opt/python@3.11/bin:$PATH"

export PATH="/Library/TeX/texbin:$PATH"

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions