pyswmm / swmm-python

32 stars 27 forks source link

Error installing pyswmm on macOS Ventura" #112

Closed ddspot closed 1 year ago

ddspot commented 1 year ago

Describe the bug I tried installing pyswmm on a macOS venutura. The following error was raised: subprocess-exited-with-error and metadata-generation-failed. Here is the full error log:

× python setup.py egg_info did not run successfully. exit code: 1 ╰─> [8 lines of output] running egg_info creating /private/var/folders/ft/8qzbkr994y9gmhkqb5l97lsw0000gq/T/pip-pip-egg-info-h21wwx37/swmm_toolkit.egg-info writing /private/var/folders/ft/8qzbkr994y9gmhkqb5l97lsw0000gq/T/pip-pip-egg-info-h21wwx37/swmm_toolkit.egg-info/PKG-INFO writing dependency_links to /private/var/folders/ft/8qzbkr994y9gmhkqb5l97lsw0000gq/T/pip-pip-egg-info-h21wwx37/swmm_toolkit.egg-info/dependency_links.txt writing requirements to /private/var/folders/ft/8qzbkr994y9gmhkqb5l97lsw0000gq/T/pip-pip-egg-info-h21wwx37/swmm_toolkit.egg-info/requires.txt writing top-level names to /private/var/folders/ft/8qzbkr994y9gmhkqb5l97lsw0000gq/T/pip-pip-egg-info-h21wwx37/swmm_toolkit.egg-info/top_level.txt writing manifest file '/private/var/folders/ft/8qzbkr994y9gmhkqb5l97lsw0000gq/T/pip-pip-egg-info-h21wwx37/swmm_toolkit.egg-info/SOURCES.txt error: package directory 'lib' does not exist [end of output]

To Reproduce Notes:

Desktop (please complete the following information):

Please let me know how to go about getting this to work. Many thanks in advance.

bemcdonnell commented 1 year ago

@ddspot, I’m going to move this issue to SWMM-toolkit since it seems to be the problem. Meanwhile, could you try to pip install swmm-toolkit?

ddspot commented 1 year ago

@bemcdonnell, thank you for your rapid response. I tried this as well and got the same error as mentioned above.

bemcdonnell commented 1 year ago

@ddspot let me look into this and catch up with our collaborators @abhiramm7 and @karosc when they start their workday. I am currently on Big Sur and have no issues with the install. If you want to try building the wheel yourself, that would be worth a try.

bemcdonnell commented 1 year ago

@ddspot which processor do you have? Intel, M1 or M2? I'm just trying to get as much information as possible.

ddspot commented 1 year ago

Hi, it's a M2. I tried building the wheel myself but encountered some problems with the cmake-build. Below is the output from that. Maybe it can give a better insight into the problem.

many thanks.


-- Trying 'Ninja' generator






-- Not searching for unused variables given on the command line. -- The C compiler identification is AppleClang 14.0.3.14030022 -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc

Configuring Project Working directory:

/Users/dd/SWMM/swmm-python/swmm-toolkit/_skbuild/macosx-10.9-arm64-3.10/cmake-build Command: /opt/homebrew/bin/cmake /Users/dd/SWMM/swmm-python/swmm-toolkit -G Ninja --no-warn-unused-cli -DCMAKE_INSTALL_PREFIX:PATH=/Users/dd/SWMM/swmm-python/swmm-toolkit/_skbuild/macosx-10.9-arm64-3.10/cmake-install -DPYTHON_VERSION_STRING:STRING=3.10.11 -DSKBUILD:INTERNAL=TRUE -DCMAKE_MODULE_PATH:PATH=/Users/dd/MyPyEnvs/macdev/lib/python3.10/site-packages/skbuild/resources/cmake -DPYTHON_EXECUTABLE:PATH=/Users/dd/MyPyEnvs/macdev/bin/python -DPYTHON_INCLUDE_DIR:PATH=/Users/dd/.pyenv/versions/3.10.11/include/python3.10 -DPYTHON_LIBRARY:PATH=/Users/dd/.pyenv/versions/3.10.11/lib/libpython3.10.dylib -DPython_EXECUTABLE:PATH=/Users/dd/MyPyEnvs/macdev/bin/python -DPython_ROOT_DIR:PATH=/Users/dd/MyPyEnvs/macdev -DPython_FIND_REGISTRY:STRING=NEVER -DPython_INCLUDE_DIR:PATH=/Users/dd/.pyenv/versions/3.10.11/include/python3.10 -DPython_NumPy_INCLUDE_DIRS:PATH=/Users/dd/MyPyEnvs/macdev/lib/python3.10/site-packages/numpy/core/include -DPython3_EXECUTABLE:PATH=/Users/dd/MyPyEnvs/macdev/bin/python -DPython3_ROOT_DIR:PATH=/Users/dd/MyPyEnvs/macdev -DPython3_FIND_REGISTRY:STRING=NEVER -DPython3_INCLUDE_DIR:PATH=/Users/dd/.pyenv/versions/3.10.11/include/python3.10 -DPython3_NumPy_INCLUDE_DIRS:PATH=/Users/dd/MyPyEnvs/macdev/lib/python3.10/site-packages/numpy/core/include -DCMAKE_MAKE_PROGRAM:FILEPATH=/Users/dd/MyPyEnvs/macdev/lib/python3.10/site-packages/ninja/data/bin/ninja -DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=10.9 -DCMAKE_OSX_ARCHITECTURES:STRING=arm64 -DCMAKE_BUILD_TYPE:STRING=Release

Not searching for unused variables given on the command line. CMake Warning (dev) at /opt/homebrew/Cellar/cmake/3.26.3/share/cmake/Modules/FetchContent.cmake:1282 (message): The DOWNLOAD_EXTRACT_TIMESTAMP option was not given and policy CMP0135 is not set. The policy's OLD behavior will be used. When using a URL download, the timestamps of extracted files should preferably be that of the time of extraction, otherwise code that depends on the extracted contents might not be rebuilt if the URL changes. The OLD behavior preserves the timestamps from the archive instead, but this is usually not what you want. Update your project to the NEW behavior or specify the DOWNLOAD_EXTRACT_TIMESTAMP option with a value of true to avoid this robustness issue. Call Stack (most recent call first): extern/openmp.cmake:24 (FetchContent_Declare) CMakeLists.txt:42 (include) This warning is for project developers. Use -Wno-dev to suppress it.

CMake Deprecation Warning at _skbuild/macosx-10.9-arm64-3.10/cmake-build/_deps/openmp-src/CMakeLists.txt:1 (cmake_minimum_required): Compatibility with CMake < 2.8.12 will be removed from a future version of CMake.

Update the VERSION argument value or use a ... suffix to tell CMake that the project does not need compatibility with older versions.

CMake Warning (dev) at _skbuild/macosx-10.9-arm64-3.10/cmake-build/_deps/openmp-src/CMakeLists.txt:9 (project): Policy CMP0048 is not set: project() command manages VERSION variables. Run "cmake --help-policy CMP0048" for policy details. Use the cmake_policy command to set the policy and suppress this warning.

The following variable(s) would be set to empty:

PROJECT_VERSION
PROJECT_VERSION_MAJOR
PROJECT_VERSION_MINOR
PROJECT_VERSION_PATCH

This warning is for project developers. Use -Wno-dev to suppress it.

-- Cannot find llvm-lit. -- Please put llvm-lit in your PATH, set OPENMP_LLVM_LIT_EXECUTABLE to its full path, or point OPENMP_LLVM_TOOLS_DIR to its directory. CMake Warning at _skbuild/macosx-10.9-arm64-3.10/cmake-build/_deps/openmp-src/cmake/OpenMPTesting.cmake:22 (message): The check targets will not be available! Call Stack (most recent call first):

_skbuild/macosx-10.9-arm64-3.10/cmake-build/_deps/openmp-src/cmake/OpenMPTesting.cmake:51 (find_standalone_test_dependencies)

_skbuild/macosx-10.9-arm64-3.10/cmake-build/_deps/openmp-src/CMakeLists.txt:49 (include)

-- LIBOMP: Operating System -- Darwin -- LIBOMP: Target Architecture -- aarch64 -- LIBOMP: Build Type -- Release -- LIBOMP: Library Kind -- SHARED -- LIBOMP: Library Type -- normal -- LIBOMP: Fortran Modules -- FALSE -- LIBOMP: Build -- 20140926 -- LIBOMP: Use Stats-gathering -- FALSE -- LIBOMP: Use Debugger-support -- FALSE -- LIBOMP: Use ITT notify -- TRUE -- LIBOMP: Use OMPT-support -- TRUE -- LIBOMP: Use OMPT-optional -- TRUE -- LIBOMP: Use Adaptive locks -- FALSE -- LIBOMP: Use quad precision -- FALSE -- LIBOMP: Use TSAN-support -- FALSE -- LIBOMP: Use Hwloc library -- FALSE -- check-libomp does nothing. -- check-ompt does nothing. -- check-openmp does nothing. -- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY -- Performing Test COMPILER_HAS_HIDDEN_VISIBILITY - Success -- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY -- Performing Test COMPILER_HAS_HIDDEN_INLINE_VISIBILITY - Success -- Performing Test COMPILER_HAS_DEPRECATED_ATTR -- Performing Test COMPILER_HAS_DEPRECATED_ATTR - Success -- Could NOT find OpenMP_C (missing: OpenMP_C_FLAGS OpenMP_C_LIB_NAMES) -- Could NOT find OpenMP (missing: OpenMP_C_FOUND) -- Configuring done (1.4s) -- Generating done (0.0s) -- Build files have been written to: /Users/dd/SWMM/swmm-python/swmm-toolkit/_skbuild/macosx-10.9-arm64-3.10/cmake-build [27/105] Building C object _deps/openmp-build/runtime/src/CMakeFiles/omp.dir/z_Linux_asm.S.o FAILED: _deps/openmp-build/runtime/src/CMakeFiles/omp.dir/z_Linux_asm.S.o /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc -Domp_EXPORTS -I/Users/dd/SWMM/swmm-python/swmm-toolkit/_skbuild/macosx-10.9-arm64-3.10/cmake-build/_deps/openmp-build/runtime/src -I/Users/dd/SWMM/swmm-python/swmm-toolkit/_skbuild/macosx-10.9-arm64-3.10/cmake-build/_deps/openmp-src/runtime/src -I/Users/dd/SWMM/swmm-python/swmm-toolkit/_skbuild/macosx-10.9-arm64-3.10/cmake-build/_deps/openmp-src/runtime/src/i18n -I/Users/dd/SWMM/swmm-python/swmm-toolkit/_skbuild/macosx-10.9-arm64-3.10/cmake-build/_deps/openmp-src/runtime/src/include -I/Users/dd/SWMM/swmm-python/swmm-toolkit/_skbuild/macosx-10.9-arm64-3.10/cmake-build/_deps/openmp-src/runtime/src/thirdparty/ittnotify -Wall -Wcast-qual -Wformat-pedantic -Wimplicit-fallthrough -Wsign-compare -Wno-extra -Wno-pedantic -O3 -DNDEBUG -arch arm64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.3.sdk -mmacosx-version-min=10.9 -fPIC -D _GNU_SOURCE -D _REENTRANT -x assembler-with-cpp -MD -MT _deps/openmp-build/runtime/src/CMakeFiles/omp.dir/z_Linux_asm.S.o -MF _deps/openmp-build/runtime/src/CMakeFiles/omp.dir/z_Linux_asm.S.o.d -o _deps/openmp-build/runtime/src/CMakeFiles/omp.dir/z_Linux_asm.S.o -c /Users/dd/SWMM/swmm-python/swmm-toolkit/_skbuild/macosx-10.9-arm64-3.10/cmake-build/_deps/openmp-src/runtime/src/z_Linux_asm.S /Users/dd/SWMM/swmm-python/swmm-toolkit/_skbuild/macosx-10.9-arm64-3.10/cmake-build/_deps/openmp-src/runtime/src/z_Linux_asm.S:1752:5: error: unknown directive .size __kmp_unnamed_critical_addr,8 ^ [38/105] Building CXX object _deps/openmp-build/runtime/src/CMakeFiles/omp.dir/kmp_dispatch.cpp.o ninja: build stopped: subcommand failed. Traceback (most recent call last): File "/Users/dd/MyPyEnvs/macdev/lib/python3.10/site-packages/skbuild/setuptools_wrap.py", line 674, in setup cmkr.make(make_args, install_target=cmake_install_target, env=env) File "/Users/dd/MyPyEnvs/macdev/lib/python3.10/site-packages/skbuild/cmaker.py", line 696, in make self.make_impl(clargs=clargs, config=config, source_dir=source_dir, install_target=install_target, env=env) File "/Users/dd/MyPyEnvs/macdev/lib/python3.10/site-packages/skbuild/cmaker.py", line 741, in make_impl raise SKBuildError(msg)

