[go: up one dir, main page]

Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Exception: Couldn't find Xilinx ap_ headers #56

Open
brightneedle opened this issue Sep 7, 2023 · 9 comments
Open

Exception: Couldn't find Xilinx ap_ headers #56

brightneedle opened this issue Sep 7, 2023 · 9 comments

Comments

@brightneedle
Copy link

I am running an Ubuntu virtual machine (Ubuntu Desktop 18.04 LTS and have installed Vivado 2019.2. I have created a python environment and have installed conifer using pip install conifer.

However, when running the example scripts I run into the following error:

Exception: Couldn't find Xilinx ap_ headers. Source the Vivado/Vitis HLS toolchain, or set XILINX_AP_INCLUDE environment variable.

What is the fix here?

@thesps
Copy link
Owner
thesps commented Sep 8, 2023

With Vivado installed you should setup the tools like (change for your Vivado install path):
source /path/to/Xilinx/Vivado/2019.2/settings.sh

You can check that one of the required environment variables is set like:
echo $XILINX_VIVADO

Then during the logging of the example you should see a message like:
DEBUG:conifer.utils.misc:Including ap_ headers from XILINX_VIVADO: -I/path/to/Xilinx/Vivado/2019.2/include

@Andre-coder
Copy link

Greetings I used the same command line 'source /path/to/Xilinx/Vivado/2019.2/settings.sh' but still getting the same error. Any help i can get from this

522 if ap_include is None:
523 os.chdir(curr_dir)
--> 524 raise Exception("Couldn't find Xilinx ap_ headers. Source the Vivado/Vitis HLS toolchain, or set XILINX_AP_INCLUDE environment variable.")
525 cmd = f"g++ -O3 -shared -std=c++14 -fPIC $({_py_executable()} -m pybind11 --includes) {ap_include} {gcc_opts()} bridge.cpp firmware/BDT.cpp firmware/{cfg.project_name}.cpp -o conifer_bridge{self._stamp}.so"
526 logger.debug(f'Compiling with command {cmd}')

Exception: Couldn't find Xilinx ap_ headers. Source the Vivado/Vitis HLS toolchain, or set XILINX_AP_INCLUDE environment variable.

@thesps
Copy link
Owner
thesps commented May 7, 2024

@Andre-coder

Could you run the following and report back what is says?

import sys
import logging
logging.basicConfig(stream=sys.stdout, level=logging.DEBUG)
import conifer
conifer.utils._ap_include()

Can you check that the path that your sourced the settings from is correct?

@Andre-coder
Copy link

Its running fine now, the conifer can find the Xilinx on my env. Thank You!

@Andre-coder
Copy link
Andre-coder commented May 15, 2024

But theres an error that also encounter during the execution on i will share it

529 if ret_val != 0:
530 raise Exception(f'Failed to compile project {cfg.project_name}')
531 except:

Exception: Failed to compile project my_prj

During handling of the above exception, another exception occurred:

@thesps
Copy link
Owner
thesps commented May 16, 2024

Can you please share more of the error message?

@Andre-coder
Copy link

sh: line 1: g++: command not found

Exception Traceback (most recent call last)
File ~/.local/lib/python3.12/site-packages/conifer/backends/xilinxhls/writer.py:530, in XilinxHLSModel.compile(self)
529 if ret_val != 0:
--> 530 raise Exception(f'Failed to compile project {cfg.project_name}')
531 except:

Exception: Failed to compile project proj

During handling of the above exception, another exception occurred:

Exception Traceback (most recent call last)
Cell In[42], line 4
1 #cnf = conifer.model(clf, conifer.converters.sklearn, conifer.backends.vivadohls, cfg)
2 #cnf.compile()
3 cnf = conifer.converters.convert_from_sklearn(clf,cfg)
----> 4 cnf.compile()

File ~/.local/lib/python3.12/site-packages/conifer/backends/xilinxhls/writer.py:533, in XilinxHLSModel.compile(self)
531 except:
532 os.chdir(curr_dir)
--> 533 raise Exception(f'Failed to compile project {cfg.project_name}')
535 try:
536 logger.debug(f'Importing conifer_bridge_{self.stamp} from conifer_bridge{self._stamp}.so')

Exception: Failed to compile project proj

@Andre-coder
Copy link
Andre-coder commented Aug 15, 2024

Greetings! Is there any insights that can help fix this error. @thesps . I was able to get the build() function runing without any issue, but the exception showing up in the 533, does it affect on the build function also?

@Andre-coder
Copy link

@thesps I found the solution for this particulary error, the compilation was failing due the gcc-gcc++ lib dev, for fedora user i add to move files from (sudo cp /usr/include/c++/13/i686-redhat-linux/bits/os_defines.h /usr/include/c++/13/bits) and python3-devel dependecies. Thank You!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants