radarsimx / radarsimpy

Radar Simulator built with Python and C++
https://radarsimx.github.io/radarsimpy/
GNU General Public License v3.0
283 stars 64 forks source link

`zpvector.hpp` not found when running Python build #25

Closed Luke-Jacobs closed 1 year ago

Luke-Jacobs commented 1 year ago

Hello,

I am trying to run the installation of Radarsimpy and I came across what appears to be a dependency problem. What library should I install to provide the installation access to zpvector.hpp? I am running on Ubuntu 20.04. Thanks.

(radar) lukedj2@elahe-work-01:~/OneDrive/FirstYear/ResearchFA23/RadarSimPy/radarsimpy$ python setup.py build_ext -b ./
running build_ext
building 'radarsimpy.radar' extension
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DNPY_NO_DEPRECATED_API=NPY_1_7_API_VERSION -I/home/lukedj2/OneDrive/FirstYear/ResearchFA23/RadarSimPy/radar/lib/python3.8/site-packages/numpy/core/include -I/home/lukedj2/OneDrive/FirstYear/ResearchFA23/RadarSimPy/radar/include -I/usr/include/python3.8 -c src/radarsimpy/radar.cpp -o build/temp.linux-x86_64-3.8/src/radarsimpy/radar.o
creating radarsimpy
x86_64-linux-gnu-g++ -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-3.8/src/radarsimpy/radar.o -o ./radarsimpy/radar.cpython-38-x86_64-linux-gnu.so
building 'radarsimpy.util' extension
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DNPY_NO_DEPRECATED_API=NPY_1_7_API_VERSION -I/home/lukedj2/OneDrive/FirstYear/ResearchFA23/RadarSimPy/radar/lib/python3.8/site-packages/numpy/core/include -I/home/lukedj2/OneDrive/FirstYear/ResearchFA23/RadarSimPy/radar/include -I/usr/include/python3.8 -c src/radarsimpy/util.cpp -o build/temp.linux-x86_64-3.8/src/radarsimpy/util.o
x86_64-linux-gnu-g++ -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-3.8/src/radarsimpy/util.o -o ./radarsimpy/util.cpython-38-x86_64-linux-gnu.so
building 'radarsimpy.processing' extension
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DNPY_NO_DEPRECATED_API=NPY_1_7_API_VERSION -I/home/lukedj2/OneDrive/FirstYear/ResearchFA23/RadarSimPy/radar/lib/python3.8/site-packages/numpy/core/include -I/home/lukedj2/OneDrive/FirstYear/ResearchFA23/RadarSimPy/radar/include -I/usr/include/python3.8 -c src/radarsimpy/processing.cpp -o build/temp.linux-x86_64-3.8/src/radarsimpy/processing.o
x86_64-linux-gnu-g++ -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-3.8/src/radarsimpy/processing.o -o ./radarsimpy/processing.cpython-38-x86_64-linux-gnu.so
building 'radarsimpy.tools' extension
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DNPY_NO_DEPRECATED_API=NPY_1_7_API_VERSION -I/home/lukedj2/OneDrive/FirstYear/ResearchFA23/RadarSimPy/radar/lib/python3.8/site-packages/numpy/core/include -I/home/lukedj2/OneDrive/FirstYear/ResearchFA23/RadarSimPy/radar/include -I/usr/include/python3.8 -c src/radarsimpy/tools.cpp -o build/temp.linux-x86_64-3.8/src/radarsimpy/tools.o
x86_64-linux-gnu-g++ -pthread -shared -Wl,-O1 -Wl,-Bsymbolic-functions -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -Wl,-Bsymbolic-functions -Wl,-z,relro -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 build/temp.linux-x86_64-3.8/src/radarsimpy/tools.o -o ./radarsimpy/tools.cpython-38-x86_64-linux-gnu.so
building 'radarsimpy.lib.cp_radarsimc' extension
creating build/temp.linux-x86_64-3.8/src/radarsimpy/lib
x86_64-linux-gnu-gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O2 -Wall -g -fstack-protector-strong -Wformat -Werror=format-security -g -fwrapv -O2 -g -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -fPIC -DNPY_NO_DEPRECATED_API=NPY_1_7_API_VERSION -Isrc/radarsimc/includes -Isrc/radarsimc/includes/zpvector -I/home/lukedj2/OneDrive/FirstYear/ResearchFA23/RadarSimPy/radar/lib/python3.8/site-packages/numpy/core/include -I/home/lukedj2/OneDrive/FirstYear/ResearchFA23/RadarSimPy/radar/include -I/usr/include/python3.8 -c src/radarsimpy/lib/cp_radarsimc.cpp -o build/temp.linux-x86_64-3.8/src/radarsimpy/lib/cp_radarsimc.o
src/radarsimpy/lib/cp_radarsimc.cpp:1194:10: fatal error: zpvector.hpp: No such file or directory
 1194 | #include "zpvector.hpp"
      |          ^~~~~~~~~~~~~~
compilation terminated.
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
rookiepeng commented 1 year ago

https://github.com/radarsimx/radarsimpy#build

Building radarsimpy requires to access the source code of radarsimc. If you don't have access to radarsimc, please use the pre-built module instead

Luke-Jacobs commented 1 year ago

Sorry if this is a question that's due to my lack of Python experience, but I am not sure how to use the pre-built module or where it is. I am trying to work through the DoA Estimation example, but when I came to the from radarsimpy.simulator import simc line, I got an import error since I was importing a Cython .pyx file. Then I inserted:

import pyximport
pyximport.install()

before the import statement and now I run into the same error:

(radar) lukedj2@elahe-work-01:~/OneDrive/FirstYear/ResearchFA23/RadarSimPy/radarsimpy_linux/src$ python example_doa_estimation.py 
/home/lukedj2/.pyxbld/temp.linux-x86_64-3.8/home/lukedj2/OneDrive/FirstYear/ResearchFA23/RadarSimPy/radarsimpy_linux/src/radarsimpy/simulator.cpp:1175:10: fatal error: zpvector.hpp: No such file or directory
 1175 | #include "zpvector.hpp"
      |          ^~~~~~~~~~~~~~
compilation terminated.
Traceback (most recent call last):
  File "/usr/lib/python3.8/distutils/unixccompiler.py", line 117, in _compile
    self.spawn(compiler_so + cc_args + [src, '-o', obj] +
  File "/usr/lib/python3.8/distutils/ccompiler.py", line 910, in spawn
    spawn(cmd, dry_run=self.dry_run)
  File "/usr/lib/python3.8/distutils/spawn.py", line 36, in spawn
    _spawn_posix(cmd, search_path, dry_run=dry_run)
  File "/usr/lib/python3.8/distutils/spawn.py", line 157, in _spawn_posix
    raise DistutilsExecError(
distutils.errors.DistutilsExecError: command 'x86_64-linux-gnu-gcc' failed with exit status 1

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "/home/lukedj2/OneDrive/FirstYear/ResearchFA23/RadarSimPy/radar/lib/python3.8/site-packages/pyximport/_pyximport3.py", line 314, in create_module
    so_path = build_module(spec.name, pyxfilename=spec.origin, pyxbuild_dir=self._pyxbuild_dir,
  File "/home/lukedj2/OneDrive/FirstYear/ResearchFA23/RadarSimPy/radar/lib/python3.8/site-packages/pyximport/_pyximport3.py", line 197, in build_module
    so_path = pyxbuild.pyx_to_dll(pyxfilename, extension_mod,
  File "/home/lukedj2/OneDrive/FirstYear/ResearchFA23/RadarSimPy/radar/lib/python3.8/site-packages/pyximport/pyxbuild.py", line 103, in pyx_to_dll
    dist.run_commands()
  File "/usr/lib/python3.8/distutils/dist.py", line 966, in run_commands
    self.run_command(cmd)
  File "/usr/lib/python3.8/distutils/dist.py", line 985, in run_command
    cmd_obj.run()
  File "/usr/lib/python3.8/distutils/command/build_ext.py", line 340, in run
    self.build_extensions()
  File "/usr/lib/python3.8/distutils/command/build_ext.py", line 449, in build_extensions
    self._build_extensions_serial()
  File "/usr/lib/python3.8/distutils/command/build_ext.py", line 474, in _build_extensions_serial
    self.build_extension(ext)
  File "/home/lukedj2/OneDrive/FirstYear/ResearchFA23/RadarSimPy/radar/lib/python3.8/site-packages/Cython/Distutils/build_ext.py", line 127, in build_extension
    super(build_ext, self).build_extension(ext)
  File "/usr/lib/python3.8/distutils/command/build_ext.py", line 528, in build_extension
    objects = self.compiler.compile(sources,
  File "/usr/lib/python3.8/distutils/ccompiler.py", line 574, in compile
    self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)
  File "/usr/lib/python3.8/distutils/unixccompiler.py", line 120, in _compile
    raise CompileError(msg)
distutils.errors.CompileError: command 'x86_64-linux-gnu-gcc' failed with exit status 1

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "example_doa_estimation.py", line 89, in <module>
    from radarsimpy.simulator import simc
  File "/home/lukedj2/OneDrive/FirstYear/ResearchFA23/RadarSimPy/radar/lib/python3.8/site-packages/pyximport/_pyximport3.py", line 332, in create_module
    raise exc.with_traceback(tb)
  File "/home/lukedj2/OneDrive/FirstYear/ResearchFA23/RadarSimPy/radar/lib/python3.8/site-packages/pyximport/_pyximport3.py", line 314, in create_module
    so_path = build_module(spec.name, pyxfilename=spec.origin, pyxbuild_dir=self._pyxbuild_dir,
  File "/home/lukedj2/OneDrive/FirstYear/ResearchFA23/RadarSimPy/radar/lib/python3.8/site-packages/pyximport/_pyximport3.py", line 197, in build_module
    so_path = pyxbuild.pyx_to_dll(pyxfilename, extension_mod,
  File "/home/lukedj2/OneDrive/FirstYear/ResearchFA23/RadarSimPy/radar/lib/python3.8/site-packages/pyximport/pyxbuild.py", line 103, in pyx_to_dll
    dist.run_commands()
  File "/usr/lib/python3.8/distutils/dist.py", line 966, in run_commands
    self.run_command(cmd)
  File "/usr/lib/python3.8/distutils/dist.py", line 985, in run_command
    cmd_obj.run()
  File "/usr/lib/python3.8/distutils/command/build_ext.py", line 340, in run
    self.build_extensions()
  File "/usr/lib/python3.8/distutils/command/build_ext.py", line 449, in build_extensions
    self._build_extensions_serial()
  File "/usr/lib/python3.8/distutils/command/build_ext.py", line 474, in _build_extensions_serial
    self.build_extension(ext)
  File "/home/lukedj2/OneDrive/FirstYear/ResearchFA23/RadarSimPy/radar/lib/python3.8/site-packages/Cython/Distutils/build_ext.py", line 127, in build_extension
    super(build_ext, self).build_extension(ext)
  File "/usr/lib/python3.8/distutils/command/build_ext.py", line 528, in build_extension
    objects = self.compiler.compile(sources,
  File "/usr/lib/python3.8/distutils/ccompiler.py", line 574, in compile
    self._compile(obj, src, ext, cc_args, extra_postargs, pp_opts)
  File "/usr/lib/python3.8/distutils/unixccompiler.py", line 120, in _compile
    raise CompileError(msg)
ImportError: Building module radarsimpy.simulator failed: ["distutils.errors.CompileError: command 'x86_64-linux-gnu-gcc' failed with exit status 1\n"]

Also when I try to run python setup.py build_ext --inplace, I get a huge amount of Cython compiling errors, so I am assume that's not the right way to install it. Any help would be much appreciated.

rookiepeng commented 1 year ago

There are 2 "download" buttons at the top of the readme page: https://github.com/radarsimx/radarsimpy#readme

And the installation instruction is also on the page: https://github.com/radarsimx/radarsimpy#installation

Luke-Jacobs commented 1 year ago

I see! I did not notice the download buttons. Thank you.