Forum Discussion

Altera_Forum's avatar
Altera_Forum
Icon for Honored Contributor rankHonored Contributor
14 years ago

linker cannot find libhal_bsp

Hello,

I have an eclipse environment with a bsp project and an application project.

My bsp project compiles normallly. So I have now a bsp library (libhal_bsp.a) that I want to link with the application project.

Therefore I open the properties of my application project, go under the "NIOS II application path" tab, add the required directories as well as the library name: libhal_bsp.

Now when I compile my application project, I get the following error:

**** Build of configuration Nios II for project CMOScam ****
make all 
Info: Building D:\alexis\CI\firmware.atr.CMOScam\dev\FPGA\CMOScam\software\CMOScam_bsp
make --no-print-directory -C D:\alexis\CI\firmware.atr.CMOScam\dev\FPGA\CMOScam\software\CMOScam_bsp
Info: Building ../CMOScam_bsp
make --no-print-directory -C ../CMOScam_bsp
Info: Linking CMOScam.elf
nios2-elf-g++  -T'../CMOScam_bsp/linker.x' -msys-crt0='../CMOScam_bsp/obj/HAL/src/crt0.o' -msys-lib=hal_bsp -LD:\alexis\CI\firmware.atr.CMOScam\dev\FPGA\CMOScam\software\CMOScam_bsp -L../CMOScam_bsp -LD:\alexis\CI\firmware.atr.CMOScam\dev\FPGA\CMOScam\software\CMOScam_bsp  -msmallc -msmallc  -Wl,-Map=CMOScam.map   -O0 -g -Wall   -EL -mno-hw-div -mhw-mul -mno-hw-mulx -EL -mno-hw-div -mhw-mul -mno-hw-mulx  -o CMOScam.elf obj/CMOScam.o obj/IrDA_interface.o obj/accuLink.o obj/accuLink_cmd.o obj/commands.o obj/fifo.o obj/flash_utilities.o obj/framerates.o obj/markers_interface.o obj/motion_sensor_interface.o obj/sample_input.o obj/srec_utilities.o obj/system_module.o obj/version.o obj/wMarker_commands.o -lm -lm -llibhal_bsp 
c:/altera/11.0/nios2eds/bin/gnu/h-i686-mingw32/bin/../lib/gcc/nios2-elf/4.1.2/../../../../nios2-elf/bin/ld.exe: cannot find -llibhal_bsp
collect2: ld returned 1 exit status
make: ***  Error 1
I don't know why the linker cannot find the library .a file...

thank you

1 Reply

  • Altera_Forum's avatar
    Altera_Forum
    Icon for Honored Contributor rankHonored Contributor

    I fixed my issue.

    In fact I had error during the compilation with the alt_ic_irq_enable() function.

    I thougth that there was a problem with the BSP library (linking problem).

    In fact, I was using legacy functions but the required define in the system.h was not used.

    /*#define ALT_ENHANCED_INTERRUPT_API_PRESENT*/# define ALT_LEGACY_INTERRUPT_API_PRESENT

    I am migrating as project from Quartus 8 to Quartus 11.0 and therefore I have that kind of issues.