kwk302
March 25, 2023, 2:46am
1
I have a new Acer amd64 Chromebook based on Debian 11 Bullseye. As similar users know, libappindicator3.so.1 is needed to install Arduino Create Agent, but it is no longer supported by the Debian 11 Bullseye version of Linux. None of the work-arounds work for me. Please build a version with a compatible library. Thanks.
Hi @kwk302 . The Arduino Create Agent developers are tracking the issue here:
opened 07:52PM - 16 Aug 21 UTC
os: linux
topic: infrastructure
type: imperfection
## Bug Report
### Describe the bug
"The deprecated libappindicator libraries… are no longer provided" in Debian 11 (bullseye)", see [Chapter 5. Issues to be aware of for bullseye](https://www.debian.org/releases/bullseye/amd64/release-notes/ch-information.en.html#noteworthy-obsolete-packages).
This leads to "error while loading shared libraries: libappindicator3.so.1: cannot open shared object file: No such file or directory" when trying to run the agent.
### To Reproduce
```
$ curl -O https://github.com/arduino/arduino-create-agent/releases/download/1.2.3/ArduinoCreateAgent-1.2.3-linux-amd64-installer-firefox.run
$ chmod u+x ArduinoCreateAgent-1.2.3-linux-amd64-installer-firefox.run
$ ./ArduinoCreateAgent-1.2.3-linux-amd64-installer-firefox.run
```
Complete GUI installation
Note output in terminal
### Expected behavior
Arduino Create Agent should run without problems.
## Environment (please complete the following information):
- OS: Debian
- OS version: 11 (bullseye)
- Browser: Firefox
- Browser Version: 91
- Agent Version: 1.2.3
- CPU architecture: amd64
## Additional context
No problems on Arch Linux, Fedora 34 or Ubuntu 21.04.
If you have a GitHub account, you can subscribe to that issue to get notifications of any new developments related to this subject.
There is already a proposed fix:
arduino:main
← arduino:umbynos/fyne_io
opened 03:33PM - 27 Jul 22 UTC
**Please check if the PR fulfills these requirements**
- [X] The PR has no du… plicates (please search among the [Pull Requests](https://github.com/arduino/arduino-create-agent/pulls)
before creating one)
- [ ] Tests for the changes have been added (for bug fixes / features)
* **What kind of change does this PR introduce?**
library change + infra enhancements
- **What is the current behavior?**
We currently use [systray](www.github.com/getlantern/systray) to interact with tray bar. On linux this requires libappindicator3 to work ([v1.1.0](https://github.com/getlantern/systray/tree/v1.1.0#linux)). This library is old and deprecated. See [debian release notes](https://www.debian.org/releases/bullseye/amd64/release-notes/ch-information.en.html#noteworthy-obsolete-packages):
>The deprecated libappindicator libraries are no longer provided. As a result, the related packages libappindicator1, libappindicator3-1 and libappindicator-dev are no longer available. This is expected to cause dependency errors for third-party software that still depends on libappindicator to provide system tray and indicator support.
Debian is using libayatana-appindicator as the successor of libappindicator. For technical background see [this announcement](https://lists.debian.org/debian-devel/2018/03/msg00506.html).
* **What is the new behavior?**
The new library is libayatana-appindicator which is supported by systray starting from version [1.2.0](https://github.com/getlantern/systray/tree/v1.2.0#linux). But there seems to be problems with that version of the lib. See https://github.com/getlantern/systray/issues/191#issuecomment-1118329060. Using the fork https://github.com/fyne-io/systray seems to be a better alternative for various reasons:
1. there are no lib dependencies to install and to link against during the `go build`
2. the new lib allows starting the binary even if there is no GUI. The binary prints this message but starts nonetheless:
`systray error: failed to register our icon with the notifier watcher (maybe no tray is running?): The name org.kde.StatusNotifierWatcher was not provided by any .service files`. So we do not need the `arduino_create_agent-cli` version anymore.
3. the first point allows us to build statically the agent, allowing it to run on almost everything:
```
ldd Arduino_Create_Agent
linux-vdso.so.1 (0x00007fffb31f1000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f087db2f000)
libappindicator3.so.1 => /usr/lib/x86_64-linux-gnu/libappindicator3.so.1 (0x00007f087d922000)
libgtk-3.so.0 => /usr/lib/x86_64-linux-gnu/libgtk-3.so.0 (0x00007f087d01a000)
libgobject-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgobject-2.0.so.0 (0x00007f087cdc6000)
libglib-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libglib-2.0.so.0 (0x00007f087caaf000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f087c6be000)
/lib64/ld-linux-x86-64.so.2 (0x00007f087dd4e000)
libindicator3.so.7 => /usr/lib/x86_64-linux-gnu/libindicator3.so.7 (0x00007f087c4ac000)
libdbusmenu-gtk3.so.4 => /usr/lib/x86_64-linux-gnu/libdbusmenu-gtk3.so.4 (0x00007f087c298000)
libdbusmenu-glib.so.4 => /usr/lib/x86_64-linux-gnu/libdbusmenu-glib.so.4 (0x00007f087c07c000)
libgdk-3.so.0 => /usr/lib/x86_64-linux-gnu/libgdk-3.so.0 (0x00007f087bd86000)
libgio-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgio-2.0.so.0 (0x00007f087b9e7000)
libgmodule-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgmodule-2.0.so.0 (0x00007f087b7e3000)
libpangocairo-1.0.so.0 => /usr/lib/x86_64-linux-gnu/libpangocairo-1.0.so.0 (0x00007f087b5d6000)
libX11.so.6 => /usr/lib/x86_64-linux-gnu/libX11.so.6 (0x00007f087b29e000)
libXi.so.6 => /usr/lib/x86_64-linux-gnu/libXi.so.6 (0x00007f087b08e000)
libXfixes.so.3 => /usr/lib/x86_64-linux-gnu/libXfixes.so.3 (0x00007f087ae88000)
libcairo-gobject.so.2 => /usr/lib/x86_64-linux-gnu/libcairo-gobject.so.2 (0x00007f087ac7f000)
libcairo.so.2 => /usr/lib/x86_64-linux-gnu/libcairo.so.2 (0x00007f087a962000)
libgdk_pixbuf-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libgdk_pixbuf-2.0.so.0 (0x00007f087a73e000)
libatk-1.0.so.0 => /usr/lib/x86_64-linux-gnu/libatk-1.0.so.0 (0x00007f087a518000)
libatk-bridge-2.0.so.0 => /usr/lib/x86_64-linux-gnu/libatk-bridge-2.0.so.0 (0x00007f087a2e7000)
libepoxy.so.0 => /usr/lib/x86_64-linux-gnu/libepoxy.so.0 (0x00007f0879fe6000)
libpangoft2-1.0.so.0 => /usr/lib/x86_64-linux-gnu/libpangoft2-1.0.so.0 (0x00007f0879dd0000)
libpango-1.0.so.0 => /usr/lib/x86_64-linux-gnu/libpango-1.0.so.0 (0x00007f0879b83000)
libfontconfig.so.1 => /usr/lib/x86_64-linux-gnu/libfontconfig.so.1 (0x00007f087993e000)
libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f08795a0000)
libffi.so.6 => /usr/lib/x86_64-linux-gnu/libffi.so.6 (0x00007f0879398000)
libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 (0x00007f0879127000)
libXinerama.so.1 => /usr/lib/x86_64-linux-gnu/libXinerama.so.1 (0x00007f0878f24000)
libXrandr.so.2 => /usr/lib/x86_64-linux-gnu/libXrandr.so.2 (0x00007f0878d19000)
libXcursor.so.1 => /usr/lib/x86_64-linux-gnu/libXcursor.so.1 (0x00007f0878b0f000)
libXcomposite.so.1 => /usr/lib/x86_64-linux-gnu/libXcomposite.so.1 (0x00007f087890c000)
libXdamage.so.1 => /usr/lib/x86_64-linux-gnu/libXdamage.so.1 (0x00007f0878709000)
libxkbcommon.so.0 => /usr/lib/x86_64-linux-gnu/libxkbcommon.so.0 (0x00007f08784ca000)
libwayland-cursor.so.0 => /usr/lib/x86_64-linux-gnu/libwayland-cursor.so.0 (0x00007f08782c2000)
libwayland-egl.so.1 => /usr/lib/x86_64-linux-gnu/libwayland-egl.so.1 (0x00007f08780c0000)
libwayland-client.so.0 => /usr/lib/x86_64-linux-gnu/libwayland-client.so.0 (0x00007f0877eb1000)
libXext.so.6 => /usr/lib/x86_64-linux-gnu/libXext.so.6 (0x00007f0877c9f000)
librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f0877a97000)
libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f087787a000)
libselinux.so.1 => /lib/x86_64-linux-gnu/libselinux.so.1 (0x00007f0877652000)
libresolv.so.2 => /lib/x86_64-linux-gnu/libresolv.so.2 (0x00007f0877438000)
libmount.so.1 => /lib/x86_64-linux-gnu/libmount.so.1 (0x00007f08771e4000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f0876fe0000)
libfreetype.so.6 => /usr/lib/x86_64-linux-gnu/libfreetype.so.6 (0x00007f0876d2c000)
libxcb.so.1 => /usr/lib/x86_64-linux-gnu/libxcb.so.1 (0x00007f0876b04000)
libpixman-1.so.0 => /usr/lib/x86_64-linux-gnu/libpixman-1.so.0 (0x00007f087685f000)
libpng16.so.16 => /usr/lib/x86_64-linux-gnu/libpng16.so.16 (0x00007f087662d000)
libxcb-shm.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-shm.so.0 (0x00007f087642a000)
libxcb-render.so.0 => /usr/lib/x86_64-linux-gnu/libxcb-render.so.0 (0x00007f087621d000)
libXrender.so.1 => /usr/lib/x86_64-linux-gnu/libXrender.so.1 (0x00007f0876013000)
libdbus-1.so.3 => /lib/x86_64-linux-gnu/libdbus-1.so.3 (0x00007f0875dc6000)
libatspi.so.0 => /usr/lib/x86_64-linux-gnu/libatspi.so.0 (0x00007f0875b96000)
libharfbuzz.so.0 => /usr/lib/x86_64-linux-gnu/libharfbuzz.so.0 (0x00007f08758f8000)
libthai.so.0 => /usr/lib/x86_64-linux-gnu/libthai.so.0 (0x00007f08756ef000)
libexpat.so.1 => /lib/x86_64-linux-gnu/libexpat.so.1 (0x00007f08754bd000)
libblkid.so.1 => /lib/x86_64-linux-gnu/libblkid.so.1 (0x00007f0875270000)
libXau.so.6 => /usr/lib/x86_64-linux-gnu/libXau.so.6 (0x00007f087506c000)
libXdmcp.so.6 => /usr/lib/x86_64-linux-gnu/libXdmcp.so.6 (0x00007f0874e66000)
libsystemd.so.0 => /lib/x86_64-linux-gnu/libsystemd.so.0 (0x00007f0874be2000)
libgraphite2.so.3 => /usr/lib/x86_64-linux-gnu/libgraphite2.so.3 (0x00007f08749b5000)
libdatrie.so.1 => /usr/lib/x86_64-linux-gnu/libdatrie.so.1 (0x00007f08747ae000)
libuuid.so.1 => /lib/x86_64-linux-gnu/libuuid.so.1 (0x00007f08745a7000)
libbsd.so.0 => /lib/x86_64-linux-gnu/libbsd.so.0 (0x00007f0874392000)
liblzma.so.5 => /lib/x86_64-linux-gnu/liblzma.so.5 (0x00007f087416c000)
liblz4.so.1 => /usr/lib/x86_64-linux-gnu/liblz4.so.1 (0x00007f0873f50000)
libgcrypt.so.20 => /lib/x86_64-linux-gnu/libgcrypt.so.20 (0x00007f0873c34000)
libgpg-error.so.0 => /lib/x86_64-linux-gnu/libgpg-error.so.0 (0x00007f0873a1f000)
```
vs
```
ldd arduino-create-agent
not a dynamic executable
```
- **Does this PR introduce a breaking change?**
no
* **Other information**:
system
Closed
September 21, 2023, 3:18am
3
This topic was automatically closed 180 days after the last reply. New replies are no longer allowed.