`stepperWait' referenced in section `.text' compiliation issues

Hello. When I try to compile repetier firmware with Arduino 1.6.10, I get this error loads of times. I've tried changing several settings, and I'll go through the other things I've tried in just a sec 


`stepperWait' referenced in section `.text' of C:\Users\Keegan\AppData\Local\Temp\ccGSDF7l.ltrans2.ltrans.o: defined in discarded section `.text' of sketch\HAL.cpp.o (symbol from plugin)

`stepperWait' referenced in section `.text' of C:\Users\Keegan\AppData\Local\Temp\ccGSDF7l.ltrans2.ltrans.o: defined in discarded section `.text' of sketch\HAL.cpp.o (symbol from plugin)

`stepperWait' referenced in section `.text' of C:\Users\Keegan\AppData\Local\Temp\ccGSDF7l.ltrans2.ltrans.o: defined in discarded section `.text' of sketch\HAL.cpp.o (symbol from plugin)

`stepperWait' referenced in section `.text' of C:\Users\Keegan\AppData\Local\Temp\ccGSDF7l.ltrans2.ltrans.o: defined in discarded section `.text' of sketch\HAL.cpp.o (symbol from plugin)

`stepperWait' referenced in section `.text' of C:\Users\Keegan\AppData\Local\Temp\ccGSDF7l.ltrans2.ltrans.o: defined in discarded section `.text' of sketch\HAL.cpp.o (symbol from plugin)

`stepperWait' referenced in section `.text' of C:\Users\Keegan\AppData\Local\Temp\ccGSDF7l.ltrans2.ltrans.o: defined in discarded section `.text' of sketch\HAL.cpp.o (symbol from plugin)

collect2.exe: error: ld returned 1 exit status

the above is the full error

Here is a pastebin containing my current config file: http://pastebin.com/PVf2dMMu

I've tried the following to fix this:

- Reinstalled my current version of arduino several times, including restarts and registry cleanouts.

- Tried a new arduino board, but still got the same error.

- Started from a fresh config file. Rolled back to stable version of repetier from the experimental.

- Based on other reports of this bug, uncommented all nonessential features and languages to no avail

Any help with this would be greatly appreciated. I need this firmware to work for stuff I do at work, and Repetier is the only firmware that has the color mixing solution that we can use! Our entire contract is based on this color mixing and an application of it so having it down is really a drag :c

Thanks!

Comments

  • Reason is a compile bug introduced in Arduino 1.6.10. Older versions worked well.

    I fixed the versions in online config and dev version on github. You can work around the compiler bug if you modify HAL.cpp line 666 to

    long __attribute__((used)) stepperWait = 0;
    adding the __attribute__((used)) helps the compile agains it's overoptimization problem.
  • I should have figured it was a simple compilation bug. Seems to be a common thing that comes up with the Arduino IDE. 

    I'll make those modifications then, thanks for the prompt reply
  • for the Arduino team, they said that's not the compiler's bug. please check this thread.

  • I see I did not use it as input, also it is used outside asm in line 742, but then the compiler might have optimized it away somehow. I'm not so much into compiler internals, but will test with asm input soon.
  • Repetier said:
    Reason is a compile bug introduced in Arduino 1.6.10. Older versions worked well.

    I fixed the versions in online config and dev version on github. You can work around the compiler bug if you modify HAL.cpp line 666 to

    long __attribute__((used)) stepperWait = 0;
    adding the __attribute__((used)) helps the compile agains it's overoptimization problem.

    I also have a compile problem. ALL sketches do not compile. Arduino version 1.8.9.
    This is what issued when checking the manufacturer’s recommended firmware for TEVO Tarantula
    Repetier_firmware_dual_extruder
    https://www.dropbox.com/sh/ndykfl1wkw8enpj/AACTlV5qC9dpaJA1PYYLACeha?dl=0


    C:\Users\dry\AppData\Local\Temp\ccGpyWt8.ltrans3.ltrans.o: In function `setTimer(unsigned long)':

    <artificial>:(.text+0x10): undefined reference to `stepperWait'

    <artificial>:(.text+0x14): undefined reference to `stepperWait'

    <artificial>:(.text+0x18): undefined reference to `stepperWait'

    <artificial>:(.text+0x48): undefined reference to `stepperWait'

    <artificial>:(.text+0x4c): undefined reference to `stepperWait'

    C:\Users\dry\AppData\Local\Temp\ccGpyWt8.ltrans3.ltrans.o:<artificial>:(.text+0x50): more undefined references to `stepperWait' follow

    collect2.exe: error: ld returned 1 exit status

    exit status 1
    Ошибка компиляции для платы Arduino/Genuino Mega or Mega 2560.


    what should I do? to sort through all versions of arduino? :s

    The card is specified arduino mega 2560 on the basis of the eponymous core

    I'm desperate










  • The latest fix for the problem is

    volatile long __attribute__((used)) stepperWait = 0;

    seems like used is not enough any more. dev version definitively contains it.
  • edited August 2020
    Repetier said:
    The latest fix for the problem is

    volatile long __attribute__((used)) stepperWait = 0;

    Confirmed working on Arduino 1.8.13, with Repetier-host 091 on a Rostock Max v1

  • volatile long __attribute__((used)) stepperWait = 0;
    where do i enter this into my HAL.cpp tab? which lines need correction?i have been searching trying to get me RMv2 updated and all i get is this error.
  • Yes in hal.cpp - just search stepperWait it is only contained a few times. Should be around line 666 and look similar just without __attribute__((used)
Sign In or Register to comment.