conifer icon indicating copy to clipboard operation
conifer copied to clipboard

Exception: Couldn't find Xilinx ap_ headers

Open brightneedle opened this issue 1 year ago • 9 comments

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?

brightneedle avatar Sep 07 '23 23:09 brightneedle

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

thesps avatar Sep 08 '23 14:09 thesps

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.

Andre-coder avatar Apr 28 '24 16:04 Andre-coder

@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?

thesps avatar May 07 '24 09:05 thesps

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

Andre-coder avatar May 15 '24 14:05 Andre-coder

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:

Andre-coder avatar May 15 '24 14:05 Andre-coder

Can you please share more of the error message?

thesps avatar May 16 '24 09:05 thesps

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 avatar May 16 '24 14:05 Andre-coder

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 avatar Aug 15 '24 13:08 Andre-coder

@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!

Andre-coder avatar Aug 18 '24 13:08 Andre-coder