An error occurred while building with CMake. Command: /opt/homebrew/bin/cmake --build . --target install --config Release -- Install target: install Source directory: /Users/dd/SWMM/swmm-python/swmm-toolkit Working directory:

/Users/dd/SWMM/swmm-python/swmm-toolkit/_skbuild/macosx-10.9-arm64-3.10/cmake-build Please check the install target is valid and see CMake's output for more information.

On Fri, May 5, 2023 at 1:49 PM Bryant E. McDonnell @.***> wrote:

@ddspot https://github.com/ddspot which processor do you have? Intel, M1 or M2? I'm just trying to get as much information as possible.

— Reply to this email directly, view it on GitHub https://github.com/pyswmm/swmm-python/issues/112#issuecomment-1536143378, or unsubscribe https://github.com/notifications/unsubscribe-auth/AJAG6Y4OJPSFYICVFRCKIFDXETSOPANCNFSM6AAAAAAXW3X2PA . You are receiving this because you were mentioned.Message ID: @.***>

bemcdonnell commented 1 year ago

@ddspot I wrote a quick guide that might be helpful. My collaborators might laugh at me for reinventing the wheel here but I did manage to get it to build. However, I have never tried building on M1 or M2 so I have no idea what you should expect. I documented the work-around for the ninja build tool. We have not officially started supporting M1 or M2 so if you run the regression tests, let us know what you discover!

build_swmm-toolkit_wheel_v1_20230505.pdf

abhiramm7 commented 1 year ago

@ddspot You should be able to build it by bypassing OpenMP. https://randomstorms.net/logs/build/compile_swmm_python.html outlines the process for building it on M1, it should be the same. Note, instead of downloading the version of swmm-python in the post, I would recommend that you download the most recent release and update the CMakeLists file. Once you download the swmm-python, update the CMakeLists.txt to skip the search for OpenMP flags. Here is an example https://github.com/abhiramm7/swmm-python/blob/dev/swmm-toolkit/CMakeLists.txt#LL40C1-L48C8.

I hope this helps :).

bemcdonnell commented 1 year ago

@abhiramm7 - you are the collaborator who should issue beaucoup laughter at my guide. :-)

I propose we add support for M1/M2 to the project! @abhiramm7 would you be open to helping this happen?

abhiramm7 commented 1 year ago

@bemcdonnell Yes, I'd love to. I think @cbuahin already figured it out; he wanted to make a couple of changes to build it into a more robust thing. I can help pull that in 🕺🏼 .

bemcdonnell commented 1 year ago

@ddspot how did the process work for you? Any feed back?

ddspot commented 1 year ago

Hi, it still didn't work for me. I had a problem where it searched for a CMakeList.txt in swmm-solver and could not find it there. I then removed swmm-solver and cloned the Stomwater-Management-Model repository directly into swmm-toolkit/swmm-solver using git clone https://github.com/OpenWaterAnalytics/Stormwater-Management-Model.git swmm-toolkit/swmm-solver. Not sure if that made sense, but I was just trying.

After doing this, I ran the build using (python setup.py bdist_wheel) and got the following errors (see below).

PS. At that point, I stopped the installation on the mac and used the version I installed on the HPC some time ago. Maybe there is something wrong with the OpenMP installation, or I need to modify the CMakeList.txt?

Many thanks

Here's the log when i tried to build the wheel:

(macdev) @.*** swmm-toolkit % python setup.py bdist_wheel


-- Trying 'Ninja' generator






-- Not searching for unused variables given on the command line. -- The C compiler identification is AppleClang 14.0.3.14030022 -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Check for working C compiler: /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc

Configuring Project Working directory:

/Users/dd/SWMM/swmm-python/swmm-toolkit/_skbuild/macosx-10.9-arm64-3.10/cmake-build Command:

