YOLOX icon indicating copy to clipboard operation
YOLOX copied to clipboard

RuntimeError: Error compiling objects for extension

Open hejun888 opened this issue 3 years ago • 16 comments

您好,我在执行 python3 setup.py develop 时遇到下面这个问题,想请教您是哪里出了问题,cuda是11.0,谢谢 (yolox) bash-4.2$ python3 setup.py develop running develop running egg_info writing yolox.egg-info/PKG-INFO writing dependency_links to yolox.egg-info/dependency_links.txt writing top-level names to yolox.egg-info/top_level.txt reading manifest file 'yolox.egg-info/SOURCES.txt' writing manifest file 'yolox.egg-info/SOURCES.txt' running build_ext /home/wsuser/.conda/envs/yolox/lib/python3.7/site-packages/torch/utils/cpp_extension.py:312: UserWarning:

                           !! WARNING !!

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Your compiler (g++ 4.8.5) may be ABI-incompatible with PyTorch! Please use a compiler that is ABI-compatible with GCC 5.0 and above. See https://gcc.gnu.org/onlinedocs/libstdc++/manual/abi.html.

See https://gist.github.com/goldsborough/d466f43e8ffc948ff92de7486c5216d6 for instructions on how to install GCC 5 or higher. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

                          !! WARNING !!

warnings.warn(ABI_INCOMPATIBILITY_WARNING.format(compiler)) building 'yolox._C' extension /home/wsuser/.conda/envs/yolox/lib/python3.7/site-packages/torch/utils/cpp_extension.py:287: UserWarning:

                           !! WARNING !!

!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! Your compiler (c++) is not compatible with the compiler Pytorch was built with for this platform, which is g++ on linux. Please use g++ to to compile your extension. Alternatively, you may compile PyTorch from source using c++, and then you can also use c++ to compile your extension.

See https://github.com/pytorch/pytorch/blob/master/CONTRIBUTING.md for help with compiling PyTorch from source. !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!

                          !! WARNING !!

platform=sys.platform)) Emitting ninja build file /home/wsuser/work/project_git_repo/YOLOX-main/build/temp.linux-x86_64-3.7/build.ninja... Compiling objects... Allowing ninja to set a default number of workers... (overridable by setting the environment variable MAX_JOBS=N) [1/2] c++ -MMD -MF /home/wsuser/work/project_git_repo/YOLOX-main/build/temp.linux-x86_64-3.7/home/wsuser/work/project_git_repo/YOLOX-main/yolox/layers/csrc/vision.o.d -pthread -B /home/wsuser/.conda/envs/yolox/compiler_compat -Wl,--sysroot=/ -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/home/wsuser/work/project_git_repo/YOLOX-main/yolox/layers/csrc -I/home/wsuser/.conda/envs/yolox/lib/python3.7/site-packages/torch/include -I/home/wsuser/.conda/envs/yolox/lib/python3.7/site-packages/torch/include/torch/csrc/api/include -I/home/wsuser/.conda/envs/yolox/lib/python3.7/site-packages/torch/include/TH -I/home/wsuser/.conda/envs/yolox/lib/python3.7/site-packages/torch/include/THC -I/home/wsuser/.conda/envs/yolox/include/python3.7m -c -c /home/wsuser/work/project_git_repo/YOLOX-main/yolox/layers/csrc/vision.cpp -o /home/wsuser/work/project_git_repo/YOLOX-main/build/temp.linux-x86_64-3.7/home/wsuser/work/project_git_repo/YOLOX-main/yolox/layers/csrc/vision.o -O3 -DTORCH_API_INCLUDE_EXTENSION_H '-DPYBIND11_COMPILER_TYPE="_gcc"' '-DPYBIND11_STDLIB="_libstdcpp"' '-DPYBIND11_BUILD_ABI="_cxxabi1011"' -DTORCH_EXTENSION_NAME=_C -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++14 FAILED: /home/wsuser/work/project_git_repo/YOLOX-main/build/temp.linux-x86_64-3.7/home/wsuser/work/project_git_repo/YOLOX-main/yolox/layers/csrc/vision.o c++ -MMD -MF /home/wsuser/work/project_git_repo/YOLOX-main/build/temp.linux-x86_64-3.7/home/wsuser/work/project_git_repo/YOLOX-main/yolox/layers/csrc/vision.o.d -pthread -B /home/wsuser/.conda/envs/yolox/compiler_compat -Wl,--sysroot=/ -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/home/wsuser/work/project_git_repo/YOLOX-main/yolox/layers/csrc -I/home/wsuser/.conda/envs/yolox/lib/python3.7/site-packages/torch/include -I/home/wsuser/.conda/envs/yolox/lib/python3.7/site-packages/torch/include/torch/csrc/api/include -I/home/wsuser/.conda/envs/yolox/lib/python3.7/site-packages/torch/include/TH -I/home/wsuser/.conda/envs/yolox/lib/python3.7/site-packages/torch/include/THC -I/home/wsuser/.conda/envs/yolox/include/python3.7m -c -c /home/wsuser/work/project_git_repo/YOLOX-main/yolox/layers/csrc/vision.cpp -o /home/wsuser/work/project_git_repo/YOLOX-main/build/temp.linux-x86_64-3.7/home/wsuser/work/project_git_repo/YOLOX-main/yolox/layers/csrc/vision.o -O3 -DTORCH_API_INCLUDE_EXTENSION_H '-DPYBIND11_COMPILER_TYPE="_gcc"' '-DPYBIND11_STDLIB="_libstdcpp"' '-DPYBIND11_BUILD_ABI="_cxxabi1011"' -DTORCH_EXTENSION_NAME=_C -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++14 c++: error: unrecognized command line option ‘-std=c++14’ [2/2] c++ -MMD -MF /home/wsuser/work/project_git_repo/YOLOX-main/build/temp.linux-x86_64-3.7/home/wsuser/work/project_git_repo/YOLOX-main/yolox/layers/csrc/cocoeval/cocoeval.o.d -pthread -B /home/wsuser/.conda/envs/yolox/compiler_compat -Wl,--sysroot=/ -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/home/wsuser/work/project_git_repo/YOLOX-main/yolox/layers/csrc -I/home/wsuser/.conda/envs/yolox/lib/python3.7/site-packages/torch/include -I/home/wsuser/.conda/envs/yolox/lib/python3.7/site-packages/torch/include/torch/csrc/api/include -I/home/wsuser/.conda/envs/yolox/lib/python3.7/site-packages/torch/include/TH -I/home/wsuser/.conda/envs/yolox/lib/python3.7/site-packages/torch/include/THC -I/home/wsuser/.conda/envs/yolox/include/python3.7m -c -c /home/wsuser/work/project_git_repo/YOLOX-main/yolox/layers/csrc/cocoeval/cocoeval.cpp -o /home/wsuser/work/project_git_repo/YOLOX-main/build/temp.linux-x86_64-3.7/home/wsuser/work/project_git_repo/YOLOX-main/yolox/layers/csrc/cocoeval/cocoeval.o -O3 -DTORCH_API_INCLUDE_EXTENSION_H '-DPYBIND11_COMPILER_TYPE="_gcc"' '-DPYBIND11_STDLIB="_libstdcpp"' '-DPYBIND11_BUILD_ABI="_cxxabi1011"' -DTORCH_EXTENSION_NAME=_C -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++14 FAILED: /home/wsuser/work/project_git_repo/YOLOX-main/build/temp.linux-x86_64-3.7/home/wsuser/work/project_git_repo/YOLOX-main/yolox/layers/csrc/cocoeval/cocoeval.o c++ -MMD -MF /home/wsuser/work/project_git_repo/YOLOX-main/build/temp.linux-x86_64-3.7/home/wsuser/work/project_git_repo/YOLOX-main/yolox/layers/csrc/cocoeval/cocoeval.o.d -pthread -B /home/wsuser/.conda/envs/yolox/compiler_compat -Wl,--sysroot=/ -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -I/home/wsuser/work/project_git_repo/YOLOX-main/yolox/layers/csrc -I/home/wsuser/.conda/envs/yolox/lib/python3.7/site-packages/torch/include -I/home/wsuser/.conda/envs/yolox/lib/python3.7/site-packages/torch/include/torch/csrc/api/include -I/home/wsuser/.conda/envs/yolox/lib/python3.7/site-packages/torch/include/TH -I/home/wsuser/.conda/envs/yolox/lib/python3.7/site-packages/torch/include/THC -I/home/wsuser/.conda/envs/yolox/include/python3.7m -c -c /home/wsuser/work/project_git_repo/YOLOX-main/yolox/layers/csrc/cocoeval/cocoeval.cpp -o /home/wsuser/work/project_git_repo/YOLOX-main/build/temp.linux-x86_64-3.7/home/wsuser/work/project_git_repo/YOLOX-main/yolox/layers/csrc/cocoeval/cocoeval.o -O3 -DTORCH_API_INCLUDE_EXTENSION_H '-DPYBIND11_COMPILER_TYPE="_gcc"' '-DPYBIND11_STDLIB="_libstdcpp"' '-DPYBIND11_BUILD_ABI="_cxxabi1011"' -DTORCH_EXTENSION_NAME=_C -D_GLIBCXX_USE_CXX11_ABI=0 -std=c++14 c++: error: unrecognized command line option ‘-std=c++14’ ninja: build stopped: subcommand failed. Traceback (most recent call last): File "/home/wsuser/.conda/envs/yolox/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 1672, in _run_ninja_build env=env) File "/home/wsuser/.conda/envs/yolox/lib/python3.7/subprocess.py", line 512, in run output=stdout, stderr=stderr) subprocess.CalledProcessError: Command '['ninja', '-v']' returned non-zero exit status 1.

