Skip to content

unresolved symbol: app_indicator_new on Fedora #68

@sblantipodi

Description

@sblantipodi

Please agree to the following

Summary

Simple code sample on the wiki throws an exception.

What software is involved?

Fedora 41

libayatana-appindicator-gtk2      0.5.93-6.fc41                                                                     
 libayatana-appindicator-gtk3     0.5.93-6.fc41                                                                     

OpenJDK 23

Classifier

libappindicator-full

Steps to Reproduce

I added this code to my Java FX app.

public void initTray() {
        try (var arena = Arena.ofConfined()) {
            var arenaAuto = Arena.ofAuto();
            var indicator = AppIndicator.newIndicator("example-simple-client",
                    "indicator-message",
                    APP_INDICATOR_CATEGORY_APPLICATION_STATUS());
            var gtkSeparator = Gtk.newMenuItem();
            var gtkMenu = Gtk.newMenu();
            var gtkSubmenu = Gtk.newMenu();
            var gtkMenuItem = Gtk.newMenuItem();
            Gtk.menuItemSetLabel(gtkMenuItem, "More");
            var gtkSMenuItem = Gtk.newMenuItem();
            Gtk.menuItemSetLabel(gtkSMenuItem, "Change icon");
            var gtkSMenuItem1 = Gtk.newMenuItem();
            Gtk.menuItemSetLabel(gtkSMenuItem1, "Quit");
            Gtk.menuShellAppend(gtkSubmenu, gtkSMenuItem);
            Gtk.menuShellAppend(gtkSubmenu, gtkSeparator);
            Gtk.menuShellAppend(gtkSubmenu, gtkSMenuItem1);
            Gtk.menuItemSetSubmenu(gtkMenuItem, gtkSubmenu);
//            GObject.signalConnectObject(gtkSMenuItem1, "activate", GCallback.allocate(new QuitCallback(), arenaAuto), gtkMenu, 0);
//            GObject.signalConnectObject(gtkSMenuItem, "activate", GCallback.allocate(new ChangeIconCallback(indicator), arenaAuto), gtkMenu, 0);
            Gtk.menuShellAppend(gtkMenu, gtkMenuItem);
            Gtk.widgetShowAll(gtkMenu);
            AppIndicator.setMenu(indicator, gtkMenu);
            AppIndicator.setAttentionIcon(indicator, "indicator-messages-new");
            AppIndicator.setStatus(indicator, APP_INDICATOR_STATUS_ACTIVE());
        }
}

Expected Behavior

tray icon working

Actual Behavior

exception is thrown

Reproducibility

Always

Relevant Log Output

Exception in Application start method
Exception in thread "main" java.lang.RuntimeException: Exception in Application start method
	at javafx.graphics@23/com.sun.javafx.application.LauncherImpl.launchApplication1(LauncherImpl.java:893)
	at javafx.graphics@23/com.sun.javafx.application.LauncherImpl.lambda$launchApplication$2(LauncherImpl.java:196)
	at java.base/java.lang.Thread.run(Thread.java:1575)
Caused by: java.lang.UnsatisfiedLinkError: unresolved symbol: app_indicator_new
	at [email protected]/org.purejava.appindicator.app_indicator_h_21.lambda$findOrThrow$0(app_indicator_h_21.java:33)
	at java.base/java.util.Optional.orElseThrow(Optional.java:403)
	at [email protected]/org.purejava.appindicator.app_indicator_h_21.findOrThrow(app_indicator_h_21.java:33)
	at [email protected]/org.purejava.appindicator.app_indicator_h_1$app_indicator_new.<clinit>(app_indicator_h_1.java:1467)
	at [email protected]/org.purejava.appindicator.app_indicator_h_1.app_indicator_new(app_indicator_h_1.java:1496)
	at [email protected]/org.purejava.appindicator.AppIndicator.newIndicator(AppIndicator.java:81)
	at org.dpsoftware/org.dpsoftware.gui.TrayIconManager.initTray(TrayIconManager.java:242)
	at org.dpsoftware/org.dpsoftware.FireflyLuciferin.start(FireflyLuciferin.java:261)
	at javafx.graphics@23/com.sun.javafx.application.LauncherImpl.lambda$launchApplication1$9(LauncherImpl.java:839)
	at javafx.graphics@23/com.sun.javafx.application.PlatformImpl.lambda$runAndWait$12(PlatformImpl.java:483)
	at javafx.graphics@23/com.sun.javafx.application.PlatformImpl.lambda$runLater$10(PlatformImpl.java:456)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:400)
	at javafx.graphics@23/com.sun.javafx.application.PlatformImpl.lambda$runLater$11(PlatformImpl.java:455)
	at javafx.graphics@23/com.sun.glass.ui.InvokeLaterDispatcher$Future.run(InvokeLaterDispatcher.java:95)
	at javafx.graphics@23/com.sun.glass.ui.gtk.GtkApplication._runLoop(Native Method)
	at javafx.graphics@23/com.sun.glass.ui.gtk.GtkApplication.lambda$runLoop$10(GtkApplication.java:264)
	... 1 more

Anything else?

am I doing something wrong?

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't working

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions