- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
I'm building an application for a Cyclone V SoC, using OpenCL to program the FPGA and running the CL host application on the ARM under Linux. To compile my host application I use the GCC toolchain shipped with the EDS.
However, the GCC coming with the EDS in 2019 is version 4.8.3 from 2014 missing a lot of recent C++ features - I just got sucked by a missing C++11 (!!) feature. Its absolutely needed to support C++11 for my project, its highly desirable to be able to use some third party libs that depend on C++14 and it would be nice if I could use code from my own codebase using some bits of C++17.
Is it possible to get a more up-to-date GCC for the ARM (clang would be fine too)? Do I have to expect any compatibility issues when using a newer GCC version for the Cyclone V SoC's ARM?
Any hints would be greatly appreciated
Link Copied
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
A quick update, I just tried compiling the whole thing with the latest GCC obtained from the ARM website. What happens are linker errors like that
pathToNewGcc-ARM/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/bin/../lib/gcc/arm-linux-gnueabihf/8.3.0/../../../../arm-linux-gnueabihf/bin/ld: intelFPGARootDir/18.1/hld/host/arm32/lib/libalteracl.so: undefined reference to `__cxa_end_catch@CXXABI_1.3'
pathToNewGcc-ARM/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/bin/../lib/gcc/arm-linux-gnueabihf/8.3.0/../../../../arm-linux-gnueabihf/bin/ld: intelFPGARootDir/18.1/hld/host/arm32/lib/libalteracl.so: undefined reference to `std::basic_stringstream<char, std::char_traits<char>, std::allocator<char> >::basic_stringstream(std::string const&, std::_Ios_Openmode)@GLIBCXX_3.4'
pathToNewGcc-ARM/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/bin/../lib/gcc/arm-linux-gnueabihf/8.3.0/../../../../arm-linux-gnueabihf/bin/ld: intelFPGARootDir/18.1/hld/host/arm32/lib/libalteracl.so: undefined reference to `std::cerr@GLIBCXX_3.4'
pathToNewGcc-ARM/gcc-arm-8.3-2019.03-x86_64-arm-linux-gnueabihf/bin/../lib/gcc/arm-linux-gnueabihf/8.3.0/../../../../arm-linux-gnueabihf/bin/ld: intelFPGARootDir/18.1/hld/host/arm32/lib/libalteracl.so: undefined reference to `operator delete(void*)@GLIBCXX_3.4'
Never saw such errors before, however I never tried something like that before. Seems like libalteracl.so expects some symbols in some explicit glibc version it doesn't find as the new compiler toolchain comes with a different version, or do I get it wrong? By the way if anyone wants to reproduce it, this is the CMake file I'm using to build everything, I'm using it in JetBrains CLion and set up the various compilers as various toolchains in CLion.
- Mark as New
- Bookmark
- Subscribe
- Mute
- Subscribe to RSS Feed
- Permalink
- Report Inappropriate Content
Hi,
Apologize for the inconvenience, I believe it is not possible to have a more updated GCC in the nearest future.
For known the error or issue you can check it here:
https://www.intel.com/content/www/us/en/programmable/support/support-resources/knowledge-base/kdb-filter.html
You can search for example, "libalteracl.so" and a known issue regarding that will be displayed:
https://www.intel.com/content/altera-www/global/en_us/index/support/support-resources/knowledge-base/embedded/2018/-segmentation-fault-in-acleventisvalid----using-clenqueuefillbuf.html
Regards.

- Subscribe to RSS Feed
- Mark Topic as New
- Mark Topic as Read
- Float this Topic for Current User
- Bookmark
- Subscribe
- Printer Friendly Page