robotology / icub-firmware

iCub Firmware
Other
12 stars 30 forks source link

2FOC firmware does not compile on linux #162

Closed GiulioRomualdi closed 3 years ago

GiulioRomualdi commented 3 years ago

MPLAB is well supported on Linux, however, If I try to compile the 2FOC firmware on Ubuntu I get the following error:

CLEAN SUCCESSFUL (total time: 89ms)
make -f nbproject/Makefile-default.mk SUBPROJECTS= .build-conf
make[1]: Entering directory '/home/gromualdi/robot-code/icub-firmware/emBODY/eBcode/arch-dspic/board/2foc/appl/2FOC-V3/2FOC-V3.X'
make  -f nbproject/Makefile-default.mk dist/default/production/2FOC-V3.X.production.hex
make[2]: Entering directory '/home/gromualdi/robot-code/icub-firmware/emBODY/eBcode/arch-dspic/board/2foc/appl/2FOC-V3/2FOC-V3.X'
../asm/MeasCurr.s: Assembler messages:
../asm/MeasCurr.s:67: Error: can't open Park.inc for reading
"/opt/microchip/xc16/v1.61/bin/xc16-gcc"   ../asm/MeasCurr.s  -o build/default/production/_ext/1360919980/MeasCurr.o  -c -mcpu=33FJ128MC802  -omf=elf -DXPRJ_default=default  -legacy-libc  -I"../asm" -Wa,-MD,"build/default/production/_ext/1360919980/MeasCurr.o.d",--defsym=__MPLAB_BUILD=1,--no-relax  -mdfp="/opt/microchip/mplabx/v5.40/packs/Microchip/dsPIC33F-GP-MC_DFP/1.2.35/xc16"
"/opt/microchip/xc16/v1.61/bin/xc16-gcc"   ../src/ADC.c  -o build/default/production/_ext/1360937237/ADC.o  -c -mcpu=33FJ128MC802  -MMD -MF "build/default/production/_ext/1360937237/ADC.o.d"        -omf=elf -DXPRJ_default=default  -legacy-libc    -ffunction-sections -mlarge-data -O3 -I"../include" -msmart-io=1 -Wall -msfr-warn=off    -mdfp="/opt/microchip/mplabx/v5.40/packs/Microchip/dsPIC33F-GP-MC_DFP/1.2.35/xc16"
"/opt/microchip/xc16/v1.61/bin/xc16-gcc"   ../src/DCLink.c  -o build/default/production/_ext/1360937237/DCLink.o  -c -mcpu=33FJ128MC802  -MMD -MF "build/default/production/_ext/1360937237/DCLink.o.d"        -omf=elf -DXPRJ_default=default  -legacy-libc    -ffunction-sections -mlarge-data -O3 -I"../include" -msmart-io=1 -Wall -msfr-warn=off    -mdfp="/opt/microchip/mplabx/v5.40/packs/Microchip/dsPIC33F-GP-MC_DFP/1.2.35/xc16"
make[2]: *** [nbproject/Makefile-default.mk:326: build/default/production/_ext/1360919980/MeasCurr.o] Error 255
"/opt/microchip/xc16/v1.61/bin/xc16-gcc"   ../src/DHES.c  -o build/default/production/_ext/1360937237/DHES.o  -c -mcpu=33FJ128MC802  -MMD -MF "build/default/production/_ext/1360937237/DHES.o.d"        -omf=elf -DXPRJ_default=default  -legacy-libc    -ffunction-sections -mlarge-data -O3 -I"../include" -msmart-io=1 -Wall -msfr-warn=off    -mdfp="/opt/microchip/mplabx/v5.40/packs/Microchip/dsPIC33F-GP-MC_DFP/1.2.35/xc16"
"/opt/microchip/xc16/v1.61/bin/xc16-gcc"   ../src/2FOC.c  -o build/default/production/_ext/1360937237/2FOC.o  -c -mcpu=33FJ128MC802  -MMD -MF "build/default/production/_ext/1360937237/2FOC.o.d"        -omf=elf -DXPRJ_default=default  -legacy-libc    -ffunction-sections -mlarge-data -O3 -I"../include" -msmart-io=1 -Wall -msfr-warn=off    -mdfp="/opt/microchip/mplabx/v5.40/packs/Microchip/dsPIC33F-GP-MC_DFP/1.2.35/xc16"
"/opt/microchip/xc16/v1.61/bin/xc16-gcc"   ../src/Faults.c  -o build/default/production/_ext/1360937237/Faults.o  -c -mcpu=33FJ128MC802  -MMD -MF "build/default/production/_ext/1360937237/Faults.o.d"        -omf=elf -DXPRJ_default=default  -legacy-libc    -ffunction-sections -mlarge-data -O3 -I"../include" -msmart-io=1 -Wall -msfr-warn=off    -mdfp="/opt/microchip/mplabx/v5.40/packs/Microchip/dsPIC33F-GP-MC_DFP/1.2.35/xc16"
"/opt/microchip/xc16/v1.61/bin/xc16-gcc"   ../src/PWM.c  -o build/default/production/_ext/1360937237/PWM.o  -c -mcpu=33FJ128MC802  -MMD -MF "build/default/production/_ext/1360937237/PWM.o.d"        -omf=elf -DXPRJ_default=default  -legacy-libc    -ffunction-sections -mlarge-data -O3 -I"../include" -msmart-io=1 -Wall -msfr-warn=off    -mdfp="/opt/microchip/mplabx/v5.40/packs/Microchip/dsPIC33F-GP-MC_DFP/1.2.35/xc16"
"/opt/microchip/xc16/v1.61/bin/xc16-gcc"   ../src/System.c  -o build/default/production/_ext/1360937237/System.o  -c -mcpu=33FJ128MC802  -MMD -MF "build/default/production/_ext/1360937237/System.o.d"        -omf=elf -DXPRJ_default=default  -legacy-libc    -ffunction-sections -mlarge-data -O3 -I"../include" -msmart-io=1 -Wall -msfr-warn=off    -mdfp="/opt/microchip/mplabx/v5.40/packs/Microchip/dsPIC33F-GP-MC_DFP/1.2.35/xc16"
make[2]: *** Waiting for unfinished jobs....
Options have been disabled due to restricted license
Visit https://www.microchip.com/compilers to purchase a new key.
In file included from ../src/DHES.c:7:0:
../include/DHES.h:9:17: fatal error: DSP.h: No such file or directory
compilation terminated.
make[2]: *** [nbproject/Makefile-default.mk:229: build/default/production/_ext/1360937237/DHES.o] Error 255
Options have been disabled due to restricted license
Visit https://www.microchip.com/compilers to purchase a new key.
Options have been disabled due to restricted license
Visit https://www.microchip.com/compilers to purchase a new key.
Options have been disabled due to restricted license
Visit https://www.microchip.com/compilers to purchase a new key.
Options have been disabled due to restricted license
Visit https://www.microchip.com/compilers to purchase a new key.
In file included from ../src/2FOC.c:73:0:
../include/ecan.h:5:21: fatal error: status.h: No such file or directory
compilation terminated.
make[2]: *** [nbproject/Makefile-default.mk:208: build/default/production/_ext/1360937237/2FOC.o] Error 255
In file included from ../include/can_icubProto.h:23:0,
                 from ../src/Faults.c:8:
