No funcionan librerías en ubuntu 22.04

Hola, espero preguntar bien y agradezco desde ya cualquier orientación.

Soy nuevo en Arduino, aunque tengo algunos conocimientos previos.

Uso Ubuntu Mate 22.04 con Arduino 1.8.19.

Tengo para probar placas Arduino Uno y Arduino Mega 2560.

Pude realizar varias programaciones, con diferentes sensores y leds.

Ahora, al intentar usar servos, encuentro que necesito la librería "Servo", la instalo, y al compilar no la encuentra.

Probé indicar la carpeta en la que se encuentra </.../Arduino/libraries/Servo/src/Servo.h>, por comentarios que encontré en otro hilo en este foro, y al parecer la detectó, aunque todavía no pruebo usarla, ya que me surgió otra duda.

El menú ya indica algunas librerías preinstaladas, como <Wire.h>, pero no están en la carpeta .../Arduino/libraries, que solo tiene lo que agregué (Servo), por lo que no sabría como usar las que se supone están preinstaladas.

Estuve buscando y no encontré cómo configurar o dónde se configura, para que busque las librerías en .../Arduino/libraries

No encontré otros hilos relacionados en este foro, salvo el mencionado, pero me ayudaría que me los indiquen, si hay alguno que pueda servirme.

Las preguntas entonces son:

  1. ¿Se puede configurar la carpeta base de las librerías? ¿cómo?

  2. ¿Está bien cómo lo hice o podría encontrarme otro inconveniente más adelante?

  3. ¿Cómo hago con las librerías que se suponen preinstaladas? no tienen carpeta en .../Arduino/libraries

Espero explicarme, nuevamente gracias.

Saludos cordiales y fuerte abrazote, desde San Juan, al centro oeste de Argentina :slight_smile:

El texto del error es:

.../Arduino/PruebaServo1/PruebaServo1.ino:1:19: error fatal: Servo.h: No existe el archivo o el directorio
compilación terminada.
exit status 1
Error compilando para la tarjeta Arduino Mega or Mega 2560.

También me indica el mismo error si compilo para Arduino Uno, que es la otra tarjeta que tengo.

al intentar compilar con mas código, tengo estos errores (ahora tarjeta Uno conectada).

-----Código-----

#include </home/rmorales/Arduino/libraries/Servo/src/Servo.h>

int ServoPin = 8;
int ServoPos = 90;
Servo ServoMotor;

void setup() {
  Serial.begin(9600);
  ServoMotor.attach(ServoPin);
}

void loop() {
}

----- Errores -----

/tmp/ccv9J7d5.ltrans0.ltrans.o: In function `HardwareSerial::availableForWrite()':
/usr/share/arduino/hardware/arduino/avr/cores/arduino/HardwareSerial.cpp:193: undefined reference to `Servo::Servo()'
/tmp/ccv9J7d5.ltrans0.ltrans.o: In function `HardwareSerial::write(unsigned char)':
/usr/share/arduino/hardware/arduino/avr/cores/arduino/HardwareSerial.cpp:226: undefined reference to `Servo::attach(int)'
collect2: error: ld devolvió el estado de salida 1
exit status 1
Error compilando para la tarjeta Arduino Uno.

acabo de encontrar este hilo relacionado, que indica que pueden ser los permisos y se resuelve ingresando como superusuario, pero tampoco me funciona.

Normalmente, cuando encerramos entre símbolos mayor/menor ( < > ) es para que la busque en la carpeta de las librerías que tenga definido el IDE. Si se encierra entre dobles comillas ( " " ) a librería es para que la busque en local en la carpeta del proyecto y NO de la librería.
no dices qué versión de IDE Arduino estás manejando.

O bien pones:

#include "Servo.h" 

y la copias en la carpeta donde tengas el proyecto (que no recomiendo si son estándar).

O bien, para que busque en "libraries" que tiene instalada Arduino IDE:

#include <Servo.h>

Saludos.

Por ejemplo en mi caso este proyecto empieza así:

#include "HX711-multi.h"
#include <EEPROM.h>

Y en la carpeta donde tengo el .INO tengo también el HX711-multi.h pero NO el EEPROM.h que es una librería estándar y gestionada por el IDE Arduino.
Saludos.

Aspecto de la carpeta del proyecto:

Aspecto en el IDE Arduino:
a2

Saludos.

Moderador:
Por favor, lee las Normas del foro y edita tu código/error en los post #2 y 3 usando etiquetas de código. Aunque solo sea una línea debe ir con etiquetas.
Ve a edición, luego selecciona todo el código que has publicado, lo cortas y click en </>


1 Like

Gracias. la instalación la hago por menú, eligiendo Servo.

Puntualmente, lo hago por menú : Programa > Incluir Librería > Administrar Biblitecas.

De todos modos, no está incluyendo ninguna librería, ni siquiera las que ya tiene preinstaladas.

Solo usar la línea include ya genera error. Si pongo dirección absoluta aparecen otros errores.

Es Arduino 1.8.19. ahí lo agrego también en la consulta original.

Al poner dirección absoluta aparece el error en HardwareSerial que mencioné mas arriba.

Hola!! Como estan !!??
Amigo, disculpa. Pudiste solucionar el tema? Yo estoy con el mismo problema.
Ubuntu 22.04 LTS , Arduino 1.8.19 ... En mi caso intentando usar la lib. IRremote .
Hago el #include y tengo el mismo error.
Ni siquiera los ejemplos de la misma libreria funcionan (con igual error).
En mi casi habilite el "verbose" de compilacion,.. y nunca se ve que busque la lib. Espero puedan ayudarme.
Adjunto el error. Muchas gracias !!

arduino-builder -dump-prefs -logger=machine -hardware /usr/share/arduino/hardware -hardware /home/leo/.arduino15/packages -tools /usr/share/arduino/hardware/tools/avr -tools /home/leo/.arduino15/packages -libraries /home/leo/Arduino/libraries -fqbn=arduino:avr:micro -ide-version=10819 -build-path /tmp/arduino_build_41710 -warnings=none -build-cache /tmp/arduino_cache_212148 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.arduinoOTA.path=/home/leo/.arduino15/packages/arduino/tools/arduinoOTA/1.3.0 -prefs=runtime.tools.arduinoOTA-1.3.0.path=/home/leo/.arduino15/packages/arduino/tools/arduinoOTA/1.3.0 -prefs=runtime.tools.avrdude.path=/home/leo/.arduino15/packages/arduino/tools/avrdude/6.3.0-arduino17 -prefs=runtime.tools.avrdude-6.3.0-arduino17.path=/home/leo/.arduino15/packages/arduino/tools/avrdude/6.3.0-arduino17 -prefs=runtime.tools.avr-gcc.path=/home/leo/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7 -prefs=runtime.tools.avr-gcc-7.3.0-atmel3.6.1-arduino7.path=/home/leo/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7 -verbose /home/leo/Arduino/Robot1/Robot1.ino
arduino-builder -compile -logger=machine -hardware /usr/share/arduino/hardware -hardware /home/leo/.arduino15/packages -tools /usr/share/arduino/hardware/tools/avr -tools /home/leo/.arduino15/packages -libraries /home/leo/Arduino/libraries -fqbn=arduino:avr:micro -ide-version=10819 -build-path /tmp/arduino_build_41710 -warnings=none -build-cache /tmp/arduino_cache_212148 -prefs=build.warn_data_percentage=75 -prefs=runtime.tools.arduinoOTA.path=/home/leo/.arduino15/packages/arduino/tools/arduinoOTA/1.3.0 -prefs=runtime.tools.arduinoOTA-1.3.0.path=/home/leo/.arduino15/packages/arduino/tools/arduinoOTA/1.3.0 -prefs=runtime.tools.avrdude.path=/home/leo/.arduino15/packages/arduino/tools/avrdude/6.3.0-arduino17 -prefs=runtime.tools.avrdude-6.3.0-arduino17.path=/home/leo/.arduino15/packages/arduino/tools/avrdude/6.3.0-arduino17 -prefs=runtime.tools.avr-gcc.path=/home/leo/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7 -prefs=runtime.tools.avr-gcc-7.3.0-atmel3.6.1-arduino7.path=/home/leo/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7 -verbose /home/leo/Arduino/Robot1/Robot1.ino
Using board 'micro' from platform in folder: /home/leo/.arduino15/packages/arduino/hardware/avr/1.8.6
Using core 'arduino' from platform in folder: /home/leo/.arduino15/packages/arduino/hardware/avr/1.8.6
Atención: platform.txt del núcleo 'Arduino AVR Boards' contiene compiler.path={runtime.tools.avr-gcc.path}/bin/ desfasada, automáticamente convertida a compiler.path=/usr/bin/. Considera el actualizar este núcleo.
Detecting libraries used...
"/usr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing  -flto -w -x c++ -E -CC -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10819 -DARDUINO_AVR_MICRO -DARDUINO_ARCH_AVR  -DUSB_VID=0x2341 -DUSB_PID=0x8037 '-DUSB_MANUFACTURER="Unknown"' '-DUSB_PRODUCT="Arduino Micro"' "-I/home/leo/.arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino" "-I/home/leo/.arduino15/packages/arduino/hardware/avr/1.8.6/variants/micro" "/tmp/arduino_build_41710/sketch/Robot1.ino.cpp" -o "/dev/null"
"/usr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing  -flto -w -x c++ -E -CC -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10819 -DARDUINO_AVR_MICRO -DARDUINO_ARCH_AVR  -DUSB_VID=0x2341 -DUSB_PID=0x8037 '-DUSB_MANUFACTURER="Unknown"' '-DUSB_PRODUCT="Arduino Micro"' "-I/home/leo/.arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino" "-I/home/leo/.arduino15/packages/arduino/hardware/avr/1.8.6/variants/micro" "/tmp/arduino_build_41710/sketch/Buzzer.cpp" -o "/dev/null"
"/usr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing  -flto -w -x c++ -E -CC -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10819 -DARDUINO_AVR_MICRO -DARDUINO_ARCH_AVR  -DUSB_VID=0x2341 -DUSB_PID=0x8037 '-DUSB_MANUFACTURER="Unknown"' '-DUSB_PRODUCT="Arduino Micro"' "-I/home/leo/.arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino" "-I/home/leo/.arduino15/packages/arduino/hardware/avr/1.8.6/variants/micro" "/tmp/arduino_build_41710/sketch/Motor.cpp" -o "/dev/null"
"/usr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing  -flto -w -x c++ -E -CC -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10819 -DARDUINO_AVR_MICRO -DARDUINO_ARCH_AVR  -DUSB_VID=0x2341 -DUSB_PID=0x8037 '-DUSB_MANUFACTURER="Unknown"' '-DUSB_PRODUCT="Arduino Micro"' "-I/home/leo/.arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino" "-I/home/leo/.arduino15/packages/arduino/hardware/avr/1.8.6/variants/micro" "/tmp/arduino_build_41710/sketch/Motor2.cpp" -o "/dev/null"
"/usr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing  -flto -w -x c++ -E -CC -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10819 -DARDUINO_AVR_MICRO -DARDUINO_ARCH_AVR  -DUSB_VID=0x2341 -DUSB_PID=0x8037 '-DUSB_MANUFACTURER="Unknown"' '-DUSB_PRODUCT="Arduino Micro"' "-I/home/leo/.arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino" "-I/home/leo/.arduino15/packages/arduino/hardware/avr/1.8.6/variants/micro" "/tmp/arduino_build_41710/sketch/UltraSonic.cpp" -o "/dev/null"
"/usr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing  -flto -w -x c++ -E -CC -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10819 -DARDUINO_AVR_MICRO -DARDUINO_ARCH_AVR  -DUSB_VID=0x2341 -DUSB_PID=0x8037 '-DUSB_MANUFACTURER="Unknown"' '-DUSB_PRODUCT="Arduino Micro"' "-I/home/leo/.arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino" "-I/home/leo/.arduino15/packages/arduino/hardware/avr/1.8.6/variants/micro" "/tmp/arduino_build_41710/sketch/ZoneSensor.cpp" -o "/dev/null"
Generating function prototypes...
"/usr/bin/avr-g++" -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing  -flto -w -x c++ -E -CC -mmcu=atmega32u4 -DF_CPU=16000000L -DARDUINO=10819 -DARDUINO_AVR_MICRO -DARDUINO_ARCH_AVR  -DUSB_VID=0x2341 -DUSB_PID=0x8037 '-DUSB_MANUFACTURER="Unknown"' '-DUSB_PRODUCT="Arduino Micro"' "-I/home/leo/.arduino15/packages/arduino/hardware/avr/1.8.6/cores/arduino" "-I/home/leo/.arduino15/packages/arduino/hardware/avr/1.8.6/variants/micro" "/tmp/arduino_build_41710/sketch/Robot1.ino.cpp" -o "/tmp/arduino_build_41710/preproc/ctags_target_for_gcc_minus_e.cpp"
/home/leo/Arduino/Robot1/Robot1.ino:1:24: error fatal: IRremote.hpp: No existe el archivo o el directorio
compilación terminada.
exit status 1
Error compilando para la tarjeta Arduino Micro.

hola, lo "resolví" descargando la versión AppImage de Arduino IDE directamente de la web y agregando manualmente en menús. espero sirva.

Muchas gracias. Justo estoy por probando eso... con la ultima version 2.1.1 . Vos utilizaste la nueva o la misma 1.8.19 que esta como Legacy ?
Saludos!

Efectivamente, descargué la version 2.1.1 en "zip" desde la pagina oficial de Arduino , descomprimi, ejecute el IDE y anduvo perfecto.

me funcionó bien con la 2.1.0 en su momento, aun no actualizo a la 2.1.1 pero asumo funcionará :slight_smile:

This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.