Skip to content

install nvdiffrast got error #5

@lith0613

Description

@lith0613

My environment is ubuntu 18.04.1, cuda 10.0, gcc 7.4.0, and pytorch 1.6.0.
I follow the instruction and install nvdiffrast in local Python site-packages by running
pip install . at the root of the repository
then I run the the script as follows:
python samples/torch/triangle.py
error accurs:

  File "/root/miniconda3/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 974, in load
    keep_intermediates=keep_intermediates)
  File "/root/miniconda3/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 1179, in _jit_compile
    with_cuda=with_cuda)
  File "/root/miniconda3/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 1246, in _write_ninja_file_and_build_library
    verify_ninja_availability()
  File "/root/miniconda3/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 1302, in verify_ninja_availability
    raise RuntimeError("Ninja is required to load C++ extensions")
RuntimeError: Ninja is required to load C++ extensions

then I install ninja as follows:

git clone https://github.com/ninja-build/ninja.git
./configure.py --bootstrap
cp ./ninja  /usr/bin

rerun the script:

python samples/torch/triangle.py

and got the error:

Traceback (most recent call last):
  File "/root/miniconda3/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 1515, in _run_ninja_build
    env=env)
  File "/root/miniconda3/lib/python3.7/subprocess.py", line 512, in run
    output=stdout, stderr=stderr)
subprocess.CalledProcessError: Command '['ninja', '-v']' returned non-zero exit status 1.

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "samples/torch/triangle.py", line 21, in <module>
    glctx = dr.RasterizeGLContext()
  File "/root/miniconda3/lib/python3.7/site-packages/nvdiffrast/torch/ops.py", line 151, in __init__
    self.cpp_wrapper = _get_plugin().RasterizeGLStateWrapper(output_db, mode == 'automatic', cuda_device_idx)
  File "/root/miniconda3/lib/python3.7/site-packages/nvdiffrast/torch/ops.py", line 84, in _get_plugin
    torch.utils.cpp_extension.load(name=plugin_name, sources=source_paths, extra_cflags=opts, extra_cuda_cflags=opts, extra_ldflags=ldflags, with_cuda=True, verbose=False)
  File "/root/miniconda3/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 974, in load
    keep_intermediates=keep_intermediates)
  File "/root/miniconda3/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 1179, in _jit_compile
    with_cuda=with_cuda)
  File "/root/miniconda3/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 1279, in _write_ninja_file_and_build_library
    error_prefix="Error building extension '{}'".format(name))
  File "/root/miniconda3/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 1529, in _run_ninja_build
    raise RuntimeError(message)
