mortacious / python-optix

Python wrapper for the OptiX 7 raytracing engine using Cython.
MIT License
22 stars 2 forks source link

Compiling from source with setup.py does not copy headers #10

Open keckj opened 1 year ago

keckj commented 1 year ago

Compiling from source does not copy headers:

When using setup.py, get_local_optix_include_path() returns None which results in module creation failure:

module = optix.Module(context=ctx, src=cuda_source, module_compile_options=compile_opts, pipeline_compile_options=pipeline_opts)
  File "optix/module.pyx", line 257, in optix.module.Module.__init__
  File "optix/module.pyx", line 413, in optix.module.Module.compile_cuda_ptx
  File "/usr/lib/python3.9/genericpath.py", line 19, in exists
    os.stat(path)
TypeError: stat: path should be string, bytes, os.PathLike or integer, not NoneType

There is warning for missing local headers that could have helped to pinpoint the problem but it is not shown because the condition triggering the warning crashes on None path (optix/module.pyx:413).

In the "From source" in the section in the README.md it is documented to use setup.py.

mortacious commented 1 year ago

Hey, thanks for pointing this out. I pushed a fix in "fix_#10" that should fix the problem. I also updated the README.md to clarify that pip is now a requirement for local installation as well.