/Users/dd/MyPyEnvs/macdev/lib/python3.10/site-packages/cmake/data/bin/cmake /Users/dd/SWMM/swmm-python/swmm-toolkit -G Ninja --no-warn-unused-cli -DCMAKE_INSTALL_PREFIX:PATH=/Users/dd/SWMM/swmm-python/swmm-toolkit/_skbuild/macosx-10.9-arm64-3.10/cmake-install -DPYTHON_VERSION_STRING:STRING=3.10.11 -DSKBUILD:INTERNAL=TRUE -DCMAKE_MODULE_PATH:PATH=/Users/dd/MyPyEnvs/macdev/lib/python3.10/site-packages/skbuild/resources/cmake -DPYTHON_EXECUTABLE:PATH=/Users/dd/MyPyEnvs/macdev/bin/python -DPYTHON_INCLUDE_DIR:PATH=/Users/dd/.pyenv/versions/3.10.11/include/python3.10 -DPYTHON_LIBRARY:PATH=/Users/dd/.pyenv/versions/3.10.11/lib/libpython3.10.dylib -DPython_EXECUTABLE:PATH=/Users/dd/MyPyEnvs/macdev/bin/python -DPython_ROOT_DIR:PATH=/Users/dd/MyPyEnvs/macdev -DPython_FIND_REGISTRY:STRING=NEVER -DPython_INCLUDE_DIR:PATH=/Users/dd/.pyenv/versions/3.10.11/include/python3.10 -DPython_NumPy_INCLUDE_DIRS:PATH=/Users/dd/MyPyEnvs/macdev/lib/python3.10/site-packages/numpy/core/include -DPython3_EXECUTABLE:PATH=/Users/dd/MyPyEnvs/macdev/bin/python -DPython3_ROOT_DIR:PATH=/Users/dd/MyPyEnvs/macdev -DPython3_FIND_REGISTRY:STRING=NEVER -DPython3_INCLUDE_DIR:PATH=/Users/dd/.pyenv/versions/3.10.11/include/python3.10 -DPython3_NumPy_INCLUDE_DIRS:PATH=/Users/dd/MyPyEnvs/macdev/lib/python3.10/site-packages/numpy/core/include -DCMAKE_MAKE_PROGRAM:FILEPATH=/Users/dd/MyPyEnvs/macdev/lib/python3.10/site-packages/ninja/data/bin/ninja -DCMAKE_OSX_DEPLOYMENT_TARGET:STRING=10.9 -DCMAKE_OSX_ARCHITECTURES:STRING=arm64 -DCMAKE_BUILD_TYPE:STRING=Release

Not searching for unused variables given on the command line. -- Found Python3: /Users/dd/MyPyEnvs/macdev/bin/python (found suitable version "3.10.11", minimum required is "3.10.11") found components: Interpreter Development.Module CMake Warning (dev) at /Users/dd/MyPyEnvs/macdev/lib/python3.10/site-packages/cmake/data/share/cmake-3.26/Modules/FetchContent.cmake:1282 (message): The DOWNLOAD_EXTRACT_TIMESTAMP option was not given and policy CMP0135 is not set. The policy's OLD behavior will be used. When using a URL download, the timestamps of extracted files should preferably be that of the time of extraction, otherwise code that depends on the extracted contents might not be rebuilt if the URL changes. The OLD behavior preserves the timestamps from the archive instead, but this is usually not what you want. Update your project to the NEW behavior or specify the DOWNLOAD_EXTRACT_TIMESTAMP option with a value of true to avoid this robustness issue. Call Stack (most recent call first): extern/openmp.cmake:24 (FetchContent_Declare) CMakeLists.txt:42 (include) This warning is for project developers. Use -Wno-dev to suppress it.

CMake Deprecation Warning at _skbuild/macosx-10.9-arm64-3.10/cmake-build/_deps/openmp-src/CMakeLists.txt:1 (cmake_minimum_required): Compatibility with CMake < 2.8.12 will be removed from a future version of CMake.

Update the VERSION argument value or use a ... suffix to tell CMake that the project does not need compatibility with older versions.

CMake Warning (dev) at _skbuild/macosx-10.9-arm64-3.10/cmake-build/_deps/openmp-src/CMakeLists.txt:9 (project): Policy CMP0048 is not set: project() command manages VERSION variables. Run "cmake --help-policy CMP0048" for policy details. Use the cmake_policy command to set the policy and suppress this warning.

The following variable(s) would be set to empty:

PROJECT_VERSION
PROJECT_VERSION_MAJOR
PROJECT_VERSION_MINOR
PROJECT_VERSION_PATCH

This warning is for project developers. Use -Wno-dev to suppress it.

-- Cannot find llvm-lit. -- Please put llvm-lit in your PATH, set OPENMP_LLVM_LIT_EXECUTABLE to its full path, or point OPENMP_LLVM_TOOLS_DIR to its directory. CMake Warning at _skbuild/macosx-10.9-arm64-3.10/cmake-build/_deps/openmp-src/cmake/OpenMPTesting.cmake:22 (message): The check targets will not be available! Call Stack (most recent call first):

