DINO icon indicating copy to clipboard operation
DINO copied to clipboard

Error in Compiling CUDA operators

Open GabrielFerrante opened this issue 2 years ago • 1 comments

Command used:

python3 setup.py build install

OUTPUT:

running build running build_py running build_ext Traceback (most recent call last): File "/home/usp/anaconda3/envs/estudosDeepLearning/bin/ninja", line 33, in sys.exit(load_entry_point('ninja', 'console_scripts', 'ninja')()) File "/home/usp/anaconda3/envs/estudosDeepLearning/lib/python3.8/site-packages/ninja-1.10.2.3-py3.8-linux-x86_64.egg/ninja/init.py", line 51, in ninja raise SystemExit(_program('ninja', sys.argv[1:])) File "/home/usp/anaconda3/envs/estudosDeepLearning/lib/python3.8/site-packages/ninja-1.10.2.3-py3.8-linux-x86_64.egg/ninja/init.py", line 47, in _program return subprocess.call([os.path.join(BIN_DIR, name)] + args) File "/home/usp/anaconda3/envs/estudosDeepLearning/lib/python3.8/subprocess.py", line 340, in call with Popen(*popenargs, **kwargs) as p: File "/home/usp/anaconda3/envs/estudosDeepLearning/lib/python3.8/subprocess.py", line 858, in init self._execute_child(args, executable, preexec_fn, close_fds, File "/home/usp/anaconda3/envs/estudosDeepLearning/lib/python3.8/subprocess.py", line 1704, in _execute_child raise child_exception_type(errno_num, err_msg, err_filename) PermissionError: [Errno 13] Permission denied: '/home/usp/anaconda3/envs/estudosDeepLearning/lib/python3.8/site-packages/ninja-1.10.2.3-py3.8-linux-x86_64.egg/ninja/data/bin/ninja' Traceback (most recent call last): File "setup.py", line 64, in setup( File "/home/usp/anaconda3/envs/estudosDeepLearning/lib/python3.8/site-packages/setuptools/init.py", line 87, in setup return distutils.core.setup(**attrs) File "/home/usp/anaconda3/envs/estudosDeepLearning/lib/python3.8/site-packages/setuptools/_distutils/core.py", line 148, in setup return run_commands(dist) File "/home/usp/anaconda3/envs/estudosDeepLearning/lib/python3.8/site-packages/setuptools/_distutils/core.py", line 163, in run_commands dist.run_commands() File "/home/usp/anaconda3/envs/estudosDeepLearning/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 967, in run_commands self.run_command(cmd) File "/home/usp/anaconda3/envs/estudosDeepLearning/lib/python3.8/site-packages/setuptools/dist.py", line 1214, in run_command super().run_command(command) File "/home/usp/anaconda3/envs/estudosDeepLearning/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 986, in run_command cmd_obj.run() File "/home/usp/anaconda3/envs/estudosDeepLearning/lib/python3.8/site-packages/setuptools/_distutils/command/build.py", line 135, in run self.run_command(cmd_name) File "/home/usp/anaconda3/envs/estudosDeepLearning/lib/python3.8/site-packages/setuptools/_distutils/cmd.py", line 313, in run_command self.distribution.run_command(command) File "/home/usp/anaconda3/envs/estudosDeepLearning/lib/python3.8/site-packages/setuptools/dist.py", line 1214, in run_command super().run_command(command) File "/home/usp/anaconda3/envs/estudosDeepLearning/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 984, in run_command cmd_obj = self.get_command_obj(command) File "/home/usp/anaconda3/envs/estudosDeepLearning/lib/python3.8/site-packages/setuptools/_distutils/dist.py", line 859, in get_command_obj cmd_obj = self.command_obj[command] = klass(self) File "/home/usp/anaconda3/envs/estudosDeepLearning/lib/python3.8/site-packages/torch/utils/cpp_extension.py", line 351, in init if not is_ninja_available(): File "/home/usp/anaconda3/envs/estudosDeepLearning/lib/python3.8/site-packages/torch/utils/cpp_extension.py", line 1310, in is_ninja_available subprocess.check_call('ninja --version'.split(), stdout=devnull) File "/home/usp/anaconda3/envs/estudosDeepLearning/lib/python3.8/subprocess.py", line 364, in check_call raise CalledProcessError(retcode, cmd) subprocess.CalledProcessError: Command '['ninja', '--version']' returned non-zero exit status 1.

My configuration: GCC version is 9.4. CUDA 11.4. Torch 1.7.1+cu110 Someone know how to solution this problem ?

GabrielFerrante avatar Aug 10 '22 18:08 GabrielFerrante

This requires you to perform the prebious "pip install -r requirements.txt" exactly. I think this should be caused by previous error . pip install -r requirements.txt 此命令处需要特别注意 (1)requirements.txt文件拉取了两个github的库文件,拉取可能会失败. 注:有时候报错是网络问题,需要多执行几次 解决方法:把原来git链接中的'https'换成'http',然后每次拉取前执行两行命令: 'git config --global --unset http.proxy git config --global --unset https.proxy'. 因为requirements.txt文件有两个git请求,所以将其分为requirements1.txt和 requirements2.txt,且将'https'改为'http',即该步骤所执行的命令改为: 'git config --global --unset http.proxy git config --global --unset https.proxy pip install -r requirements1.txt git config --global --unset http.proxy git config --global --unset https.proxy pip install -r requirements2.txt' (2) 下载其他库文件时,可能很慢,可以在conda先下载好 (3)执行安装步骤3和4,编译生成几个库文件,如无法下载的'MultiScaleDeformableAttention'库, 因此要求电脑中有C的编译器,且gcc和g++版本一致.

zhaofh1115 avatar Aug 15 '22 01:08 zhaofh1115