python编译遇坑总结

gaussian-opacity-fields

问题:报错太长,无法定位到错误位置:


      ninja: build stopped: subcommand failed.
      Traceback (most recent call last):
        File "D:\miniconda3\envs\gaussian_splatting\lib\site-packages\torch\utils\cpp_extension.py", line 1900, in _run_ninja_build
          subprocess.run(
        File "D:\miniconda3\envs\gaussian_splatting\lib\subprocess.py", line 528, in run
          raise CalledProcessError(retcode, process.args,
      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 "<string>", line 2, in <module>
        File "<pip-setuptools-caller>", line 34, in <module>
        File "C:\Users\D-Blue\Desktop\cloth2\reference_model\gaussian-opacity-fields\submodules\diff-gaussian-rasterization\setup.py", line 17, in <module>
          setup(
        File "D:\miniconda3\envs\gaussian_splatting\lib\site-packages\setuptools\__init__.py", line 104, in setup
          return distutils.core.setup(**attrs)
        File "D:\miniconda3\envs\gaussian_splatting\lib\site-packages\setuptools\_distutils\core.py", line 184, in setup
          return run_commands(dist)
        File "D:\miniconda3\envs\gaussian_splatting\lib\site-packages\setuptools\_distutils\core.py", line 200, in run_commands
          dist.run_commands()
        File "D:\miniconda3\envs\gaussian_splatting\lib\site-packages\setuptools\_distutils\dist.py", line 969, in run_commands
          self.run_command(cmd)
        File "D:\miniconda3\envs\gaussian_splatting\lib\site-packages\setuptools\dist.py", line 967, in run_command
          super().run_command(command)
        File "D:\miniconda3\envs\gaussian_splatting\lib\site-packages\setuptools\_distutils\dist.py", line 988, in run_command
          cmd_obj.run()
        File "D:\miniconda3\envs\gaussian_splatting\lib\site-packages\wheel\bdist_wheel.py", line 368, in run
          self.run_command("build")
        File "D:\miniconda3\envs\gaussian_splatting\lib\site-packages\setuptools\_distutils\cmd.py", line 316, in run_command
          self.distribution.run_command(command)
        File "D:\miniconda3\envs\gaussian_splatting\lib\site-packages\setuptools\dist.py", line 967, in run_command
          super().run_command(command)
        File "D:\miniconda3\envs\gaussian_splatting\lib\site-packages\setuptools\_distutils\dist.py", line 988, in run_command
          cmd_obj.run()
        File "D:\miniconda3\envs\gaussian_splatting\lib\site-packages\setuptools\_distutils\command\build.py", line 132, in run
          self.run_command(cmd_name)
        File "D:\miniconda3\envs\gaussian_splatting\lib\site-packages\setuptools\_distutils\cmd.py", line 316, in run_command
          self.distribution.run_command(command)
        File "D:\miniconda3\envs\gaussian_splatting\lib\site-packages\setuptools\dist.py", line 967, in run_command
          super().run_command(command)
        File "D:\miniconda3\envs\gaussian_splatting\lib\site-packages\setuptools\_distutils\dist.py", line 988, in run_command
          cmd_obj.run()
        File "D:\miniconda3\envs\gaussian_splatting\lib\site-packages\setuptools\command\build_ext.py", line 91, in run
          _build_ext.run(self)
        File "D:\miniconda3\envs\gaussian_splatting\lib\site-packages\setuptools\_distutils\command\build_ext.py", line 359, in run
          self.build_extensions()
        File "D:\miniconda3\envs\gaussian_splatting\lib\site-packages\torch\utils\cpp_extension.py", line 843, in build_extensions
          build_ext.build_extensions(self)
        File "D:\miniconda3\envs\gaussian_splatting\lib\site-packages\setuptools\_distutils\command\build_ext.py", line 479, in build_extensions
          self._build_extensions_serial()
        File "D:\miniconda3\envs\gaussian_splatting\lib\site-packages\setuptools\_distutils\command\build_ext.py", line 505, in _build_extensions_serial
          self.build_extension(ext)
        File "D:\miniconda3\envs\gaussian_splatting\lib\site-packages\setuptools\command\build_ext.py", line 252, in build_extension
          _build_ext.build_extension(self, ext)
        File "D:\miniconda3\envs\gaussian_splatting\lib\site-packages\setuptools\_distutils\command\build_ext.py", line 560, in build_extension
          objects = self.compiler.compile(
        File "D:\miniconda3\envs\gaussian_splatting\lib\site-packages\torch\utils\cpp_extension.py", line 815, in win_wrap_ninja_compile
          _write_ninja_file_and_compile_objects(
        File "D:\miniconda3\envs\gaussian_splatting\lib\site-packages\torch\utils\cpp_extension.py", line 1573, in _write_ninja_file_and_compile_objects
          _run_ninja_build(
        File "D:\miniconda3\envs\gaussian_splatting\lib\site-packages\torch\utils\cpp_extension.py", line 1916, in _run_ninja_build
          raise RuntimeError(message) from e
      RuntimeError: Error compiling objects for extension

解决方案:python setup.py build_ext --inplace -j1

原因:这样可以取消并行编译,更容易获得报错信息。

=================================================

问题:

C:\Users\D-Blue\Desktop\cloth2\reference_model\gaussian-opacity-fields\submodules\diff-gaussian-rasterization\cuda_rasterizer\forward.cu(983): error: identifier "u_int16_t" is undefined
          detected during instantiation of "void integrateCUDA<CHANNELS>(const uint2 *, const uint2 *, const uint32_t *, const uint32_t *, int, int, float, float, const float2 *, const float2 *, const float *, const float *, const float *, const float *, const float3 *, const float3 *, const float *, const float4 *, float *, uint32_t *, const float *, float *, float *, float *) [with CHANNELS=3U]"
(1247): here

C:\Users\D-Blue\Desktop\cloth2\reference_model\gaussian-opacity-fields\submodules\diff-gaussian-rasterization\cuda_rasterizer\forward.cu(983): error: expected a ";"
          detected during instantiation of "void integrateCUDA<CHANNELS>(const uint2 *, const uint2 *, const uint32_t *, const uint32_t *, int, int, float, float, const float2 *, const float2 *, const float *, const float *, const float *, const float *, const float3 *, const float3 *, const float *, const float4 *, float *, uint32_t *, const float *, float *, float *, float *) [with CHANNELS=3U]"
(1247): here

C:\Users\D-Blue\Desktop\cloth2\reference_model\gaussian-opacity-fields\submodules\diff-gaussian-rasterization\cuda_rasterizer\forward.cu(1145): error: identifier "u_int32_t" is undefined
          detected during instantiation of "void integrateCUDA<CHANNELS>(const uint2 *, const uint2 *, const uint32_t *, const uint32_t *, int, int, float, float, const float2 *, const float2 *, const float *, const float *, const float *, const float *, const float3 *, const float3 *, const float *, const float4 *, float *, uint32_t *, const float *, float *, float *, float *) [with CHANNELS=3U]"
(1247): here

C:\Users\D-Blue\Desktop\cloth2\reference_model\gaussian-opacity-fields\submodules\diff-gaussian-rasterization\cuda_rasterizer\forward.cu(1145): error: expected a ")"
          detected during instantiation of "void integrateCUDA<CHANNELS>(const uint2 *, const uint2 *, const uint32_t *, const uint32_t *, int, int, float, float, const float2 *, const float2 *, const float *, const float *, const float *, const float *, const float3 *, const float3 *, const float *, const float4 *, float *, uint32_t *, const float *, float *, float *, float *) [with CHANNELS=3U]"
(1247): here

C:\Users\D-Blue\Desktop\cloth2\reference_model\gaussian-opacity-fields\submodules\diff-gaussian-rasterization\cuda_rasterizer\forward.cu(1158): warning #2361-D: invalid narrowing conversion from "double" to "float"
          detected during instantiation of "void integrateCUDA<CHANNELS>(const uint2 *, const uint2 *, const uint32_t *, const uint32_t *, int, int, float, float, const float2 *, const float2 *, const float *, const float *, const float *, const float *, const float3 *, const float3 *, const float *, const float4 *, float *, uint32_t *, const float *, float *, float *, float *) [with CHANNELS=3U]"
(1247): here

C:\Users\D-Blue\Desktop\cloth2\reference_model\gaussian-opacity-fields\submodules\diff-gaussian-rasterization\cuda_rasterizer\forward.cu(1158): warning #2361-D: invalid narrowing conversion from "double" to "float"
          detected during instantiation of "void integrateCUDA<CHANNELS>(const uint2 *, const uint2 *, const uint32_t *, const uint32_t *, int, int, float, float, const float2 *, const float2 *, const float *, const float *, const float *, const float *, const float3 *, const float3 *, const float *, const float4 *, float *, uint32_t *, const float *, float *, float *, float *) [with CHANNELS=3U]"
(1247): here

C:\Users\D-Blue\Desktop\cloth2\reference_model\gaussian-opacity-fields\submodules\diff-gaussian-rasterization\cuda_rasterizer\forward.cu(845): warning #177-D: variable "depth_input" was declared but never referenced
          detected during instantiation of "void integrateCUDA<CHANNELS>(const uint2 *, const uint2 *, const uint32_t *, const uint32_t *, int, int, float, float, const float2 *, const float2 *, const float *, const float *, const float *, const float *, const float3 *, const float3 *, const float *, const float4 *, float *, uint32_t *, const float *, float *, float *, float *) [with CHANNELS=3U]"
(1247): here

C:\Users\D-Blue\Desktop\cloth2\reference_model\gaussian-opacity-fields\submodules\diff-gaussian-rasterization\cuda_rasterizer\forward.cu(848): warning #177-D: variable "ray" was declared but never referenced
          detected during instantiation of "void integrateCUDA<CHANNELS>(const uint2 *, const uint2 *, const uint32_t *, const uint32_t *, int, int, float, float, const float2 *, const float2 *, const float *, const float *, const float *, const float *, const float3 *, const float3 *, const float *, const float4 *, float *, uint32_t *, const float *, float *, float *, float *) [with CHANNELS=3U]"
(1247): here

C:\Users\D-Blue\Desktop\cloth2\reference_model\gaussian-opacity-fields\submodules\diff-gaussian-rasterization\cuda_rasterizer\forward.cu(873): warning #177-D: variable "T" was declared but never referenced
          detected during instantiation of "void integrateCUDA<CHANNELS>(const uint2 *, const uint2 *, const uint32_t *, const uint32_t *, int, int, float, float, const float2 *, const float2 *, const float *, const float *, const float *, const float *, const float3 *, const float3 *, const float *, const float4 *, float *, uint32_t *, const float *, float *, float *, float *) [with CHANNELS=3U]"
(1247): here

C:\Users\D-Blue\Desktop\cloth2\reference_model\gaussian-opacity-fields\submodules\diff-gaussian-rasterization\cuda_rasterizer\forward.cu(879): warning #550-D: variable "contributed_ids" was set but never used
          detected during instantiation of "void integrateCUDA<CHANNELS>(const uint2 *, const uint2 *, const uint32_t *, const uint32_t *, int, int, float, float, const float2 *, const float2 *, const float *, const float *, const float *, const float *, const float3 *, const float3 *, const float *, const float4 *, float *, uint32_t *, const float *, float *, float *, float *) [with CHANNELS=3U]"
(1247): here

4 errors detected in the compilation of "C:/Users/D-Blue/Desktop/cloth2/reference_model/gaussian-opacity-fields/submodules/diff-gaussian-rasterization/cuda_rasterizer/forward.cu".
forward.cu
ninja: build stopped: subcommand failed.
Traceback (most recent call last):
  File "D:\miniconda3\envs\gaussian_splatting\lib\site-packages\torch\utils\cpp_extension.py", line 1900, in _run_ninja_build
    subprocess.run(
  File "D:\miniconda3\envs\gaussian_splatting\lib\subprocess.py", line 528, in run
    raise CalledProcessError(retcode, process.args,
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 "C:\Users\D-Blue\Desktop\cloth2\reference_model\gaussian-opacity-fields\submodules\diff-gaussian-rasterization\setup.py", line 17, in <module>
    setup(
  File "D:\miniconda3\envs\gaussian_splatting\lib\site-packages\setuptools\__init__.py", line 104, in setup
    return distutils.core.setup(**attrs)
  File "D:\miniconda3\envs\gaussian_splatting\lib\site-packages\setuptools\_distutils\core.py", line 184, in setup
    return run_commands(dist)
  File "D:\miniconda3\envs\gaussian_splatting\lib\site-packages\setuptools\_distutils\core.py", line 200, in run_commands
    dist.run_commands()
  File "D:\miniconda3\envs\gaussian_splatting\lib\site-packages\setuptools\_distutils\dist.py", line 969, in run_commands
    self.run_command(cmd)
  File "D:\miniconda3\envs\gaussian_splatting\lib\site-packages\setuptools\dist.py", line 967, in run_command
    super().run_command(command)
  File "D:\miniconda3\envs\gaussian_splatting\lib\site-packages\setuptools\_distutils\dist.py", line 988, in run_command
    cmd_obj.run()
  File "D:\miniconda3\envs\gaussian_splatting\lib\site-packages\setuptools\command\build_ext.py", line 91, in run
    _build_ext.run(self)
  File "D:\miniconda3\envs\gaussian_splatting\lib\site-packages\setuptools\_distutils\command\build_ext.py", line 359, in run
    self.build_extensions()
  File "D:\miniconda3\envs\gaussian_splatting\lib\site-packages\torch\utils\cpp_extension.py", line 843, in build_extensions
    build_ext.build_extensions(self)
  File "D:\miniconda3\envs\gaussian_splatting\lib\site-packages\setuptools\_distutils\command\build_ext.py", line 477, in build_extensions
    self._build_extensions_parallel()
  File "D:\miniconda3\envs\gaussian_splatting\lib\site-packages\setuptools\_distutils\command\build_ext.py", line 500, in _build_extensions_parallel
    fut.result()
  File "D:\miniconda3\envs\gaussian_splatting\lib\concurrent\futures\_base.py", line 446, in result
    return self.__get_result()
  File "D:\miniconda3\envs\gaussian_splatting\lib\concurrent\futures\_base.py", line 391, in __get_result
    raise self._exception
  File "D:\miniconda3\envs\gaussian_splatting\lib\concurrent\futures\thread.py", line 58, in run
    result = self.fn(*self.args, **self.kwargs)
  File "D:\miniconda3\envs\gaussian_splatting\lib\site-packages\setuptools\command\build_ext.py", line 252, in build_extension
    _build_ext.build_extension(self, ext)
  File "D:\miniconda3\envs\gaussian_splatting\lib\site-packages\setuptools\_distutils\command\build_ext.py", line 560, in build_extension
    objects = self.compiler.compile(
  File "D:\miniconda3\envs\gaussian_splatting\lib\site-packages\torch\utils\cpp_extension.py", line 815, in win_wrap_ninja_compile
    _write_ninja_file_and_compile_objects(
  File "D:\miniconda3\envs\gaussian_splatting\lib\site-packages\torch\utils\cpp_extension.py", line 1573, in _write_ninja_file_and_compile_objects
    _run_ninja_build(
  File "D:\miniconda3\envs\gaussian_splatting\lib\site-packages\torch\utils\cpp_extension.py", line 1916, in _run_ninja_build
    raise RuntimeError(message) from e
RuntimeError: Error compiling objects for extension

解决方案:替换所有的 u_int16_t 和 u_int32_t 为标准的 uint16_t 和 uint32_t。

原因:u_int16_t 和 u_int32_t 是 Linux/Unix 系统中常用的类型定义,但在 Windows 系统中通常不支持。

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值