_skbuild/macosx-10.9-arm64-3.10/cmake-build/_deps/openmp-src/cmake/OpenMPTesting.cmake:51 (find_standalone_test_dependencies)

_skbuild/macosx-10.9-arm64-3.10/cmake-build/_deps/openmp-src/CMakeLists.txt:49 (include)

-- LIBOMP: Operating System -- Darwin -- LIBOMP: Target Architecture -- aarch64 -- LIBOMP: Build Type -- Release -- LIBOMP: Library Kind -- SHARED -- LIBOMP: Library Type -- normal -- LIBOMP: Fortran Modules -- FALSE -- LIBOMP: Build -- 20140926 -- LIBOMP: Use Stats-gathering -- FALSE -- LIBOMP: Use Debugger-support -- FALSE -- LIBOMP: Use ITT notify -- TRUE -- LIBOMP: Use OMPT-support -- TRUE -- LIBOMP: Use OMPT-optional -- TRUE -- LIBOMP: Use Adaptive locks -- FALSE -- LIBOMP: Use quad precision -- FALSE -- LIBOMP: Use TSAN-support -- FALSE -- LIBOMP: Use Hwloc library -- FALSE -- check-libomp does nothing. -- check-ompt does nothing. -- check-openmp does nothing. -- Could NOT find OpenMP_C (missing: OpenMP_C_FLAGS OpenMP_C_LIB_NAMES) -- Could NOT find OpenMP (missing: OpenMP_C_FOUND) -- Configuring done (1.4s) -- Generating done (0.0s) -- Build files have been written to: /Users/dd/SWMM/swmm-python/swmm-toolkit/_skbuild/macosx-10.9-arm64-3.10/cmake-build [22/64] Building C object _deps/openmp...src/CMakeFiles/omp.dir/z_Linux_asm.S.o FAILED: _deps/openmp-build/runtime/src/CMakeFiles/omp.dir/z_Linux_asm.S.o /Applications/Xcode.app/Contents/Developer/Toolchains/XcodeDefault.xctoolchain/usr/bin/cc -Domp_EXPORTS -I/Users/dd/SWMM/swmm-python/swmm-toolkit/_skbuild/macosx-10.9-arm64-3.10/cmake-build/_deps/openmp-build/runtime/src -I/Users/dd/SWMM/swmm-python/swmm-toolkit/_skbuild/macosx-10.9-arm64-3.10/cmake-build/_deps/openmp-src/runtime/src -I/Users/dd/SWMM/swmm-python/swmm-toolkit/_skbuild/macosx-10.9-arm64-3.10/cmake-build/_deps/openmp-src/runtime/src/i18n -I/Users/dd/SWMM/swmm-python/swmm-toolkit/_skbuild/macosx-10.9-arm64-3.10/cmake-build/_deps/openmp-src/runtime/src/include -I/Users/dd/SWMM/swmm-python/swmm-toolkit/_skbuild/macosx-10.9-arm64-3.10/cmake-build/_deps/openmp-src/runtime/src/thirdparty/ittnotify -Wall -Wcast-qual -Wformat-pedantic -Wimplicit-fallthrough -Wsign-compare -Wno-extra -Wno-pedantic -O3 -DNDEBUG -arch arm64 -isysroot /Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX13.3.sdk -mmacosx-version-min=10.9 -fPIC -D _GNU_SOURCE -D _REENTRANT -x assembler-with-cpp -MD -MT _deps/openmp-build/runtime/src/CMakeFiles/omp.dir/z_Linux_asm.S.o -MF _deps/openmp-build/runtime/src/CMakeFiles/omp.dir/z_Linux_asm.S.o.d -o _deps/openmp-build/runtime/src/CMakeFiles/omp.dir/z_Linux_asm.S.o -c /Users/dd/SWMM/swmm-python/swmm-toolkit/_skbuild/macosx-10.9-arm64-3.10/cmake-build/_deps/openmp-src/runtime/src/z_Linux_asm.S /Users/dd/SWMM/swmm-python/swmm-toolkit/_skbuild/macosx-10.9-arm64-3.10/cmake-build/_deps/openmp-src/runtime/src/z_Linux_asm.S:1752:5: error: unknown directive .size __kmp_unnamed_critical_addr,8 ^ [33/64] Building CXX object _deps/open.../CMakeFiles/omp.dir/kmp_dispatch.cpp.o ninja: build stopped: subcommand failed. Traceback (most recent call last): File "/Users/dd/MyPyEnvs/macdev/lib/python3.10/site-packages/skbuild/setuptools_wrap.py", line 674, in setup cmkr.make(make_args, install_target=cmake_install_target, env=env) File "/Users/dd/MyPyEnvs/macdev/lib/python3.10/site-packages/skbuild/cmaker.py", line 696, in make self.make_impl(clargs=clargs, config=config, source_dir=source_dir, install_target=install_target, env=env) File "/Users/dd/MyPyEnvs/macdev/lib/python3.10/site-packages/skbuild/cmaker.py", line 741, in make_impl raise SKBuildError(msg)

