ethz-asl / asctec_mav_framework

Framework for data aquisition and position control to be used with the highlevel processor of Ascending Technologies helicopters
http://www.ros.org/wiki/asctec_mav_framework
36 stars 40 forks source link

asctec_hl_firmware compiling problem #24

Closed rocklinsuv closed 10 years ago

rocklinsuv commented 10 years ago

Hi Markus,

I installed GCC 4.1.1 from Asctec Wiki and tried to compile asctec_hl_firmware by command line "make" command. However, it's giving me these errors:

/usr/local/arm7/bin/../lib/gcc/arm-elf/4.1.1/../../../../arm-elf/bin/ld: error: ssdk/lib/libssdk.a(ert_main.o) uses software FP, whereas main.elf uses hardware FP /usr/local/arm7/bin/../lib/gcc/arm-elf/4.1.1/../../../../arm-elf/bin/ld: failed to merge target specific data of file ssdk/lib/libssdk.a(ert_main.o) /usr/local/arm7/bin/../lib/gcc/arm-elf/4.1.1/../../../../arm-elf/bin/ld: error: ssdk/lib/libssdk.a(onboard_matlab.o) uses software FP, whereas main.elf uses hardware FP /usr/local/arm7/bin/../lib/gcc/arm-elf/4.1.1/../../../../arm-elf/bin/ld: failed to merge target specific data of file ssdk/lib/libssdk.a(onboard_matlab.o) /usr/local/arm7/bin/../lib/gcc/arm-elf/4.1.1/../../../../arm-elf/bin/ld: error: ssdk/lib/libssdk.a(onboard_matlab_data.o) uses software FP, whereas main.elf uses hardware FP /usr/local/arm7/bin/../lib/gcc/arm-elf/4.1.1/../../../../arm-elf/bin/ld: failed to merge target specific data of file ssdk/lib/libssdk.a(onboard_matlab_data.o) /usr/local/arm7/bin/../lib/gcc/arm-elf/4.1.1/../../../../arm-elf/bin/ld: error: .//libdeclination.a(declination.o) uses software FP, whereas main.elf uses hardware FP /usr/local/arm7/bin/../lib/gcc/arm-elf/4.1.1/../../../../arm-elf/bin/ld: failed to merge target specific data of file .//libdeclination.a(declination.o) /usr/local/arm7/bin/../lib/gcc/arm-elf/4.1.1/../../../../arm-elf/bin/ld: error: .//libublox.a(ublox.o) uses software FP, whereas main.elf uses hardware FP /usr/local/arm7/bin/../lib/gcc/arm-elf/4.1.1/../../../../arm-elf/bin/ld: failed to merge target specific data of file .//libublox.a(ublox.o) collect2: ld returned 1 exit status make: *\ [main.elf] Error 1

You have any idea how I can solve this? I suppose that u're using Linux environment as well. Maybe those "*.a" files in ssdk folders are the source of the problem. Many thanks.

Cheers, Lyn

rocklinsuv commented 10 years ago

BTW, I'm using the "electric" version of asctec_mav_framework, Ubuntu 12.04 LTS.

Cheers, Lyn

markusachtelik commented 10 years ago

the electric version is the issue - it's only going to work with the compiler provided by asctec with a version with/after https://github.com/ethz-asl/asctec_mav_framework/commit/70475a8817ee68560d5246ecee3637cc863a8aa7

we used to have some mess with that in the past and finally resolved it in that commit.

rocklinsuv commented 10 years ago

Thank u for your quick reply. Does it mean that I have to do 2 things:

  1. Upgrade ROS Electric to ROS Fuerte or newer version.
  2. Use asctec_mav_frame "master" or "2012" version.

Cheers, Lyn

markusachtelik commented 10 years ago

hi lyn,

fuerte is outdated as well. I'd recommend hydro, or since it seems like you are using a distro for a long time, wait for indigo. Then use the current master version.