Community
cancel
Showing results for 
Search instead for 
Did you mean: 
JButt5
Novice
501 Views

More up-to-date GCC for the Cyclone V SoC ARM available?

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

0 Kudos
2 Replies
JButt5
Novice
128 Views

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.

128 Views

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-fi...

 

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...

 

Regards.

Reply