The above exception was the direct cause of the following exception:

Traceback (most recent call last): File "setup.py", line 63, in packages=setuptools.find_packages(), File "/home/wsuser/.conda/envs/yolox/lib/python3.7/site-packages/setuptools/init.py", line 153, in setup return distutils.core.setup(**attrs) File "/home/wsuser/.conda/envs/yolox/lib/python3.7/distutils/core.py", line 148, in setup dist.run_commands() File "/home/wsuser/.conda/envs/yolox/lib/python3.7/distutils/dist.py", line 966, in run_commands self.run_command(cmd) File "/home/wsuser/.conda/envs/yolox/lib/python3.7/distutils/dist.py", line 985, in run_command cmd_obj.run() File "/home/wsuser/.conda/envs/yolox/lib/python3.7/site-packages/setuptools/command/develop.py", line 34, in run self.install_for_development() File "/home/wsuser/.conda/envs/yolox/lib/python3.7/site-packages/setuptools/command/develop.py", line 136, in install_for_development self.run_command('build_ext') File "/home/wsuser/.conda/envs/yolox/lib/python3.7/distutils/cmd.py", line 313, in run_command self.distribution.run_command(command) File "/home/wsuser/.conda/envs/yolox/lib/python3.7/distutils/dist.py", line 985, in run_command cmd_obj.run() File "/home/wsuser/.conda/envs/yolox/lib/python3.7/site-packages/setuptools/command/build_ext.py", line 79, in run _build_ext.run(self) File "/home/wsuser/.conda/envs/yolox/lib/python3.7/distutils/command/build_ext.py", line 340, in run self.build_extensions() File "/home/wsuser/.conda/envs/yolox/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 709, in build_extensions build_ext.build_extensions(self) File "/home/wsuser/.conda/envs/yolox/lib/python3.7/distutils/command/build_ext.py", line 449, in build_extensions self._build_extensions_serial() File "/home/wsuser/.conda/envs/yolox/lib/python3.7/distutils/command/build_ext.py", line 474, in _build_extensions_serial self.build_extension(ext) File "/home/wsuser/.conda/envs/yolox/lib/python3.7/site-packages/setuptools/command/build_ext.py", line 196, in build_extension _build_ext.build_extension(self, ext) File "/home/wsuser/.conda/envs/yolox/lib/python3.7/distutils/command/build_ext.py", line 534, in build_extension depends=ext.depends) File "/home/wsuser/.conda/envs/yolox/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 539, in unix_wrap_ninja_compile with_cuda=with_cuda) File "/home/wsuser/.conda/envs/yolox/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 1360, in _write_ninja_file_and_compile_objects error_prefix='Error compiling objects for extension') File "/home/wsuser/.conda/envs/yolox/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 1682, in _run_ninja_build raise RuntimeError(message) from e RuntimeError: Error compiling objects for extension

