Notifications
Clear all

Can't compile firmware  

  RSS
PlasticFantastic
(@plasticfantastic)
Active Member
Can't compile firmware

Hello

I'm having a hard time trying to compile the firmware. First I had some compile errors using the code checked out with tag 3.0.6, I thought it was because the Arduino addon was modified and copied that to the Arduino folder (1.0.6) but that didn't help either.

Then I just decided to do the whole thing again, so I downloaded Arduino 1.6.10 and removed the LiquidCrystal as stated on the github repo and copied everything inside the addon folder of the firmware to that version. Then I got some error like this when selecting Rambo board:

WARNING: Category '' in library Wire is not valid. Setting to 'Uncategorized'
Build options changed, rebuilding all
Warning: platform.txt from core 'Marlin AVR Boards' contains deprecated recipe.ar.pattern="{compiler.path}{compiler.ar.cmd}" {compiler.ar.flags} {compiler.ar.extra_flags} "{build.path}/{archive_file}" "{object_file}", automatically converted to recipe.ar.pattern="{compiler.path}{compiler.ar.cmd}" {compiler.ar.flags} {compiler.ar.extra_flags} "{archive_file_path}" "{object_file}". Consider upgrading this core.
exec: "generate_version_header_for_marlin": executable file not found in $PATH
Error compiling for board RAMBo.

If I select the Arduino /Genuino Mega or Mega 2560 then I get this:
(first lots of pin redefinitions in pings.h)
Then the error:
In file included from sketch/SdFile.h:27:0,
from sketch/cardreader.h:8,
from sketch/Marlin_main.cpp:58:
SdBaseFile.h:38: error: using typedef-name 'fpos_t' after 'struct'
struct fpos_t {
^
In file included from sketch/Marlin.h:10:0,
from sketch/Marlin_main.cpp:38:
/home/elputoamo/3dprint/arduino-1.6.10/hardware/tools/avr/avr/include/stdio.h:950:33: note: 'fpos_t' has a previous declaration here
__extension__ typedef long long fpos_t;
^
exit status 1
using typedef-name 'fpos_t' after 'struct'

What am I missing?

Posted : 15/08/2016 9:11 pm
ayourk
(@ayourk)
Reputable Member
Re: Can't compile firmware

There are a couple of things you should know.

First of all, Arduino 1.6.10 is known to NOT work with the current firmware in GIT. The developer assured me that he intends to fix this for the next release. For now, I recommend using the same Arduino version the developer is using which is 1.6.8. DO NOT UPDATE YOUR BOARDS!!!

Next, I recommend using the Rambo plugin that is listed here (section "Arduino 1.6.4+ Board Manager Plugin") instead of the one that is in GIT. I've had better results with this one. When you get the bootloader error, there is a way get it that is posted here that you should check out.

Dimensions PNG

and an 8 inch (200mm) or greater caliper is recommended.

Posted : 17/08/2016 3:45 am
PlasticFantastic
(@plasticfantastic)
Active Member
Topic starter answered:
Re: Can't compile firmware

There are a couple of things you should know.

First of all, Arduino 1.6.10 is known to NOT work with the current firmware in GIT. The developer assured me that he intends to fix this for the next release. For now, I recommend using the same Arduino version the developer is using which is 1.6.8. DO NOT UPDATE YOUR BOARDS!!!

Next, I recommend using the Rambo plugin that is listed here (section "Arduino 1.6.4+ Board Manager Plugin") instead of the one that is in GIT. I've had better results with this one. When you get the bootloader error, there is a way get it that is posted here that you should check out.

Thanks, good to know. I ended up flashing via VMWARE+Windows 7+Offcial tool as not even the avrdude alternative that is explained in some guide page worked. However, it is always nicer to know one can compile the firmware in case one would like to try to change something in the code.

Posted : 18/08/2016 9:16 pm
ayourk
(@ayourk)
Reputable Member
Re: Can't compile firmware


Thanks, good to know. I ended up flashing via VMWARE+Windows 7+Offcial tool as not even the avrdude alternative that is explained in some guide page worked. However, it is always nicer to know one can compile the firmware in case one would like to try to change something in the code.

Here is the avrdude commandline that I use that works for me:

/usr/bin/avrdude -C/etc/avrdude.conf -v -patmega2560 -cstk500v2 -P/dev/ttyACM0 -b115200 -D -Uflash:w:$1:i

Where $1 is replaced by the firmware update.hex file. Of course, I'm on linux though, and this is the command line I use on my octopi box that controls my printer.

Dimensions PNG

and an 8 inch (200mm) or greater caliper is recommended.

Posted : 18/08/2016 9:36 pm
Share: