Nios® V/II Embedded Design Suite (EDS)
Support for Embedded Development Tools, Processors (SoCs and Nios® V/II processor), Embedded Development Suites (EDSs), Boot and Configuration, Operating Systems, C and C++
12612 Discussions

Compiling OpenCL kernel in Fedora 28

Honored Contributor II



I have installed OpenCL SDK in my Fedora 28. But while trying to compile the kernel I am getting the following linking error, 



--- Quote Start ---  

[sumanish@black vector_add]$ aoc -march=emulator -v -board=a10gx device/ -o bin/vector_add.aocx 

aoc: Environment checks are completed successfully. 

aoc: Cached files in /var/tmp/aocl/sumanish may be used to reduce compilation time 

You are now compiling the full flow!! 

aoc: Selected target board a10gx 

aoc: Running OpenCL parser.... 

/home/sumanish/Intel_FPGA_OpenCL_SDK/Examples/exm_opencl_vector_add_x64_linux/vector_add/device/ warning: declaring kernel argument with no 'restrict' may lead to low kernel performance 

__kernel void vector_add(__global const float *x,  

/home/sumanish/Intel_FPGA_OpenCL_SDK/Examples/exm_opencl_vector_add_x64_linux/vector_add/device/ warning: declaring kernel argument with no 'restrict' may lead to low kernel performance 

__global const float *y,  

2 warnings generated. 

aoc: OpenCL parser completed successfully. 

aoc: Linking Object files.... 

aoc: Compiling for Emulation .... 

/usr/bin/ld: cannot find crtbeginS.o: No such file or directory 

/usr/bin/ld: cannot find -lgcc 

/usr/bin/ld: cannot find -lgcc_s 

aocl-clang: error: linker command failed with exit code 1 (use -v to see invocation) 

Error: Optimizer FAILED. 

Refer to vector_add/vector_add.log for details. 



[sumanish@black vector_add]$  


--- Quote End ---  



Which thing I am missing ? Please help. 



0 Kudos
1 Reply

Hi Sumanish,


This (/usr/bin/ld: cannot find crtbeginS.o: No such file or directory ) indicates that the system is looking for that .o file during the emulator installation.


Most probably, you need to have libgcc 4.9 on yours Linux environments based on Fedora 28. It is either downgrade (F28 running GCC8) your fedora OS that runs on libgcc 4.9 or get libgcc 4.9 version up and run on your existing Linux OS.


Or do a yum search gcc* and then yum install gcc<4.9> version of GCC.


Good Luck!




Intel Customer Support

Sales Marketing Group

0 Kudos