Skip to content

Temporary ABI incompatibility between plugins built for upstream rofi and rofi-wayland #298539

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Closed
myned opened this issue Mar 24, 2024 · 6 comments
Labels
0.kind: bug Something is broken

Comments

@myned
Copy link

myned commented Mar 24, 2024

Describe the bug

Plugins that are built for release rofi (1.7.5) are ABI incompatible with rofi-wayland (1.7.5+wayland2/3) until the next upstream release, resulting in runtime errors when attempting to run rofi with those plugins enabled (namely rofi-calc):

(process:124485): Rofi-WARNING **: 23:02:32.891: ABI version of plugin: 'calc.so' does not match: 00000006 expecting: 00000007

Those plugins need to be built against rofi-wayland instead of upstream rofi. This can be worked around in nixpkgs by overriding the rofi-unwrapped package in the plugin module:

(pkgs.rofi-calc.override {
  rofi-unwrapped = rofi-wayland-unwrapped;
})

Steps To Reproduce

  1. Build rofi-wayland with rofi-calc plugin (overlay or home-manager)
  2. Execute rofi -modes calc -show calc in terminal
  3. Observe error message "Mode calc is not found." with above warning printed in terminal

Expected behavior

  1. Observe rofi-calc operating normally

Additional context

This is more a reference for those encountering the bug than an actionable issue.

The incompatibility should only last until the next rofi release, but something of this nature that requires different build inputs for plugins may occur again in the future considering that rofi-wayland strays behind upstream by design. In which case, anything that can be done through nixpkgs would be welcome, though home-manager seems like it would be the best place to handle that as it already exposes options for plugins.

Notify maintainers

rofi(-wayland): @bew
rofi-calc: @luc65r @albakham

Metadata

[user@system:~]$ nix-shell -p nix-info --run "nix-info -m"
 - system: `"x86_64-linux"`
 - host os: `Linux 6.8.0-zen1, NixOS, 24.05 (Uakari), 24.05.20240323.44d0940`
 - multi-user?: `yes`
 - sandbox: `yes`
 - version: `nix-env (Nix) 2.18.2`
 - nixpkgs: `/nix/store/amxd2p02wx78nyaa4bkb0hjvgwhz1dq7-source`

Add a 👍 reaction to issues you find important.

@myned myned added the 0.kind: bug Something is broken label Mar 24, 2024
@BbIXOD
Copy link

BbIXOD commented Apr 3, 2024

Can I do something on distro other than NixOS or it is better just to wait?

@myned
Copy link
Author

myned commented Apr 3, 2024

For other distros, you can build rofi-calc from source using rofi-wayland headers, or probably downgrade rofi-wayland to version 1.7.5+wayland1, but the latter is untested and you may run into other issues that are fixed with recent versions.

@BbIXOD BbIXOD mentioned this issue Apr 4, 2024
2 tasks
@sdaqo

This comment has been minimized.

@myned
Copy link
Author

myned commented Jul 3, 2024

@sdaqo

A collision is likely due to different derivations of rofi being used in your configuration, which is not this issue:

/nix/store/yi64...-rofi-1.7.5+wayland3/bin/rofi
/nix/store/sr361...-rofi-1.7.5+wayland3/bin/rofi

In this case, you may have references to pkgs.rofi-wayland that are not overridden to include plugins. I use the home-manager options instead of overrides myself, so I may be reading the situation incorrectly.

@nixos-discourse
Copy link

This issue has been mentioned on NixOS Discourse. There might be relevant details there:

https://discourse.nixos.org/t/rofi-calc-not-working-with-rofi-wayland/51301/2

@myned
Copy link
Author

myned commented Feb 8, 2025

This issue has mostly been fixed by the rofi-wayland 1.7.7+wayland1 release in unstable, so this can be closed if preemptive measures are not planned for nixpkgs.

@myned myned closed this as completed Feb 8, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
0.kind: bug Something is broken
Projects
None yet
Development

No branches or pull requests

4 participants