RVR Error compiling for Arduino Uno

I am having trouble compiling all the RVR Arduino examples with Arduino IDE 1.8.12 on Windows 10. I have the board set to Arduino Uno but I also tried Nano and other boards making sure the processor was set to atmega328p. I also tried on a different computer with a fresh install of Arduino IDE and SphereRVR.h library with no success.

Errors:

: undefined reference to rvr' : undefined reference to SpheroRVR::configUART(HardwareSerial*)’

Thank you for your support,

2 Likes

Hi,
I’m having the same issue.
It appeared to be undefined reference to ‘rvr’.
I changed the libSpheroRVR.a into SpheroRVR.a, and then the SpheroRVR.a was found during compiling but the process couldn’t be completed still.

Many thanks to whoever respond to this in the future.

1 Like

Hi @Lu7775 and @DustinGamble ,

The way that the Arduino IDE handles pre-compiled libraries changed recently in a way that broke libraries like ours which contain a mix of source code and pre-compiled libraries. It looks like they’re working on a fix. (see https://github.com/arduino/arduino-builder/issues/353 for discussion of the bug)

In the meantime, you can install the previous version of the Arduino IDE, v1.8.11, to continue using our SDK (https://www.arduino.cc/en/Main/OldSoftwareReleases#previous). I found I needed to manually delete the SpheroRVR directory from my Arduino/libraries directory and reinstall through the library manager after downgrading my Arduino IDE.

Happy programming!

-JimK

1 Like

Hi JimK,

Appreciate your reply.
Most of the examples are working now, but there’s a problem in drive with heading still.
The editor is saying: drive_with_heading:13:64: error: expected primary-expression before ‘.’ token
Seems like DriveFlags is causing problem.

Thanks,
Lu

1 Like

Hi Lu,

I took a quick look, and the wrong syntax is used in that example. Change every instance of DriveFlags.something to DriveFlags::something and it will build. I’m not sure about the process for re-releasing the library to fix the example, but now you know how to fix it locally.

Happy programming!
JimK

1 Like

Hello, I am having the same, or a similar issue. I followed the advice and downloaded the older version of the Arduino IDE, deleted Sphero from my library, and used Library Manager to reinstall. But at compile time I get an error message:" …libraries/SpheroRVR/src/atmega2560: no such file or directory."

So I am a bit perplexed.

1 Like

Hi @pgchurchill

What Arduino board are you using? The reason for this error is that the library is only compiled for the Atmega 328 (found on the Arduino Uno, among others), and the toolchain is searching for a version for the Atmega 2560. At this time, I’m not sure whether there will be a re-release in the future covering more processors or not. If you try with an Uno, that should work fine. If you’re already using an Uno or some other board with an Atmega 328, make sure you have the correct board selected in the Tools menu.

Happy programming!
JimK

1 Like

Okay. Makes sense. I was using a Mega; I will dig out a UNO and try that.

Best,
Paul

1 Like

Just posting to note the above mentioned bug has been fixed and I’ve verified it’s working now in Arduino 1.8.13