NVlabs / nvdiffrast

Nvdiffrast - Modular Primitives for High-Performance Differentiable Rendering
Other
1.29k stars 139 forks source link

NotADirectoryError: [Errno 20] Not a directory: '/opt/conda/lib/python3.8/site-packages/nvdiffrast-0.3.1-py3.8.egg/nvdiffrast/torch/../common/common.cpp' #126

Closed ldz666666 closed 11 months ago

ldz666666 commented 1 year ago

environment: A100, python3.8, pytorch 1.12.1, cuda 11.3

error log

import nvdiffrast.torch as dr
self.glctx = dr.RasterizeGLContext(device=device)                                                                          
File "/opt/conda/lib/python3.8/site-packages/nvdiffrast-0.3.1-py3.8.egg/nvdiffrast/torch/ops.py", line 221, in __init__
File "/opt/conda/lib/python3.8/site-packages/nvdiffrast-0.3.1-py3.8.egg/nvdiffrast/torch/ops.py", line 118, in _get_plugin
File "/opt/conda/lib/python3.8/site-packages/torch/utils/cpp_extension.py", line 1202, in load
  return _jit_compile(                                       
File "/opt/conda/lib/python3.8/site-packages/torch/utils/cpp_extension.py", line 1385, in _jit_compile
  version = JIT_EXTENSION_VERSIONER.bump_version_if_changed(                                                                 
File "/opt/conda/lib/python3.8/site-packages/torch/utils/_cpp_extension_versioner.py", line 45, in bump_version_if_changed
  hash_value = hash_source_files(hash_value, source_files)                                                                   
File "/opt/conda/lib/python3.8/site-packages/torch/utils/_cpp_extension_versioner.py", line 15, in hash_source_files
  with open(filename) as file:                               
NotADirectoryError: [Errno 20] Not a directory: '/opt/conda/lib/python3.8/site-packages/nvdiffrast-0.3.1-py3.8.egg/nvdiffrast/t
orch/../common/common.cpp'

i use setup.py to install nvdiffrast here is the log

git clone git@github.com:NVlabs/nvdiffrast.git
cd nvdiffrast/
python setup.py install

here is the log while installing

running install
/opt/conda/lib/python3.8/site-packages/setuptools/command/install.py:34: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
  warnings.warn(
/opt/conda/lib/python3.8/site-packages/setuptools/command/easy_install.py:144: EasyInstallDeprecationWarning: easy_install command is deprecated. Use build and pip and other standards-based tools.
  warnings.warn(
running bdist_egg
running egg_info
writing nvdiffrast.egg-info/PKG-INFO
writing dependency_links to nvdiffrast.egg-info/dependency_links.txt
writing requirements to nvdiffrast.egg-info/requires.txt
writing top-level names to nvdiffrast.egg-info/top_level.txt
reading manifest file 'nvdiffrast.egg-info/SOURCES.txt'
adding license file 'LICENSE.txt'
writing manifest file 'nvdiffrast.egg-info/SOURCES.txt'
installing library code to build/bdist.linux-x86_64/egg
running install_lib
running build_py
/opt/conda/lib/python3.8/site-packages/setuptools/command/build_py.py:202: SetuptoolsDeprecationWarning:     Installing 'nvdiffrast.common' as data is deprecated, please list it in `packages`.
    !!

    ############################
    # Package would be ignored #
    ############################
    Python recognizes 'nvdiffrast.common' as an importable package,
    but it is not listed in the `packages` configuration of setuptools.

    'nvdiffrast.common' has been automatically added to the distribution only
    because it may contain data files, but this behavior is likely to change
    in future versions of setuptools (and therefore is considered deprecated).

    Please make sure that 'nvdiffrast.common' is included as a package by using
    the `packages` configuration field or the proper discovery methods
    (for example by using `find_namespace_packages(...)`/`find_namespace:`
    instead of `find_packages(...)`/`find:`).

    You can read more about "package discovery" and "data files" on setuptools
    documentation page.

!!

  check.warn(importable)
/opt/conda/lib/python3.8/site-packages/setuptools/command/build_py.py:202: SetuptoolsDeprecationWarning:     Installing 'nvdiffrast.common.cudaraster' as data is deprecated, please list it in `packages`.
    !!

    ############################
    # Package would be ignored #
    ############################
    Python recognizes 'nvdiffrast.common.cudaraster' as an importable package,
    but it is not listed in the `packages` configuration of setuptools.

    'nvdiffrast.common.cudaraster' has been automatically added to the distribution only
    because it may contain data files, but this behavior is likely to change
    in future versions of setuptools (and therefore is considered deprecated).

    Please make sure that 'nvdiffrast.common.cudaraster' is included as a package by using
    the `packages` configuration field or the proper discovery methods
    (for example by using `find_namespace_packages(...)`/`find_namespace:`
    instead of `find_packages(...)`/`find:`).

    You can read more about "package discovery" and "data files" on setuptools
    documentation page.

!!

  check.warn(importable)
/opt/conda/lib/python3.8/site-packages/setuptools/command/build_py.py:202: SetuptoolsDeprecationWarning:     Installing 'nvdiffrast.common.cudaraster.impl' as data is deprecated, please list it in `packages`.
    !!

    ############################
    # Package would be ignored #
    ############################
    Python recognizes 'nvdiffrast.common.cudaraster.impl' as an importable package,
    but it is not listed in the `packages` configuration of setuptools.

    'nvdiffrast.common.cudaraster.impl' has been automatically added to the distribution only
    because it may contain data files, but this behavior is likely to change
    in future versions of setuptools (and therefore is considered deprecated).

    Please make sure that 'nvdiffrast.common.cudaraster.impl' is included as a package by using
    the `packages` configuration field or the proper discovery methods
    (for example by using `find_namespace_packages(...)`/`find_namespace:`
    instead of `find_packages(...)`/`find:`).

    You can read more about "package discovery" and "data files" on setuptools
    documentation page.

!!

  check.warn(importable)
warning: build_py: byte-compiling is disabled, skipping.

creating build/bdist.linux-x86_64/egg
creating build/bdist.linux-x86_64/egg/nvdiffrast
copying build/lib/nvdiffrast/__init__.py -> build/bdist.linux-x86_64/egg/nvdiffrast
creating build/bdist.linux-x86_64/egg/nvdiffrast/common
copying build/lib/nvdiffrast/common/antialias.cu -> build/bdist.linux-x86_64/egg/nvdiffrast/common
copying build/lib/nvdiffrast/common/antialias.h -> build/bdist.linux-x86_64/egg/nvdiffrast/common
copying build/lib/nvdiffrast/common/common.cpp -> build/bdist.linux-x86_64/egg/nvdiffrast/common
copying build/lib/nvdiffrast/common/common.h -> build/bdist.linux-x86_64/egg/nvdiffrast/common
creating build/bdist.linux-x86_64/egg/nvdiffrast/common/cudaraster
copying build/lib/nvdiffrast/common/cudaraster/CudaRaster.hpp -> build/bdist.linux-x86_64/egg/nvdiffrast/common/cudaraster
creating build/bdist.linux-x86_64/egg/nvdiffrast/common/cudaraster/impl
copying build/lib/nvdiffrast/common/cudaraster/impl/BinRaster.inl -> build/bdist.linux-x86_64/egg/nvdiffrast/common/cudaraster/impl
copying build/lib/nvdiffrast/common/cudaraster/impl/Buffer.cpp -> build/bdist.linux-x86_64/egg/nvdiffrast/common/cudaraster/impl
copying build/lib/nvdiffrast/common/cudaraster/impl/Buffer.hpp -> build/bdist.linux-x86_64/egg/nvdiffrast/common/cudaraster/impl
copying build/lib/nvdiffrast/common/cudaraster/impl/CoarseRaster.inl -> build/bdist.linux-x86_64/egg/nvdiffrast/common/cudaraster/impl
copying build/lib/nvdiffrast/common/cudaraster/impl/Constants.hpp -> build/bdist.linux-x86_64/egg/nvdiffrast/common/cudaraster/impl
copying build/lib/nvdiffrast/common/cudaraster/impl/CudaRaster.cpp -> build/bdist.linux-x86_64/egg/nvdiffrast/common/cudaraster/impl
copying build/lib/nvdiffrast/common/cudaraster/impl/Defs.hpp -> build/bdist.linux-x86_64/egg/nvdiffrast/common/cudaraster/impl
copying build/lib/nvdiffrast/common/cudaraster/impl/FineRaster.inl -> build/bdist.linux-x86_64/egg/nvdiffrast/common/cudaraster/impl
copying build/lib/nvdiffrast/common/cudaraster/impl/PrivateDefs.hpp -> build/bdist.linux-x86_64/egg/nvdiffrast/common/cudaraster/impl
copying build/lib/nvdiffrast/common/cudaraster/impl/RasterImpl.cpp -> build/bdist.linux-x86_64/egg/nvdiffrast/common/cudaraster/impl
copying build/lib/nvdiffrast/common/cudaraster/impl/RasterImpl.cu -> build/bdist.linux-x86_64/egg/nvdiffrast/common/cudaraster/impl
copying build/lib/nvdiffrast/common/cudaraster/impl/RasterImpl.hpp -> build/bdist.linux-x86_64/egg/nvdiffrast/common/cudaraster/impl
copying build/lib/nvdiffrast/common/cudaraster/impl/TriangleSetup.inl -> build/bdist.linux-x86_64/egg/nvdiffrast/common/cudaraster/impl
copying build/lib/nvdiffrast/common/cudaraster/impl/Util.inl -> build/bdist.linux-x86_64/egg/nvdiffrast/common/cudaraster/impl
copying build/lib/nvdiffrast/common/framework.h -> build/bdist.linux-x86_64/egg/nvdiffrast/common
copying build/lib/nvdiffrast/common/glutil.cpp -> build/bdist.linux-x86_64/egg/nvdiffrast/common
copying build/lib/nvdiffrast/common/glutil.h -> build/bdist.linux-x86_64/egg/nvdiffrast/common
copying build/lib/nvdiffrast/common/glutil_extlist.h -> build/bdist.linux-x86_64/egg/nvdiffrast/common
copying build/lib/nvdiffrast/common/interpolate.cu -> build/bdist.linux-x86_64/egg/nvdiffrast/common
copying build/lib/nvdiffrast/common/interpolate.h -> build/bdist.linux-x86_64/egg/nvdiffrast/common
copying build/lib/nvdiffrast/common/rasterize.cu -> build/bdist.linux-x86_64/egg/nvdiffrast/common
copying build/lib/nvdiffrast/common/rasterize.h -> build/bdist.linux-x86_64/egg/nvdiffrast/common
copying build/lib/nvdiffrast/common/rasterize_gl.cpp -> build/bdist.linux-x86_64/egg/nvdiffrast/common
copying build/lib/nvdiffrast/common/rasterize_gl.h -> build/bdist.linux-x86_64/egg/nvdiffrast/common
copying build/lib/nvdiffrast/common/texture.cpp -> build/bdist.linux-x86_64/egg/nvdiffrast/common
copying build/lib/nvdiffrast/common/texture.cu -> build/bdist.linux-x86_64/egg/nvdiffrast/common
copying build/lib/nvdiffrast/common/texture.h -> build/bdist.linux-x86_64/egg/nvdiffrast/common
creating build/bdist.linux-x86_64/egg/nvdiffrast/tensorflow
copying build/lib/nvdiffrast/tensorflow/__init__.py -> build/bdist.linux-x86_64/egg/nvdiffrast/tensorflow
copying build/lib/nvdiffrast/tensorflow/ops.py -> build/bdist.linux-x86_64/egg/nvdiffrast/tensorflow
copying build/lib/nvdiffrast/tensorflow/plugin_loader.py -> build/bdist.linux-x86_64/egg/nvdiffrast/tensorflow
copying build/lib/nvdiffrast/tensorflow/tf_all.cu -> build/bdist.linux-x86_64/egg/nvdiffrast/tensorflow
copying build/lib/nvdiffrast/tensorflow/tf_antialias.cu -> build/bdist.linux-x86_64/egg/nvdiffrast/tensorflow
copying build/lib/nvdiffrast/tensorflow/tf_interpolate.cu -> build/bdist.linux-x86_64/egg/nvdiffrast/tensorflow
copying build/lib/nvdiffrast/tensorflow/tf_rasterize.cu -> build/bdist.linux-x86_64/egg/nvdiffrast/tensorflow
copying build/lib/nvdiffrast/tensorflow/tf_texture.cu -> build/bdist.linux-x86_64/egg/nvdiffrast/tensorflow
creating build/bdist.linux-x86_64/egg/nvdiffrast/torch
copying build/lib/nvdiffrast/torch/__init__.py -> build/bdist.linux-x86_64/egg/nvdiffrast/torch
copying build/lib/nvdiffrast/torch/ops.py -> build/bdist.linux-x86_64/egg/nvdiffrast/torch
copying build/lib/nvdiffrast/torch/torch_antialias.cpp -> build/bdist.linux-x86_64/egg/nvdiffrast/torch
copying build/lib/nvdiffrast/torch/torch_bindings.cpp -> build/bdist.linux-x86_64/egg/nvdiffrast/torch
copying build/lib/nvdiffrast/torch/torch_bindings_gl.cpp -> build/bdist.linux-x86_64/egg/nvdiffrast/torch
copying build/lib/nvdiffrast/torch/torch_common.inl -> build/bdist.linux-x86_64/egg/nvdiffrast/torch
copying build/lib/nvdiffrast/torch/torch_interpolate.cpp -> build/bdist.linux-x86_64/egg/nvdiffrast/torch
copying build/lib/nvdiffrast/torch/torch_rasterize.cpp -> build/bdist.linux-x86_64/egg/nvdiffrast/torch
copying build/lib/nvdiffrast/torch/torch_rasterize_gl.cpp -> build/bdist.linux-x86_64/egg/nvdiffrast/torch
copying build/lib/nvdiffrast/torch/torch_texture.cpp -> build/bdist.linux-x86_64/egg/nvdiffrast/torch
copying build/lib/nvdiffrast/torch/torch_types.h -> build/bdist.linux-x86_64/egg/nvdiffrast/torch
warning: install_lib: byte-compiling is disabled, skipping.

creating build/bdist.linux-x86_64/egg/EGG-INFO
copying nvdiffrast.egg-info/PKG-INFO -> build/bdist.linux-x86_64/egg/EGG-INFO
copying nvdiffrast.egg-info/SOURCES.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying nvdiffrast.egg-info/dependency_links.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying nvdiffrast.egg-info/requires.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
copying nvdiffrast.egg-info/top_level.txt -> build/bdist.linux-x86_64/egg/EGG-INFO
zip_safe flag not set; analyzing archive contents...
creating 'dist/nvdiffrast-0.3.1-py3.8.egg' and adding 'build/bdist.linux-x86_64/egg' to it
removing 'build/bdist.linux-x86_64/egg' (and everything under it)
Processing nvdiffrast-0.3.1-py3.8.egg
Removing /opt/conda/lib/python3.8/site-packages/nvdiffrast-0.3.1-py3.8.egg
Copying nvdiffrast-0.3.1-py3.8.egg to /opt/conda/lib/python3.8/site-packages
nvdiffrast 0.3.1 is already the active version in easy-install.pth

Installed /opt/conda/lib/python3.8/site-packages/nvdiffrast-0.3.1-py3.8.egg
Processing dependencies for nvdiffrast==0.3.1
Searching for numpy==1.23.5
Best match: numpy 1.23.5
Adding numpy 1.23.5 to easy-install.pth file
Installing f2py script to /opt/conda/bin
Installing f2py3 script to /opt/conda/bin
Installing f2py3.8 script to /opt/conda/bin

Using /opt/conda/lib/python3.8/site-packages
Finished processing dependencies for nvdiffrast==0.3.1
s-laine commented 1 year ago

Can you try running pip install . instead of python setup.py install?

ldz666666 commented 12 months ago

Hi, i runed pip install ., the error log is shown below

Traceback (most recent call last):
  File "/opt/conda/lib/python3.8/site-packages/torch/utils/cpp_extension.py", line 1808, in _run_ninja_build
    subprocess.run(
  File "/opt/conda/lib/python3.8/subprocess.py", line 516, 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 "preprocess.py", line 274, in <module>
    pred_coeff, pred_face = reconstruct_image(net_recon, face_model, renderer, im_tensor)
  File "preprocess.py", line 87, in reconstruct_image
    pred_mask, _, pred_face = renderer(pred_vertex, face_model.face_buf, feat=pred_color)
  File "/opt/conda/lib/python3.8/site-packages/torch/nn/modules/module.py", line 1130, in _call_impl
    return forward_call(*input, **kwargs)
  File "/mnt/workspace/talking_head/3DFaceShop/facenets/render.py", line 58, in forward
    self.glctx = dr.RasterizeGLContext(device=device)
  File "/opt/conda/lib/python3.8/site-packages/nvdiffrast/torch/ops.py", line 221, in __init__
    self.cpp_wrapper = _get_plugin(gl=True).RasterizeGLStateWrapper(output_db, mode == 'automatic', cuda_device_idx)
  File "/opt/conda/lib/python3.8/site-packages/nvdiffrast/torch/ops.py", line 118, in _get_plugin
    torch.utils.cpp_extension.load(name=plugin_name, sources=source_paths, extra_cflags=opts, extra_cuda_cflags=opts+['-lineinfo'], extra_ldflags=ldflags, with_cuda=True, verbose=False)
  File "/opt/conda/lib/python3.8/site-packages/torch/utils/cpp_extension.py", line 1202, in load
    return _jit_compile(
  File "/opt/conda/lib/python3.8/site-packages/torch/utils/cpp_extension.py", line 1425, in _jit_compile
    _write_ninja_file_and_build_library(
  File "/opt/conda/lib/python3.8/site-packages/torch/utils/cpp_extension.py", line 1537, in _write_ninja_file_and_build_library
    _run_ninja_build(
  File "/opt/conda/lib/python3.8/site-packages/torch/utils/cpp_extension.py", line 1824, in _run_ninja_build
    raise RuntimeError(message) from e
RuntimeError: Error building extension 'nvdiffrast_plugin_gl': [1/4] c++ -MMD -MF rasterize_gl.o.d -DTORCH_EXTENSION_NAME=nvdiffrast_plugin_gl -DTORCH_API_INCLUDE_EXTENSION_H -DPYBIND11_COMPILER_TYPE=\"_gcc\" -DPYBIND11_STDLIB=\"_libstdcpp\" -DPYBIND11_BUILD_ABI=\"_cxxabi1011\" -isystem /opt/conda/lib/python3.8/site-packages/torch/include -isystem /opt/conda/lib/python3.8/site-packages/torch/include/torch/csrc/api/include -isystem /opt/conda/lib/python3.8/site-packages/torch/include/TH -isystem /opt/conda/lib/python3.8/site-packages/torch/include/THC -isystem /usr/local/cuda/include -isystem /opt/conda/include/python3.8 -D_GLIBCXX_USE_CXX11_ABI=0 -fPIC -std=c++14 -DNVDR_TORCH -c /opt/conda/lib/python3.8/site-packages/nvdiffrast/common/rasterize_gl.cpp -o rasterize_gl.o 
FAILED: rasterize_gl.o 
c++ -MMD -MF rasterize_gl.o.d -DTORCH_EXTENSION_NAME=nvdiffrast_plugin_gl -DTORCH_API_INCLUDE_EXTENSION_H -DPYBIND11_COMPILER_TYPE=\"_gcc\" -DPYBIND11_STDLIB=\"_libstdcpp\" -DPYBIND11_BUILD_ABI=\"_cxxabi1011\" -isystem /opt/conda/lib/python3.8/site-packages/torch/include -isystem /opt/conda/lib/python3.8/site-packages/torch/include/torch/csrc/api/include -isystem /opt/conda/lib/python3.8/site-packages/torch/include/TH -isystem /opt/conda/lib/python3.8/site-packages/torch/include/THC -isystem /usr/local/cuda/include -isystem /opt/conda/include/python3.8 -D_GLIBCXX_USE_CXX11_ABI=0 -fPIC -std=c++14 -DNVDR_TORCH -c /opt/conda/lib/python3.8/site-packages/nvdiffrast/common/rasterize_gl.cpp -o rasterize_gl.o 
In file included from /opt/conda/lib/python3.8/site-packages/nvdiffrast/common/rasterize_gl.h:16,
                 from /opt/conda/lib/python3.8/site-packages/nvdiffrast/common/rasterize_gl.cpp:9:
/opt/conda/lib/python3.8/site-packages/nvdiffrast/common/glutil.h:36:10: fatal error: EGL/egl.h: No such file or directory
   36 | #include <EGL/egl.h>
      |          ^~~~~~~~~~~
compilation terminated.
[2/4] c++ -MMD -MF glutil.o.d -DTORCH_EXTENSION_NAME=nvdiffrast_plugin_gl -DTORCH_API_INCLUDE_EXTENSION_H -DPYBIND11_COMPILER_TYPE=\"_gcc\" -DPYBIND11_STDLIB=\"_libstdcpp\" -DPYBIND11_BUILD_ABI=\"_cxxabi1011\" -isystem /opt/conda/lib/python3.8/site-packages/torch/include -isystem /opt/conda/lib/python3.8/site-packages/torch/include/torch/csrc/api/include -isystem /opt/conda/lib/python3.8/site-packages/torch/include/TH -isystem /opt/conda/lib/python3.8/site-packages/torch/include/THC -isystem /usr/local/cuda/include -isystem /opt/conda/include/python3.8 -D_GLIBCXX_USE_CXX11_ABI=0 -fPIC -std=c++14 -DNVDR_TORCH -c /opt/conda/lib/python3.8/site-packages/nvdiffrast/common/glutil.cpp -o glutil.o 
FAILED: glutil.o 
c++ -MMD -MF glutil.o.d -DTORCH_EXTENSION_NAME=nvdiffrast_plugin_gl -DTORCH_API_INCLUDE_EXTENSION_H -DPYBIND11_COMPILER_TYPE=\"_gcc\" -DPYBIND11_STDLIB=\"_libstdcpp\" -DPYBIND11_BUILD_ABI=\"_cxxabi1011\" -isystem /opt/conda/lib/python3.8/site-packages/torch/include -isystem /opt/conda/lib/python3.8/site-packages/torch/include/torch/csrc/api/include -isystem /opt/conda/lib/python3.8/site-packages/torch/include/TH -isystem /opt/conda/lib/python3.8/site-packages/torch/include/THC -isystem /usr/local/cuda/include -isystem /opt/conda/include/python3.8 -D_GLIBCXX_USE_CXX11_ABI=0 -fPIC -std=c++14 -DNVDR_TORCH -c /opt/conda/lib/python3.8/site-packages/nvdiffrast/common/glutil.cpp -o glutil.o 
In file included from /opt/conda/lib/python3.8/site-packages/nvdiffrast/common/glutil.cpp:14:
/opt/conda/lib/python3.8/site-packages/nvdiffrast/common/glutil.h:36:10: fatal error: EGL/egl.h: No such file or directory
   36 | #include <EGL/egl.h>
      |          ^~~~~~~~~~~
compilation terminated.
[3/4] c++ -MMD -MF torch_rasterize_gl.o.d -DTORCH_EXTENSION_NAME=nvdiffrast_plugin_gl -DTORCH_API_INCLUDE_EXTENSION_H -DPYBIND11_COMPILER_TYPE=\"_gcc\" -DPYBIND11_STDLIB=\"_libstdcpp\" -DPYBIND11_BUILD_ABI=\"_cxxabi1011\" -isystem /opt/conda/lib/python3.8/site-packages/torch/include -isystem /opt/conda/lib/python3.8/site-packages/torch/include/torch/csrc/api/include -isystem /opt/conda/lib/python3.8/site-packages/torch/include/TH -isystem /opt/conda/lib/python3.8/site-packages/torch/include/THC -isystem /usr/local/cuda/include -isystem /opt/conda/include/python3.8 -D_GLIBCXX_USE_CXX11_ABI=0 -fPIC -std=c++14 -DNVDR_TORCH -c /opt/conda/lib/python3.8/site-packages/nvdiffrast/torch/torch_rasterize_gl.cpp -o torch_rasterize_gl.o 
FAILED: torch_rasterize_gl.o 
c++ -MMD -MF torch_rasterize_gl.o.d -DTORCH_EXTENSION_NAME=nvdiffrast_plugin_gl -DTORCH_API_INCLUDE_EXTENSION_H -DPYBIND11_COMPILER_TYPE=\"_gcc\" -DPYBIND11_STDLIB=\"_libstdcpp\" -DPYBIND11_BUILD_ABI=\"_cxxabi1011\" -isystem /opt/conda/lib/python3.8/site-packages/torch/include -isystem /opt/conda/lib/python3.8/site-packages/torch/include/torch/csrc/api/include -isystem /opt/conda/lib/python3.8/site-packages/torch/include/TH -isystem /opt/conda/lib/python3.8/site-packages/torch/include/THC -isystem /usr/local/cuda/include -isystem /opt/conda/include/python3.8 -D_GLIBCXX_USE_CXX11_ABI=0 -fPIC -std=c++14 -DNVDR_TORCH -c /opt/conda/lib/python3.8/site-packages/nvdiffrast/torch/torch_rasterize_gl.cpp -o torch_rasterize_gl.o 
In file included from /opt/conda/lib/python3.8/site-packages/nvdiffrast/torch/../common/rasterize_gl.h:16,
                 from /opt/conda/lib/python3.8/site-packages/nvdiffrast/torch/torch_rasterize_gl.cpp:12:
/opt/conda/lib/python3.8/site-packages/nvdiffrast/torch/../common/glutil.h:36:10: fatal error: EGL/egl.h: No such file or directory
   36 | #include <EGL/egl.h>
      |          ^~~~~~~~~~~
compilation terminated.
ninja: build stopped: subcommand failed.

i changed RasterizeGLContext to RasterizeCudaContext and the error disappear, so what caused the error and why RasterizeCudaContext works ?

s-laine commented 12 months ago

Your system doesn't have EGL installed. Check out the provided Dockerfile and either use it directly or make sure you have everything installed that the Dockerfile installs. Otherwise your environment won't be compatible with OpenGL rendering.

The Cuda rasterizer (using RasterizeCudaContext instead of RasterizeGLContext) doesn't use OpenGL, so you don't need the OpenGL or EGL libraries.