Uart does not name a type including MKRGSM.h

I have installed the arduino ide 1.8.14 on ubuntu 21.10.
I just include the mkrgsm library in a very simple file (with an empty setup and loop), but I got this error : Uart does not name a type at MKRGSM/src/Modem.h:71:3:
Can you help me please ?
Many thanks
The detailed error is :

ATTENTION : la bibliothèque MKRGSM prétend être exécutable sur la (ou les) architecture(s) samd et peut être incompatible avec votre carte actuelle qui s'exécute sur avr.
Generating function prototypes...
/home/audric/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/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=atmega328p -DF_CPU=16000000L -DARDUINO=10814 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR -I/home/audric/.arduino15/packages/arduino/hardware/avr/1.8.4/cores/arduino -I/home/audric/.arduino15/packages/arduino/hardware/avr/1.8.4/variants/standard -I/home/audric/Arduino/libraries/MKRGSM/src /tmp/arduino_build_470783/sketch/sketch_dec12a.ino.cpp -o /tmp/arduino_build_470783/preproc/ctags_target_for_gcc_minus_e.cpp
/home/audric/.arduino15/packages/builtin/tools/ctags/5.8-arduino11/ctags -u --language-force=c++ -f - --c++-kinds=svpf --fields=KSTtzns --line-directives /tmp/arduino_build_470783/preproc/ctags_target_for_gcc_minus_e.cpp
Compilation du croquis...
/home/audric/.arduino15/packages/arduino/tools/avr-gcc/7.3.0-atmel3.6.1-arduino7/bin/avr-g++ -c -g -Os -w -std=gnu++11 -fpermissive -fno-exceptions -ffunction-sections -fdata-sections -fno-threadsafe-statics -Wno-error=narrowing -MMD -flto -mmcu=atmega328p -DF_CPU=16000000L -DARDUINO=10814 -DARDUINO_AVR_UNO -DARDUINO_ARCH_AVR -I/home/audric/.arduino15/packages/arduino/hardware/avr/1.8.4/cores/arduino -I/home/audric/.arduino15/packages/arduino/hardware/avr/1.8.4/variants/standard -I/home/audric/Arduino/libraries/MKRGSM/src /tmp/arduino_build_470783/sketch/sketch_dec12a.ino.cpp -o /tmp/arduino_build_470783/sketch/sketch_dec12a.ino.cpp.o
In file included from /home/audric/Arduino/libraries/MKRGSM/src/GSMVoiceCall.h:23:0,
                 from /home/audric/Arduino/libraries/MKRGSM/src/MKRGSM.h:24,
                 from /home/audric/Arduino/sketch_dec12a/sketch_dec12a.ino:2:
/home/audric/Arduino/libraries/MKRGSM/src/Modem.h:35:18: error: expected ')' before '&' token
   ModemClass(Uart& uart, unsigned long baud, int resetPin, int dtrPin);
/home/audric/Arduino/libraries/MKRGSM/src/Modem.h:71:3: error: 'Uart' does not name a type; did you mean 'sqrt'?
   Uart* _uart;
Utilisation de la bibliothèque MKRGSM version 1.5.0 dans le dossier: /home/audric/Arduino/libraries/MKRGSM 
exit status 1
Erreur de compilation pour la carte Arduino Uno

Other post/duplicate DELETED
Please do NOT cross post / duplicate as it wastes peoples time and efforts to have more than one post for a single topic.

Continued cross posting could result in a time out from the forum.

Please take a few moments to Learn and Use The Forum

How to get the best out of this forum Installation & Troubleshooting

Hello, Welcome to the Arduino Forum. This guide explains how to get the best out of this forum. Please read and follow the instructions below. Being new here you might think this is having rules for the sake of rules, but that is not the case. If you don’t follow the guidelines all that happens is there is a long exchange of posts while we try to get you to tell us what we need in order to help you, which is frustrating for you and frustrating for us. The people who try to help with your pro…

It will help you get the very best out of the forum in the future.

  • Your OS and version can be valuable information, please include it along with extra security you are using. Antivirus etc.
  • Always list the version of the IDE you are using and the board version if applicable.
  • Use quote or add error messages as an attachment NOT a picture.
  • How to insert an image into your post. ( Thanks sterretje )
  • Add your sketch where applicable but please use CODE TAGS
  • Add a SCHEMATIC were needed even if it is hand drawn
  • Add working links to any specific hardware as needed (NOT links to similar items)
  • Remember that the people trying to help cannot see your problem so give as much information as you can


  • Ensure you have FULLY inserted the USB cables.
  • Check you have a COMMON GROUND where required. ( Thanks Perry)
  • Where possible use USB 2.0 ports or a USB 2.0 POWERED HUB to rule out USB 3.0 issues.
  • Try other computers where possible.
  • Try other USB leads where possible.
  • You may not have the correct driver installed. CH340/341 or CP2102 or FT232 VCP Drivers - FTDI
  • There may be a problem with the board check or remove your wiring first.
  • Remove any items connected to pins 0 and 1.


  • Close any other serial programs before opening the IDE.
  • Ensure you turn off any additional security / antivirus just to test.
  • There may be a problem with the PC try RESTARTING it.
  • You may be selecting the wrong COM port.
  • Avoid cloud/network based installations where possible OR ensure your Network/Cloud software is RUNNING.
  • Clear your browsers CACHE.
  • Close the IDE before using any other serial programs.
  • Preferably install IDE’s as ADMINISTRATOR or your OS equivalent


  • CH340/341 based clones do not report useful information to the “get board info” button.
  • NANO (Old Types) some require you to use the OLD BOOTLOADER option.
  • NANO (ALL Types) See the specific sections lower in the forum.
  • NANO (NEW Types) Install your board CORE’s.
  • Unless using EXTERNAL PROGRAMMERS please leave the IDE selection at default “AVRISP mkII”.
  • Boards using a MICRO usb connector need a cable that is both DATA and CHARGE. Many are CHARGE ONLY.

CREATE editor install locations.

  • On macOs ~/Applications/ArduinoCreateAgent-1.1/
  • On Linux ~/ArduinoCreateAgent-1.1/config.ini
  • On Windows C:\Users[your user]\AppData\Roaming\ArduinoCreateAgent-1.1

Performing the above actions may help resolve your problem without further help.

Language problem ?

Try a language closer to your native language:

Thanks to all those who helped and added to this list.

As hinted by the warning from the Arduino IDE, the MKRGSM library is not intended to be used with the Arduino Uno board you have selected.

It is intended for use with the Arduino MKR GSM 1400 board.

If you actually have a MKR GSM 1400 board, then make sure to select the correct board from the Arduino IDE's Tools > Board menu.

If you have an Arduino Uno, then you won't be able to use the MKRGSM library. If you tell us what you are trying to accomplish, we can provide advice.

Thank you for your answer.
I have installed and selected the MKRGSM 1400 board from tools->board as you suggested and now it is compiling.
many thanks

You are welcome. I'm glad to hear it is working now. Enjoy!

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