Hi,I'm trying to get the examples for the intel HLS compiler to work (included with Quartus Prime 17.1). As per the initialization requirements, I run: source init_hls.sh I then get an error regarding vsim not being on the path. No problem, I run the following command: export PATH=$PATH:/opt/intelFPGA/17.1/modelsim_ase/bin and try again: source init_hls.sh I now and able to use i++! So, to compile the example, I run: make test-gpp and that works. Creates an executable, and runs with "Success" as the output. Now the real test: make test-x86-64 and poor alas, it fails. Error: i++ counter.cpp -march=x86-64 -o test-x86-64 In file included from counter.cpp:1: In file included from /opt/intelFPGA/17.1/hls/include/HLS/hls.h:11: /opt/intelFPGA/17.1/hls/include/HLS/hls_internal.h:5:10: fatal error: 'queue' file not found# include <queue> ^ 1 error generated. HLS x86-64 compile FAILED. make: *** [Makefile:40: test-x86-64] Error 1 This is likely an issue related to GCC. <queue> is a part of the standard GCC library, but why does it not find it when using the i++ command? I've tried a plethora of things to get this to work, including using the 'include' directive in the makefile to where queue is found. This leads to deeper and deeper problems. I've also tried pointing to the GCC libraries included in the modelsim directory. Same problems as using the system GCC libraries and header files. Any thoughts on where I'm going wrong? --I'm using Fedora 26 64bit.
Hi cdj971!I ran into this issue as well on both Ubuntu 16.04 and CentOS 7. To resolve the issue I added the directory to the queue and dequeue to the include path ex: i++ small.c -v -I/usr/include/x86_64-linux-gnu/c++/5.4.0 -o small -march=x86-64 If that doesn't work I also made these changes on the Ubuntu machine (related to you trying to get the libraries to see queue and dequeue): cd <quartus_install>/<ver>/hls/linux64/lib/dspba/linux64 sudo mv libstdc++.so libstdc++.so.bak sudo mv libstdc++.so.6 libstdc++.so.6.bak sudo ln –s /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21 libstdc++.so.6 sudo ln –s /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.21 libstdc++.so Hopefully this information was helpful!
Hi,I'm running into the same problem. Neither using the include method or changing the libraries in the dspba folder. Is there another solution out there? (I'm using Fedora 27)
Bump.I too am having the same issue. Similarly, changing the libstdc++ libraries did not work for me either. Ubuntu 16.04 LTS. EDIT: I found a solution. I installed gcc 4.4.7 (as recommended in the docs) by adding the following to /etc/apt/sources.list
deb http://dk.archive.ubuntu.com/ubuntu/ trusty main universe deb http://dk.archive.ubuntu.com/ubuntu/ trusty-updates main universethen run the following:
sudo apt-get update sudo apt-get install gcc-4.4 g++-4.4To switch between your current gcc and gcc-4.4, do the following (my current is gcc-5):
sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-5 100 --slave /usr/bin/g++ g++ /usr/bin/g++-5 sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.4 50 --slave /usr/bin/g++ g++ /usr/bin/g++-4.4 sudo update-alternatives --config gcThen I added the following arguments to the compilation:
-I/usr/include/c++/4.4.7 -I/usr/include/c++/4.4.7/x86_64-linux-gnu -L/home/jb/intelFPGA_lite/17.1/hls/linux64/lib/dspba/linux64I'm no expert but I'd think there's a way to include these paths by default when using i++. Regardless, this is what allowed me to compile the counter example.
hello elias,I am new to the concept of HLS. I am using Intel HLS and going to start with the examples that come with the installation of Quartus prime edition. Can you share the successful project report files generated after testing any of those examples ? The examples are Counter, image_downsample,interp_decim_filter,QRD and YUV2RGB. If you have tried one of these examples, it would be great if you can attach the project files post synthesis in this thread .... Will be thankful
Hello everyone,I am running into the same problem on Ubuntu 17.10. After trying this fix by frankmage, I bump into this type of error: "In file included from /usr/lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/stdlib.h:36: /usr/include/c++/4.4/cstdlib:101:11: error: no member named 'div_t' in the global namespace using ::div_t; " Any Idea what could it be causing this? Thanks
Hello everyone,The only solution I found was to install the proper GCC version that Intel HLS asks for (4.4.7). It can be tricky as your OS (just like mine) won't always provide you such older versions of GCC. If you don't want to compile the sources of GCC 4.4.7 (which can be hard as you might need to compile several versions of GCC in between your version ans this one in order for it to compile) you can get a compiled one copying files from a docker container. This is absolutely not the most elegant way of doing things but it worked for me. As centos 7 still uses GCC 4.4, you can create a container based on centos 7 and install GCC from it. You can then retrieve the correct files to your host OS. This trick allowed me to to Intel HLS since without problems, Hoping this can help
--- Quote Start --- Hello everyone, I am running into the same problem on Ubuntu 17.10. After trying this fix by frankmage, I bump into this type of error: "In file included from /usr/lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/stdlib.h:36: /usr/include/c++/4.4/cstdlib:101:11: error: no member named 'div_t' in the global namespace using ::div_t; " Any Idea what could it be causing this? Thanks --- Quote End --- Hello, I'm having the same issue as you. Have you managed to solve it? Thanks
"In file included from /usr/lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++/7.2.0/stdlib.h:36: /usr/include/c++/4.4/cstdlib:101:11: error: no member named 'div_t' in the global namespace using ::div_t; "
My fix for this was to add the following flags into the makefile:
(and the other steps posted above)
And cd into /usr/lib/gcc/x86_64-linux-gnu/7.2.0/../../../../include/c++ and unlink anything unrelated to 4.4.7. You can see i++ is looking at the 7.2.0 directory when it needs to be in 4.4.7
Im running into a similar problem on windows as well. How do I solve it? Im using Microsoft Visual Studio 2015 Professional version as mentioned in the docs. Can someone help?
I got the same error as "queue file no found"
Thanks in advance!