Skip to content

Incompatible architecture warning uses incorrect library name #1731

@per1234

Description

@per1234
Contributor

Using Arduino IDE 1.9.0 Beta build 58 and Arduino IDE 1.8.6 Hourly Build 2018-05-15 10:41

  1. File > Preferences > Show verbose output during: > compilation (check) > OK
  2. Tools > Board > Arduino/Genuino Zero
  3. Compile the following sketch:
    #include <ArduinoRobotMotorBoard.h>
    void setup() {}
    void loop() {}

The console displays the following warning:

WARNING: library Robot_Motor claims to run on (avr) architecture(s) and may be incompatible with your current board which runs on (samd) architecture(s).

and

Compiling library "Robot_Motor"

and

Using library Robot_Motor at version 1.0.3 in folder: C:\Program Files (x86)\ArduinoIDE\arduino-PR-beta1.9-BUILD-58\libraries\Robot_Motor 

But the name value defined in library.properties for this library is Robot Motor. The "Robot_Motor" in the warning is the library folder name.

I realize the difference between the two is not very dramatic in this demonstration. I chose this library because Robot Motor library is bundled with the Arduino IDE so it provides a minimal demonstration of the issue. The issue is more noticeable with other libraries where the folder name differs more significantly from the name value.

The Arduino IDE uses the name value whenever referring to a library (including the invalid category warning shown in the console) so this causes an inconsistent user experience.

Two of these messages are already using information from library.properties so I can't imagine it would be too difficult to use the name value as well (falling back on the folder name when a library.properties file is absent).

Activity

facchinm

facchinm commented on May 17, 2018

@facchinm
Member

@per1234 thanks for noticing, the name being printed is the one used internally (no whitespace and some other small cosmetic stuff based on the containing folder).
Could something like this facchinm/arduino-builder@c20627e work? (of course, in all the mayor places and not only on the "incompatible" string)

matthijskooijman

matthijskooijman commented on May 17, 2018

@matthijskooijman
Collaborator

Sounds good to me. Since we're already printing a list of used libraries with their full paths at the end of the compilation, it doesn't seem relevant to use the folder name in all debug output (you can map the fancy names to folders using that list printed at the end).

Would it make sense to have a method to retrieve the fancy name (and default to the the regular name if unset), or perhaps set RealName to Name when loading if the former is unset to prevent duplicating this defaulting in a bunch of places?

e-ika

e-ika commented on Sep 6, 2018

@e-ika
changed the title [-]arduino-builder doesn't refer to libraries by their library.properties name value[/-] [+]Incompatible architecture warning uses incorrect library name[/+] on May 12, 2022
per1234

per1234 commented on Sep 27, 2022

@per1234
ContributorAuthor

Fixed by #1878

assigned and unassigned on Sep 27, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

    Development

    No branches or pull requests

      Participants

      @matthijskooijman@per1234@facchinm@umbynos@e-ika

      Issue actions

        Incompatible architecture warning uses incorrect library name · Issue #1731 · arduino/arduino-cli