An error occurred while building with CMake. Command:

/Users/dd/MyPyEnvs/macdev/lib/python3.10/site-packages/cmake/data/bin/cmake --build . --target install --config Release -- Install target: install Source directory: /Users/dd/SWMM/swmm-python/swmm-toolkit Working directory:

/Users/dd/SWMM/swmm-python/swmm-toolkit/_skbuild/macosx-10.9-arm64-3.10/cmake-build Please check the install target is valid and see CMake's output for more information.

On Sat, May 6, 2023 at 11:25 AM Bryant E. McDonnell < @.***> wrote:

@ddspot https://github.com/ddspot how did the process work for you? Any feed back?

— Reply to this email directly, view it on GitHub https://github.com/pyswmm/swmm-python/issues/112#issuecomment-1537099901, or unsubscribe https://github.com/notifications/unsubscribe-auth/AJAG6YYCVGJJMHM3CWEZZC3XEYKHHANCNFSM6AAAAAAXW3X2PA . You are receiving this because you were mentioned.Message ID: @.***>

abhiramm7 commented 1 year ago

Describe the bug I tried installing pyswmm on a macOS venutura. The following error was raised: subprocess-exited-with-error and metadata-generation-failed. Here is the full error log:

× python setup.py egg_info did not run successfully. exit code: 1 ╰─> [8 lines of output] running egg_info creating /private/var/folders/ft/8qzbkr994y9gmhkqb5l97lsw0000gq/T/pip-pip-egg-info-h21wwx37/swmm_toolkit.egg-info writing /private/var/folders/ft/8qzbkr994y9gmhkqb5l97lsw0000gq/T/pip-pip-egg-info-h21wwx37/swmm_toolkit.egg-info/PKG-INFO writing dependency_links to /private/var/folders/ft/8qzbkr994y9gmhkqb5l97lsw0000gq/T/pip-pip-egg-info-h21wwx37/swmm_toolkit.egg-info/dependency_links.txt writing requirements to /private/var/folders/ft/8qzbkr994y9gmhkqb5l97lsw0000gq/T/pip-pip-egg-info-h21wwx37/swmm_toolkit.egg-info/requires.txt writing top-level names to /private/var/folders/ft/8qzbkr994y9gmhkqb5l97lsw0000gq/T/pip-pip-egg-info-h21wwx37/swmm_toolkit.egg-info/top_level.txt writing manifest file '/private/var/folders/ft/8qzbkr994y9gmhkqb5l97lsw0000gq/T/pip-pip-egg-info-h21wwx37/swmm_toolkit.egg-info/SOURCES.txt error: package directory 'lib' does not exist [end of output]

To Reproduce Notes:

  • I tried to install pyswmm in a virtual environment using pip install pyswwm.
  • Also tried using pip install git+https://github.com/OpenWaterAnalytics/pyswmm.git
  • Both produced the same error as stated above

Desktop (please complete the following information):

  • OS: [ MacOS Ventura]
  • Python Version [e.g. Python 3.10.11]
  • PySWMM Version [1.4.0]

Please let me know how to go about getting this to work. Many thanks in advance.

try brew install lit and rerun thepython setup.py build

Make sure you disable openmp in cmake. I just tested it on Ventura seems to be working

ddspot commented 1 year ago

@abhiramm7 Many thanks; it's working now. Disabling openmp in cmakelist.txt was key (somehow I missed that from your previous comment)

Many thanks, @bemcdonnell and @abhiramm7 for the quick response and support in solving this issue.

bemcdonnell commented 1 year ago

@abhiramm7 is the hero and winner in this case!!! 🤣🤣🤣