arduino / arduino/Arduino

Cannot use upstream libastyle

Open
#5,538 4 comments 0 reactions 0 assignees View on GitHub
feature request
Dominant language
Java
Stars
14.6k
Forks
7k
PR merge metrics
No merged PRs in 30d

Description

I cannot use the upstream libastyle library of archlinux like this:

```
sudo cp /usr/lib/libastyle-2.05.1.so /usr/share/arduino/lib/libastylej.so
```

However I am wondering why as opensuse for example also had those patches:
https://build.opensuse.org/package/view_file/CrossToolchain:avr/Arduino/0004-libastylej-is-in-usr-lib.patch?expand=1

The error I get inside the IDE if i press `ctrl+t`:

```
Exception in thread "AWT-EventQueue-0" java.lang.UnsatisfiedLinkError: cc.arduino.packages.formatter.AStyleInterface.AStyleMain(Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;
at cc.arduino.packages.formatter.AStyleInterface.AStyleMain(Native Method)
at cc.arduino.packages.formatter.AStyle.run(AStyle.java:80)
at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:311)
at java.awt.EventQueue.dispatchEventImpl(EventQueue.java:756)
at java.awt.EventQueue.access$500(EventQueue.java:97)
at java.awt.EventQueue$3.run(EventQueue.java:709)
at java.awt.EventQueue$3.run(EventQueue.java:703)
at java.security.AccessController.doPrivileged(Native Method)
at java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:80)
at java.awt.EventQueue.dispatchEvent(EventQueue.java:726)
at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:201)
at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:116)
at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:105)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:93)
at java.awt.EventDispatchThread.run(EventDispatchThread.java:82)
```

I also has similar issues with ctags or liblistserial. Could you please provide some help why those upstream binaries dont work and how to patch them?

Contributor guide

Open the contributing guide

Research direction

Start with the Ctrl+T path in cc.arduino.packages.formatter.AStyleInterface and AStyle.java, then compare the Arch Linux libastyle installation with the linked openSUSE patch. Reproduce the UnsatisfiedLinkError and investigate whether the upstream libastyle, ctags, and liblistserial binaries expose the interfaces expected by the IDE.

Written by the indexing model from the issue text.

Assessment

Tech stack
java
Domain
desktop, tooling
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.