../include/ecan.h:5:21: fatal error: status.h: No such file or directory
compilation terminated.
make[2]: *** [nbproject/Makefile-default.mk:236: build/default/production/_ext/1360937237/Faults.o] Error 255
Options have been disabled due to restricted license
Visit https://www.microchip.com/compilers to purchase a new key.
Options have been disabled due to restricted license
Visit https://www.microchip.com/compilers to purchase a new key.
../src/System.c:18:20: fatal error: faults.h: No such file or directory
compilation terminated.
make[2]: *** [nbproject/Makefile-default.mk:250: build/default/production/_ext/1360937237/System.o] Error 255
make[1]: *** [nbproject/Makefile-default.mk:91: .build-conf] Error 2
make: *** [nbproject/Makefile-impl.mk:39: .build-impl] Error 2
make[2]: Leaving directory '/home/gromualdi/robot-code/icub-firmware/emBODY/eBcode/arch-dspic/board/2foc/appl/2FOC-V3/2FOC-V3.X'
make[1]: Leaving directory '/home/gromualdi/robot-code/icub-firmware/emBODY/eBcode/arch-dspic/board/2foc/appl/2FOC-V3/2FOC-V3.X'

BUILD FAILED (exit value 2, total time: 1s)

Long story short, some includes start with capital while file name starts with lowercase character. I already fixed the bug updating the includes In https://github.com/GiulioRomualdi/icub-firmware/tree/fix_linux_compilation

cc @isorrentino @traversaro @marcoaccame

GiulioRomualdi commented 3 years ago

https://github.com/robotology/icub-firmware/pull/163 merged