RuntimeError: Error building extension 'nvdiffrast_plugin': [1/14] c++ -MMD -MF common.o.d -DTORCH_EXTENSION_NAME=nvdiffrast_plugin -DTORCH_API_INCLUDE_EXTENSION_H -isystem /root/miniconda3/lib/python3.7/site-packages/torch/include -isystem /root/miniconda3/lib/python3.7/site-packages/torch/include/torch/csrc/api/include -isystem /root/miniconda3/lib/python3.7/site-packages/torch/include/TH -isystem /root/miniconda3/lib/python3.7/site-packages/torch/include/THC -isystem /usr/local/cuda/include -isystem /root/miniconda3/include/python3.7m -D_GLIBCXX_USE_CXX11_ABI=0 -fPIC -std=c++14 -DNVDR_TORCH -c /root/miniconda3/lib/python3.7/site-packages/nvdiffrast/common/common.cpp -o common.o 
[2/14] c++ -MMD -MF torch_rasterize.o.d -DTORCH_EXTENSION_NAME=nvdiffrast_plugin -DTORCH_API_INCLUDE_EXTENSION_H -isystem /root/miniconda3/lib/python3.7/site-packages/torch/include -isystem /root/miniconda3/lib/python3.7/site-packages/torch/include/torch/csrc/api/include -isystem /root/miniconda3/lib/python3.7/site-packages/torch/include/TH -isystem /root/miniconda3/lib/python3.7/site-packages/torch/include/THC -isystem /usr/local/cuda/include -isystem /root/miniconda3/include/python3.7m -D_GLIBCXX_USE_CXX11_ABI=0 -fPIC -std=c++14 -DNVDR_TORCH -c /root/miniconda3/lib/python3.7/site-packages/nvdiffrast/torch/torch_rasterize.cpp -o torch_rasterize.o 
FAILED: torch_rasterize.o 
[12/14] c++ -MMD -MF torch_antialias.o.d -DTORCH_EXTENSION_NAME=nvdiffrast_plugin -DTORCH_API_INCLUDE_EXTENSION_H -isystem /root/miniconda3/lib/python3.7/site-packages/torch/include -isystem /root/miniconda3/lib/python3.7/site-packages/torch/include/torch/csrc/api/include -isystem /root/miniconda3/lib/python3.7/site-packages/torch/include/TH -isystem /root/miniconda3/lib/python3.7/site-packages/torch/include/THC -isystem /usr/local/cuda/include -isystem /root/miniconda3/include/python3.7m -D_GLIBCXX_USE_CXX11_ABI=0 -fPIC -std=c++14 -DNVDR_TORCH -c /root/miniconda3/lib/python3.7/site-packages/nvdiffrast/torch/torch_antialias.cpp -o torch_antialias.o 
[13/14] c++ -MMD -MF torch_bindings.o.d -DTORCH_EXTENSION_NAME=nvdiffrast_plugin -DTORCH_API_INCLUDE_EXTENSION_H -isystem /root/miniconda3/lib/python3.7/site-packages/torch/include -isystem /root/miniconda3/lib/python3.7/site-packages/torch/include/torch/csrc/api/include -isystem /root/miniconda3/lib/python3.7/site-packages/torch/include/TH -isystem /root/miniconda3/lib/python3.7/site-packages/torch/include/THC -isystem /usr/local/cuda/include -isystem /root/miniconda3/include/python3.7m -D_GLIBCXX_USE_CXX11_ABI=0 -fPIC -std=c++14 -DNVDR_TORCH -c /root/miniconda3/lib/python3.7/site-packages/nvdiffrast/torch/torch_bindings.cpp -o torch_bindings.o 
ninja: build stopped: subcommand failed.

so I go to /root/miniconda3/lib/python3.7/site-packages/torch/utils/cpp_extension.py and modify

'ninja', '-v'

to

'ninja', '--v'

then rerun the script but got error as follows:

Traceback (most recent call last):
  File "samples/torch/triangle.py", line 21, in <module>
    glctx = dr.RasterizeGLContext()
  File "/root/miniconda3/lib/python3.7/site-packages/nvdiffrast/torch/ops.py", line 151, in __init__
    self.cpp_wrapper = _get_plugin().RasterizeGLStateWrapper(output_db, mode == 'automatic', cuda_device_idx)
  File "/root/miniconda3/lib/python3.7/site-packages/nvdiffrast/torch/ops.py", line 84, in _get_plugin
    torch.utils.cpp_extension.load(name=plugin_name, sources=source_paths, extra_cflags=opts, extra_cuda_cflags=opts, extra_ldflags=ldflags, with_cuda=True, verbose=False)
  File "/root/miniconda3/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 974, in load
    keep_intermediates=keep_intermediates)
  File "/root/miniconda3/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 1190, in _jit_compile
    return _import_module_from_library(name, build_directory, is_python_module)
  File "/root/miniconda3/lib/python3.7/site-packages/torch/utils/cpp_extension.py", line 1534, in _import_module_from_library
    file, path, description = imp.find_module(module_name, [path])
  File "/root/miniconda3/lib/python3.7/imp.py", line 296, in find_module
    raise ImportError(_ERR_MSG.format(name), name=name)
ImportError: No module named 'nvdiffrast_plugin'

anyone can help me ? Thanks !!!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions