Problems with different user accounts on shared laptops

Hi,

We downloaded Altino libraries to Arduino using an admin account (sysadmin) on a shared laptop, so that we can program our Altino vehicles. However, when we sign out and sign in with a different account (patron), it does not seem to work.

We get the following errors:

Arduino: 1.8.4 (Windows 10), Board: "Arduino/Genuino Uno"

C:\Users\patron\Documents\Arduino\libraries\Altino\Altino.cpp: In function 'unsigned char check_sum_tx_calcuration(int)':

C:\Users\patron\Documents\Arduino\libraries\Altino\Altino.cpp:23:11: error: 'byte' was not declared in this scope

return (byte)(u16_tx_check_sum);

^

C:\Users\patron\Documents\Arduino\libraries\Altino\Altino.cpp: In function 'void SendData(unsigned char*)':

C:\Users\patron\Documents\Arduino\libraries\Altino\Altino.cpp:60:3: error: 'Serial' was not declared in this scope

Serial.write(tx_d, 28);

^

C:\Users\patron\Documents\Arduino\libraries\Altino\Altino.cpp:61:11: error: 'delay' was not declared in this scope

delay(10);

^

C:\Users\patron\Documents\Arduino\libraries\Altino\Altino.cpp: In function 'void Go(int, int)':

C:\Users\patron\Documents\Arduino\libraries\Altino\Altino.cpp:89:17: error: 'byte' was not declared in this scope

Sendbuf[7] = (byte)(right_int / 256);

^

C:\Users\patron\Documents\Arduino\libraries\Altino\Altino.cpp: In function 'void Steering(int)':

C:\Users\patron\Documents\Arduino\libraries\Altino\Altino.cpp:107:16: error: 'byte' was not declared in this scope

Sendbuf[5] = (byte)steeringvalue;

^

C:\Users\patron\Documents\Arduino\libraries\Altino\Altino.cpp: In function 'void Steering2(unsigned char, unsigned char)':

C:\Users\patron\Documents\Arduino\libraries\Altino\Altino.cpp:113:16: error: 'byte' was not declared in this scope

Sendbuf[5] = (byte)value1;

^

C:\Users\patron\Documents\Arduino\libraries\Altino\Altino.cpp: In function 'void Sound(unsigned char)':

C:\Users\patron\Documents\Arduino\libraries\Altino\Altino.cpp:124:17: error: 'byte' was not declared in this scope

Sendbuf[22] = (byte)buzzer;

^

C:\Users\patron\Documents\Arduino\libraries\Altino\Altino.cpp: In function 'void Led(unsigned int)':

C:\Users\patron\Documents\Arduino\libraries\Altino\Altino.cpp:183:2: error: 'byte' was not declared in this scope

byte temp, temp2;

^

C:\Users\patron\Documents\Arduino\libraries\Altino\Altino.cpp:185:2: error: 'temp' was not declared in this scope

temp=(byte) (led/256);

^

C:\Users\patron\Documents\Arduino\libraries\Altino\Altino.cpp:186:2: error: 'temp2' was not declared in this scope

temp2=Sendbuf[21] & 0x3f;

^

C:\Users\patron\Documents\Arduino\libraries\Altino\Altino.cpp: In function 'SensorData Sensor(int)':

C:\Users\patron\Documents\Arduino\libraries\Altino\Altino.cpp:282:2: error: 'String' was not declared in this scope

String temp;

^

C:\Users\patron\Documents\Arduino\libraries\Altino\Altino.cpp:283:9: error: expected ';' before 'sCommand'

String sCommand;

^

C:\Users\patron\Documents\Arduino\libraries\Altino\Altino.cpp:289:16: error: 'byte' was not declared in this scope

Sendbuf[4] = (byte)command;

^

C:\Users\patron\Documents\Arduino\libraries\Altino\Altino.cpp:304:6: error: 'Serial' was not declared in this scope

if(Serial.available()>0){

^

C:\Users\patron\Documents\Arduino\libraries\Altino\Altino.cpp:328:5: error: 'Serial' was not declared in this scope

Serial.flush();

^

exit status 1
Error compiling for board Arduino/Genuino Uno.

This report would have more information with
"Show verbose output during compilation"
option enabled in File -> Preferences.

This is a classroom environment where students would all log in with their own user accounts, and none of them should have admin privileges on these computers, so we need it to work, with multiple user accounts after installing under an admin account.

How do we address this issue?

Many thanks,
Justin

The missing declarations are located at {Arduino IDE installation folder}/hardware/arduino/avr/cores/arduino. So for some reason (permissions?) the compiler is not able to access those files. It's strange because the include that brings those files in (Arduino.h) does not fail so the file is seen to exist. Further confusing things is that the core files are cached to the temporary build folder so it's possible that is the problematic location.

You can more details of the commands and paths run during the compilation process by doing:

  • File > Preferences > Show verbose output during > compilation (check) > OK
  • Sketch > Verify/Compile
  • Then examine the full contents of the back console window at the bottom of the Arduino IDE window.

By any chance, do you have the Arduino IDE installed in OneDrive?

Shadow drives and some shared drives could also be on that list Pert.

Other issues could be with the GPO's in place but only the ADMIN can tell that from thier console.