UPGRADE YOUR BROWSER

We have detected your current browser version is not the latest one. Xilinx.com uses the latest web technologies to bring you the best online experience possible. Please upgrade to a Xilinx.com supported browser:Chrome, Firefox, Internet Explorer 11, Safari. Thank you!

cancel
Showing results for 
Search instead for 
Did you mean: 
Highlighted
Visitor fpgastudent
Visitor
564 Views
Registered: ‎10-10-2017

Linkage problem

Jump to solution

Hi all,

 

I'm having problem linking my project.
The problem is that the Linker searches for a file that doesn't exists.
After successfully compiling the project, I see that the *.o file is created successfully, but the linker asks for the same file but with a different name or a different path.
for example, the file at :

/src/BasicMath/arm_negate_f32.c compiles and arm_negate_f32.o is created.
The linker looks for :

/src/BaicMath/arm_negate_f32.o - note the missing 's' letter.


Because of the mistaken path the error "No such file or directory" recieved and the linking process fails.
even if I manually change the library name to BaicMath in order to match the same faulty path, the linkage will fail on another file and another mistaken file name or path.

 

I'm using SDK 2017.2, ARM R5 gcc linker "armr5-none-eabi-gcc":

xsct% armr5-none-eabi-gcc --version

armr5-none-eabi-gcc.EXE (GNU Tools for ARM Embedded Processors) 5.2.1 20151202 (release) [ARM/embedded-5-branch revision 231848]

 

I tried to link and compile at SDK version 2015.4 but same error occurres.

Furthermore, I tried increasing vmargs Xmx size and to shorten the libraries names of the project.

 

Build console print:

 

**** Incremental Build of configuration Debug for project B4_APP ****
make -k all
'Building target: B4_APP.elf'
'Invoking: ARM R5 gcc linker'
armr5-none-eabi-gcc -Wl,-T -Wl,../src/lscript.ld -L../../B4_BSP/psu_cortexr5_0/lib -o "B4_APP.elf" 
./src/BasicMath/arm_mult_q7.o
./src/BasicMath/arm_negate_f32.o
./src/BasicMath/arm_negate_q15.o
./src/BasicMath/arm_negate_q31.o
./src/BasicMath/arm_negate_q7.o
./src/BasicMath/arm_offset_f32.o
 -lm -lxil -Wl,--start-group,-lxil,-lgcc,-lc,--end-group -Wl,--start-group,-lxilfpga,-lxil,-lgcc,-lc,--end-group -mcpu=cortex-r5 -mfloat-abi=hard -mfpu=vfpv3-d16

armr5-none-eabi-gcc: error: ./src/BaicMath/arm_negate_f32.o: No such file or directory
make: *** [B4_APP.elf] Error 1
make: Target `all' not remade because of errors.

 

 

Please your advice is needed!

0 Kudos
1 Solution

Accepted Solutions
Visitor fpgastudent
Visitor
767 Views
Registered: ‎10-10-2017

Re: Linkage problem

Jump to solution

I downloaded CMSIS lib from : https://github.com/JGSuw/DIP.

Its a DSP library optimized for ARM cortex-r5 processor.


Next, I created a cortex-r5 specific project in xilinx SDK 2017.2 and imported the lib.
The project compiled successfully without any adaptions.

 

I read the solution that rfeneon suggested and switched the make.exe at SDK\Gnuwin\bin library with a new make.exe program that I downloaded from :http://www.equation.com/servlet/equation.cmd?fa=make which solved my problem.

0 Kudos
3 Replies
Xilinx Employee
Xilinx Employee
517 Views
Registered: ‎10-21-2010

Re: Linkage problem

Jump to solution

Hi,

Can you provide a testcase to reproduce this? I can't understand how the linker could be using wrong paths

0 Kudos
Visitor fpgastudent
Visitor
768 Views
Registered: ‎10-10-2017

Re: Linkage problem

Jump to solution

I downloaded CMSIS lib from : https://github.com/JGSuw/DIP.

Its a DSP library optimized for ARM cortex-r5 processor.


Next, I created a cortex-r5 specific project in xilinx SDK 2017.2 and imported the lib.
The project compiled successfully without any adaptions.

 

I read the solution that rfeneon suggested and switched the make.exe at SDK\Gnuwin\bin library with a new make.exe program that I downloaded from :http://www.equation.com/servlet/equation.cmd?fa=make which solved my problem.

0 Kudos
Moderator
Moderator
459 Views
Registered: ‎10-06-2016

Re: Linkage problem

Jump to solution
Hi @fpgastudent,

Please mark your post as solution as seems that you already found a workaround using a newer Make release.

Ibai
Don’t forget to reply, kudo, and accept as solution.
0 Kudos