add nanobind include path to CMakeLists#2952
Conversation
|
@erwei-xilinx did you come across this in the EUDSL bump? |
There was a problem hiding this comment.
Pull request overview
Updates the Python bindings CMake configuration to explicitly use nanobind and to add nanobind’s include directory to the build interface, addressing build-time include resolution issues for the Python extension modules.
Changes:
- Set
PYTHON_BINDINGS_LIBRARY nanobindon the MLIR and XRT Python extension declarations. - Add
${NB_DIR}/includeto the build include paths forAIEPythonExtensions.MLIR(python-passes/omnibus branch).
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
| target_include_directories( | ||
| AIEPythonExtensions.MLIR | ||
| INTERFACE $<BUILD_INTERFACE:${PYBINDINGS_SRC}> | ||
| INTERFACE $<BUILD_INTERFACE:${NB_DIR}/include> | ||
| ) |
There was a problem hiding this comment.
${NB_DIR} is not defined anywhere in this repository, so if it isn't set by the included AddMLIRPython module/configure step it will expand to an empty string here and effectively add /include to the include path. Consider guarding this with an explicit if (NOT DEFINED NB_DIR) error (or deriving the include directory from the nanobind CMake package/target) so misconfiguration fails fast with a clear message instead of producing a confusing include path.
I ran into similar issue and it went away by updating llvm + eudsl. |
|
Let me investigate |
|
I also ran into this issue, but it disappeared when I got fresh eudsl + llvm |
|
CC investigated this. The mlir-aie's current main branch pins LLVM at Re-adding |
|
Excellent, thanks for the quick helpful replies. I'm using |
For some reason, this now seems to be required for me to be able to build? Otherwise, I get include errors. Solution found by Claude, please scrutinize because I don't 100% understand why this is now suddenly required.