hejun888 avatar Aug 26 '21 02:08 hejun888

我有同样的问题,请问该如何解决

haomayang1126 avatar Sep 01 '21 00:09 haomayang1126

遇到同样问题,有解决了的可以分享下么

TTMRonald avatar Sep 03 '21 07:09 TTMRonald

怎么解决的呀

YUANMU227 avatar Sep 08 '21 03:09 YUANMU227

+1, 请问有解决了的吗

mengxinqi avatar Sep 17 '21 08:09 mengxinqi

解决啦

发自我的iPhone

------------------ Original ------------------ From: mengxinqi @.> Date: Fri,Sep 17,2021 4:13 PM To: Megvii-BaseDetection/YOLOX @.> Cc: YUANMU227 @.>, Comment @.> Subject: Re: [Megvii-BaseDetection/YOLOX] RuntimeError: Error compiling objects for extension (#585)

YUANMU227 avatar Sep 17 '21 08:09 YUANMU227

解决啦 发自我的iPhone ------------------ Original ------------------ From: mengxinqi @.> Date: Fri,Sep 17,2021 4:13 PM To: Megvii-BaseDetection/YOLOX @.> Cc: YUANMU227 @.>, Comment @.> Subject: Re: [Megvii-BaseDetection/YOLOX] RuntimeError: Error compiling objects for extension (#585)

解决了 给我们教一下 谢谢啊 还在困扰中

haomayang1126 avatar Sep 17 '21 08:09 haomayang1126

同问,这个问题怎么解决

absorbguo avatar Sep 22 '21 14:09 absorbguo

同问,这个问题怎么解决

看起来需要升级gcc

absorbguo avatar Sep 22 '21 14:09 absorbguo

解决啦 发自我的iPhone ------------------ Original ------------------ From: mengxinqi @.> Date: Fri,Sep 17,2021 4:13 PM To: Megvii-BaseDetection/YOLOX _@**._> Cc: YUANMU227 _@.>, Comment @.**_> Subject: Re: [Megvii-BaseDetection/YOLOX] RuntimeError: Error compiling objects for extension (#585)

解决了 给我们教一下 谢谢啊 还在困扰中

我整理了报错的解决方法,大家参考: YOLOX安装报错--python3 setup.py develop无法正常运行 yolox运行报错--can‘t find starting number

这里再放上我对于论文和源码的笔记,希望能帮到你: YOLOX源码解析--全网最详细,建议收藏! yolox论文研读

YUANMU227 avatar Sep 23 '21 02:09 YUANMU227

我整理了报错的解决方法,大家参考: YOLOX安装报错--python3 setup.py develop无法正常运行 yolox运行报错--can‘t find starting number

这里再放上我对于论文和源码的笔记,希望能帮到你: YOLOX源码解析--全网最详细,建议收藏! yolox论文研读

YUANMU227 avatar Sep 23 '21 02:09 YUANMU227

同问,这个问题怎么解决

看起来需要升级gcc

参考 @YUANMU227 的方案,conda install -c psi4 gcc-5 即可

absorbguo avatar Sep 23 '21 02:09 absorbguo

试了升级g++之后, 又有个问题 g++ -pthread -shared -B /home/haomayang/.conda/envs/Swin/compiler_compat -L/home/haomayang/.conda/envs/Swin/lib -Wl,-rpath=/home/haomayang/.conda/envs/Swin/lib -Wl,--no-as-needed -Wl,--sysroot=/ /home/haomayang/YOLOX-main/build/temp.linux-x86_64-3.8/home/haomayang/YOLOX-main/yolox/layers/csrc/vision.o /home/haomayang/YOLOX-main/build/temp.linux-x86_64-3.8/home/haomayang/YOLOX-main/yolox/layers/csrc/cocoeval/cocoeval.o -L/home/haomayang/.local/lib/python3.8/site-packages/torch/lib -lc10 -ltorch -ltorch_cpu -ltorch_python -o build/lib.linux-x86_64-3.8/yolox/_C.cpython-38-x86_64-linux-gnu.so g++: error: /home/haomayang/YOLOX-main/build/temp.linux-x86_64-3.8/home/haomayang/YOLOX-main/yolox/layers/csrc/vision.o: No such file or directory g++: error: /home/haomayang/YOLOX-main/build/temp.linux-x86_64-3.8/home/haomayang/YOLOX-main/yolox/layers/csrc/cocoeval/cocoeval.o: No such file or directory error: command 'g++' failed with exit status 1 (Swin) [haomayang@pxygpu YOLOX-main]$

haomayang1126 avatar Sep 23 '21 11:09 haomayang1126

@haomayang1126 我也是报错没有vision.o和cocoeval.o这两个文件,我一开始gcc版本是7.5,我以为可能是版本太高了,我降到了5也不行,请问你解决这个问题了吗

DianeTOY avatar Oct 05 '21 12:10 DianeTOY

running develop running egg_info writing yolox.egg-info/PKG-INFO writing dependency_links to yolox.egg-info/dependency_links.txt writing top-level names to yolox.egg-info/top_level.txt reading manifest file 'yolox.egg-info/SOURCES.txt' adding license file 'LICENSE' writing manifest file 'yolox.egg-info/SOURCES.txt' running build_ext error: [Errno 2] No such file or directory: 'which': 'which' 请教下各位大佬,这是什么原因 应该如何解决呢

PL2584718785 avatar Nov 03 '21 05:11 PL2584718785

@haomayang1126 @DianeTOY 我也是报错没有vision.o和cocoeval.o这两个文件,我现在gcc版本是5.2,请问你解决这个问题了吗?求教~

RollingWang avatar Jun 22 '22 03:06 RollingWang

  • 我这里也遇到同样问题,试过上面小伙伴提的方案,均不行
  • 考虑到该部分是为了加速eval阶段,用C++实现了,所以会涉及到编译问题
  • 如果我们不介意eval阶段慢些的话,可以考虑用之前python版本的
  • 我这里已经试过了,可以正常训练了
  • 解决方案:将最新仓库代码:yolox/layers/fast_coco_eval_api.pyfast_coco_eval_api.py替换即可

SWHL avatar Jun 30 '22 02:06 SWHL

  • 我这里也遇到同样问题,试过上面小伙伴提的方案,均不行
  • 考虑到该部分是为了加速eval阶段,用C++实现了,所以会涉及到编译问题
  • 如果我们不介意eval阶段慢些的话,可以考虑用之前python版本的
  • 我这里已经试过了,可以正常训练了
  • 解决方案:将最新仓库代码:yolox/layers/fast_coco_eval_api.pyfast_coco_eval_api.py替换即可

您好,您这个用来替换的文件好像和原本的yolox/layers/fast_coco_eval_api.py是一样的,请问是否可以再分享下代码

hanzi326 avatar Mar 29 '23 10:03 hanzi326

这个是旧的d894530-fast_coco_eval_api.py和最新的并不一样啊,您这里再比对一下,试试

SWHL avatar Mar 29 '23 11:03 SWHL