LCAV / pyroomacoustics

Pyroomacoustics is a package for audio signal processing for indoor applications. It was developed as a fast prototyping platform for beamforming algorithms in indoor scenarios.
https://pyroomacoustics.readthedocs.io
MIT License
1.33k stars 417 forks source link

Problem at installation... #301

Closed Judape closed 1 year ago

Judape commented 1 year ago

Hi, thank you for sharing your software. I've tried to install in my conda environment (Python=3.10), but I get this error:

$ pip install pyroomacoustics

Collecting pyroomacoustics
  Using cached pyroomacoustics-0.7.3.tar.gz (1.1 MB)
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Preparing metadata (pyproject.toml) ... done
Requirement already satisfied: scipy>=0.18.0 in /data/pelaez/anaconda3/envs/my_geo_env/lib/python3.10/site-packages (from pyroomacoustics) (1.9.3)
Requirement already satisfied: pybind11>=2.2 in /data/pelaez/anaconda3/envs/my_geo_env/lib/python3.10/site-packages (from pyroomacoustics) (2.10.3)
Requirement already satisfied: numpy>=1.13.0 in /data/pelaez/anaconda3/envs/my_geo_env/lib/python3.10/site-packages (from pyroomacoustics) (1.23.5)
Requirement already satisfied: Cython in /data/pelaez/anaconda3/envs/my_geo_env/lib/python3.10/site-packages (from pyroomacoustics) (0.29.33)
Building wheels for collected packages: pyroomacoustics
  Building wheel for pyroomacoustics (pyproject.toml) ... error
  error: subprocess-exited-with-error

  × Building wheel for pyroomacoustics (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [143 lines of output]
      running bdist_wheel
      running build
      running build_py
      creating build
      creating build/lib.linux-x86_64-cpython-310
      creating build/lib.linux-x86_64-cpython-310/pyroomacoustics
      copying pyroomacoustics/__init__.py -> build/lib.linux-x86_64-cpython-310/pyroomacoustics
      copying pyroomacoustics/acoustics.py -> build/lib.linux-x86_64-cpython-310/pyroomacoustics
      copying pyroomacoustics/beamforming.py -> build/lib.linux-x86_64-cpython-310/pyroomacoustics
      copying pyroomacoustics/directivities.py -> build/lib.linux-x86_64-cpython-310/pyroomacoustics
      copying pyroomacoustics/metrics.py -> build/lib.linux-x86_64-cpython-310/pyroomacoustics
      copying pyroomacoustics/multirate.py -> build/lib.linux-x86_64-cpython-310/pyroomacoustics
      copying pyroomacoustics/parameters.py -> build/lib.linux-x86_64-cpython-310/pyroomacoustics
      copying pyroomacoustics/recognition.py -> build/lib.linux-x86_64-cpython-310/pyroomacoustics
      copying pyroomacoustics/room.py -> build/lib.linux-x86_64-cpython-310/pyroomacoustics
      copying pyroomacoustics/soundsource.py -> build/lib.linux-x86_64-cpython-310/pyroomacoustics
      copying pyroomacoustics/sync.py -> build/lib.linux-x86_64-cpython-310/pyroomacoustics
      copying pyroomacoustics/utilities.py -> build/lib.linux-x86_64-cpython-310/pyroomacoustics
      copying pyroomacoustics/version.py -> build/lib.linux-x86_64-cpython-310/pyroomacoustics
      copying pyroomacoustics/windows.py -> build/lib.linux-x86_64-cpython-310/pyroomacoustics
      creating build/lib.linux-x86_64-cpython-310/pyroomacoustics/doa
      copying pyroomacoustics/doa/__init__.py -> build/lib.linux-x86_64-cpython-310/pyroomacoustics/doa
      copying pyroomacoustics/doa/cssm.py -> build/lib.linux-x86_64-cpython-310/pyroomacoustics/doa
      copying pyroomacoustics/doa/detect_peaks.py -> build/lib.linux-x86_64-cpython-310/pyroomacoustics/doa
      copying pyroomacoustics/doa/doa.py -> build/lib.linux-x86_64-cpython-310/pyroomacoustics/doa
      copying pyroomacoustics/doa/frida.py -> build/lib.linux-x86_64-cpython-310/pyroomacoustics/doa
      copying pyroomacoustics/doa/grid.py -> build/lib.linux-x86_64-cpython-310/pyroomacoustics/doa
      copying pyroomacoustics/doa/music.py -> build/lib.linux-x86_64-cpython-310/pyroomacoustics/doa
      copying pyroomacoustics/doa/normmusic.py -> build/lib.linux-x86_64-cpython-310/pyroomacoustics/doa
      copying pyroomacoustics/doa/plotters.py -> build/lib.linux-x86_64-cpython-310/pyroomacoustics/doa
      copying pyroomacoustics/doa/srp.py -> build/lib.linux-x86_64-cpython-310/pyroomacoustics/doa
      copying pyroomacoustics/doa/tools_fri_doa_plane.py -> build/lib.linux-x86_64-cpython-310/pyroomacoustics/doa
      copying pyroomacoustics/doa/tops.py -> build/lib.linux-x86_64-cpython-310/pyroomacoustics/doa
      copying pyroomacoustics/doa/utils.py -> build/lib.linux-x86_64-cpython-310/pyroomacoustics/doa
      copying pyroomacoustics/doa/waves.py -> build/lib.linux-x86_64-cpython-310/pyroomacoustics/doa
      creating build/lib.linux-x86_64-cpython-310/pyroomacoustics/adaptive
      copying pyroomacoustics/adaptive/__init__.py -> build/lib.linux-x86_64-cpython-310/pyroomacoustics/adaptive
      copying pyroomacoustics/adaptive/adaptive_filter.py -> build/lib.linux-x86_64-cpython-310/pyroomacoustics/adaptive
      copying pyroomacoustics/adaptive/data_structures.py -> build/lib.linux-x86_64-cpython-310/pyroomacoustics/adaptive
      copying pyroomacoustics/adaptive/lms.py -> build/lib.linux-x86_64-cpython-310/pyroomacoustics/adaptive
      copying pyroomacoustics/adaptive/rls.py -> build/lib.linux-x86_64-cpython-310/pyroomacoustics/adaptive
      copying pyroomacoustics/adaptive/subband_lms.py -> build/lib.linux-x86_64-cpython-310/pyroomacoustics/adaptive
      copying pyroomacoustics/adaptive/util.py -> build/lib.linux-x86_64-cpython-310/pyroomacoustics/adaptive
      creating build/lib.linux-x86_64-cpython-310/pyroomacoustics/transform
      copying pyroomacoustics/transform/__init__.py -> build/lib.linux-x86_64-cpython-310/pyroomacoustics/transform
      copying pyroomacoustics/transform/dft.py -> build/lib.linux-x86_64-cpython-310/pyroomacoustics/transform
      copying pyroomacoustics/transform/stft.py -> build/lib.linux-x86_64-cpython-310/pyroomacoustics/transform
      creating build/lib.linux-x86_64-cpython-310/pyroomacoustics/experimental
      copying pyroomacoustics/experimental/__init__.py -> build/lib.linux-x86_64-cpython-310/pyroomacoustics/experimental
      copying pyroomacoustics/experimental/deconvolution.py -> build/lib.linux-x86_64-cpython-310/pyroomacoustics/experimental
      copying pyroomacoustics/experimental/delay_calibration.py -> build/lib.linux-x86_64-cpython-310/pyroomacoustics/experimental
      copying pyroomacoustics/experimental/localization.py -> build/lib.linux-x86_64-cpython-310/pyroomacoustics/experimental
      copying pyroomacoustics/experimental/measure_ir.py -> build/lib.linux-x86_64-cpython-310/pyroomacoustics/experimental
      copying pyroomacoustics/experimental/physics.py -> build/lib.linux-x86_64-cpython-310/pyroomacoustics/experimental
      copying pyroomacoustics/experimental/point_cloud.py -> build/lib.linux-x86_64-cpython-310/pyroomacoustics/experimental
      copying pyroomacoustics/experimental/rt60.py -> build/lib.linux-x86_64-cpython-310/pyroomacoustics/experimental
      copying pyroomacoustics/experimental/signals.py -> build/lib.linux-x86_64-cpython-310/pyroomacoustics/experimental
      creating build/lib.linux-x86_64-cpython-310/pyroomacoustics/datasets
      copying pyroomacoustics/datasets/__init__.py -> build/lib.linux-x86_64-cpython-310/pyroomacoustics/datasets
      copying pyroomacoustics/datasets/base.py -> build/lib.linux-x86_64-cpython-310/pyroomacoustics/datasets
      copying pyroomacoustics/datasets/cmu_arctic.py -> build/lib.linux-x86_64-cpython-310/pyroomacoustics/datasets
      copying pyroomacoustics/datasets/google_speech_commands.py -> build/lib.linux-x86_64-cpython-310/pyroomacoustics/datasets
      copying pyroomacoustics/datasets/timit.py -> build/lib.linux-x86_64-cpython-310/pyroomacoustics/datasets
      copying pyroomacoustics/datasets/utils.py -> build/lib.linux-x86_64-cpython-310/pyroomacoustics/datasets
      creating build/lib.linux-x86_64-cpython-310/pyroomacoustics/bss
      copying pyroomacoustics/bss/__init__.py -> build/lib.linux-x86_64-cpython-310/pyroomacoustics/bss
      copying pyroomacoustics/bss/auxiva.py -> build/lib.linux-x86_64-cpython-310/pyroomacoustics/bss
      copying pyroomacoustics/bss/common.py -> build/lib.linux-x86_64-cpython-310/pyroomacoustics/bss
      copying pyroomacoustics/bss/fastmnmf.py -> build/lib.linux-x86_64-cpython-310/pyroomacoustics/bss
      copying pyroomacoustics/bss/fastmnmf2.py -> build/lib.linux-x86_64-cpython-310/pyroomacoustics/bss
      copying pyroomacoustics/bss/ilrma.py -> build/lib.linux-x86_64-cpython-310/pyroomacoustics/bss
      copying pyroomacoustics/bss/sparseauxiva.py -> build/lib.linux-x86_64-cpython-310/pyroomacoustics/bss
      copying pyroomacoustics/bss/trinicon.py -> build/lib.linux-x86_64-cpython-310/pyroomacoustics/bss
      creating build/lib.linux-x86_64-cpython-310/pyroomacoustics/denoise
      copying pyroomacoustics/denoise/__init__.py -> build/lib.linux-x86_64-cpython-310/pyroomacoustics/denoise
      copying pyroomacoustics/denoise/iterative_wiener.py -> build/lib.linux-x86_64-cpython-310/pyroomacoustics/denoise
      copying pyroomacoustics/denoise/spectral_subtraction.py -> build/lib.linux-x86_64-cpython-310/pyroomacoustics/denoise
      copying pyroomacoustics/denoise/subspace.py -> build/lib.linux-x86_64-cpython-310/pyroomacoustics/denoise
      creating build/lib.linux-x86_64-cpython-310/pyroomacoustics/phase
      copying pyroomacoustics/phase/__init__.py -> build/lib.linux-x86_64-cpython-310/pyroomacoustics/phase
      copying pyroomacoustics/phase/gl.py -> build/lib.linux-x86_64-cpython-310/pyroomacoustics/phase
      copying pyroomacoustics/build_rir.pyx -> build/lib.linux-x86_64-cpython-310/pyroomacoustics
      creating build/lib.linux-x86_64-cpython-310/pyroomacoustics/data
      copying pyroomacoustics/data/materials.json -> build/lib.linux-x86_64-cpython-310/pyroomacoustics/data
      running build_ext
      creating tmp
      gcc -pthread -B /data/pelaez/anaconda3/envs/my_geo_env/compiler_compat -Wno-unused-result -Wsign-compare -DNDEBUG -fwrapv -O2 -Wall -fPIC -O2 -isystem /data/pelaez/anaconda3/envs/my_geo_env/include -fPIC -O2 -isystem /data/pelaez/anaconda3/envs/my_geo_env/include -fPIC -I/data/pelaez/anaconda3/envs/my_geo_env/include/python3.10 -c /tmp/tmpv8w88z71.cpp -o tmp/tmpv8w88z71.o -std=c++14
      gcc: error trying to exec 'cc1plus': execvp: No existe el fichero o el directorio
      gcc -pthread -B /data/pelaez/anaconda3/envs/my_geo_env/compiler_compat -Wno-unused-result -Wsign-compare -DNDEBUG -fwrapv -O2 -Wall -fPIC -O2 -isystem /data/pelaez/anaconda3/envs/my_geo_env/include -fPIC -O2 -isystem /data/pelaez/anaconda3/envs/my_geo_env/include -fPIC -I/data/pelaez/anaconda3/envs/my_geo_env/include/python3.10 -c /tmp/tmp9cca0vxo.cpp -o tmp/tmp9cca0vxo.o -std=c++11
      gcc: error trying to exec 'cc1plus': execvp: No existe el fichero o el directorio
      Traceback (most recent call last):
        File "/data/pelaez/anaconda3/envs/my_geo_env/lib/python3.10/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 351, in <module>
          main()
        File "/data/pelaez/anaconda3/envs/my_geo_env/lib/python3.10/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 333, in main
          json_out['return_val'] = hook(**hook_input['kwargs'])
        File "/data/pelaez/anaconda3/envs/my_geo_env/lib/python3.10/site-packages/pip/_vendor/pep517/in_process/_in_process.py", line 249, in build_wheel
          return _build_backend().build_wheel(wheel_directory, config_settings,
        File "/tmp/pip-build-env-a2mqc6ra/overlay/lib/python3.10/site-packages/setuptools/build_meta.py", line 413, in build_wheel
          return self._build_with_temp_dir(['bdist_wheel'], '.whl',
        File "/tmp/pip-build-env-a2mqc6ra/overlay/lib/python3.10/site-packages/setuptools/build_meta.py", line 398, in _build_with_temp_dir
          self.run_setup()
        File "/tmp/pip-build-env-a2mqc6ra/overlay/lib/python3.10/site-packages/setuptools/build_meta.py", line 484, in run_setup
          super(_BuildMetaLegacyBackend,
        File "/tmp/pip-build-env-a2mqc6ra/overlay/lib/python3.10/site-packages/setuptools/build_meta.py", line 335, in run_setup
          exec(code, locals())
        File "<string>", line 219, in <module>
        File "/tmp/pip-build-env-a2mqc6ra/overlay/lib/python3.10/site-packages/setuptools/__init__.py", line 108, in setup
          return distutils.core.setup(**attrs)
        File "/tmp/pip-build-env-a2mqc6ra/overlay/lib/python3.10/site-packages/setuptools/_distutils/core.py", line 185, in setup
          return run_commands(dist)
        File "/tmp/pip-build-env-a2mqc6ra/overlay/lib/python3.10/site-packages/setuptools/_distutils/core.py", line 201, in run_commands
          dist.run_commands()
        File "/tmp/pip-build-env-a2mqc6ra/overlay/lib/python3.10/site-packages/setuptools/_distutils/dist.py", line 969, in run_commands
          self.run_command(cmd)
        File "/tmp/pip-build-env-a2mqc6ra/overlay/lib/python3.10/site-packages/setuptools/dist.py", line 1213, in run_command
          super().run_command(command)
        File "/tmp/pip-build-env-a2mqc6ra/overlay/lib/python3.10/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
          cmd_obj.run()
        File "/tmp/pip-build-env-a2mqc6ra/overlay/lib/python3.10/site-packages/wheel/bdist_wheel.py", line 325, in run
          self.run_command("build")
        File "/tmp/pip-build-env-a2mqc6ra/overlay/lib/python3.10/site-packages/setuptools/_distutils/cmd.py", line 318, in run_command
          self.distribution.run_command(command)
        File "/tmp/pip-build-env-a2mqc6ra/overlay/lib/python3.10/site-packages/setuptools/dist.py", line 1213, in run_command
          super().run_command(command)
        File "/tmp/pip-build-env-a2mqc6ra/overlay/lib/python3.10/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
          cmd_obj.run()
        File "/tmp/pip-build-env-a2mqc6ra/overlay/lib/python3.10/site-packages/setuptools/_distutils/command/build.py", line 132, in run
          self.run_command(cmd_name)
        File "/tmp/pip-build-env-a2mqc6ra/overlay/lib/python3.10/site-packages/setuptools/_distutils/cmd.py", line 318, in run_command
          self.distribution.run_command(command)
        File "/tmp/pip-build-env-a2mqc6ra/overlay/lib/python3.10/site-packages/setuptools/dist.py", line 1213, in run_command
          super().run_command(command)
        File "/tmp/pip-build-env-a2mqc6ra/overlay/lib/python3.10/site-packages/setuptools/_distutils/dist.py", line 988, in run_command
          cmd_obj.run()
        File "/tmp/pip-build-env-a2mqc6ra/overlay/lib/python3.10/site-packages/setuptools/command/build_ext.py", line 84, in run
          _build_ext.run(self)
        File "/tmp/pip-build-env-a2mqc6ra/overlay/lib/python3.10/site-packages/Cython/Distutils/old_build_ext.py", line 186, in run
          _build_ext.build_ext.run(self)
        File "/tmp/pip-build-env-a2mqc6ra/overlay/lib/python3.10/site-packages/setuptools/_distutils/command/build_ext.py", line 346, in run
          self.build_extensions()
        File "<string>", line 137, in build_extensions
        File "<string>", line 116, in cpp_flag
      RuntimeError: Unsupported compiler -- at least C++11 support is needed!
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for pyroomacoustics
Failed to build pyroomacoustics
ERROR: Could not build wheels for pyroomacoustics, which is required to install pyproject.toml-based projects

I never had problems about the compiler before with any packages, so I prefer to ask here. Thank you in advance!

fakufaku commented 1 year ago

Hi @Judape , what is your operating system and C++ compiler version ? You need one supporting C++14 at least.

RuntimeError: Unsupported compiler -- at least C++11 support is needed!

Judape commented 1 year ago

Thanks for the fast reply. Right now I'm using an Open SUSE Leap 5.14, but yes, I realized that I have no g++ installed! After having v7.5.0 installed pyroomacoustics was successfully installed in my environment... Sorry to bother. Thanks again!

fakufaku commented 1 year ago

No problem, happy it worked out!