marvinkreis / rofi-file-browser-extended

Use rofi to quickly open files
MIT License
240 stars 15 forks source link

Undefined symbol `cairo_image_surface_create_from_svg` preventing plugin use. #30

Closed Poroing closed 3 years ago

Poroing commented 3 years ago

When running rofi, through the commands rofi -show file-browser or rofi (I didn't try any other commands), rofi issues a warning:

(process:82098): Rofi-WARNING **: 17:03:20.891: Failed to open 'mode' plugin: 'filebrowser.so',
error: /usr/lib/rofi/filebrowser.so: undefined symbol: cairo_image_surface_create_from_svg

This prevent me from using the plugin.

I installed rofi-file-browser-extended through the AUR package. I am on ArchLinux and my distribution is up to date. I rebooted my computer after installing the package. I made sure that the shared library filebrowser.so is correctly linked with each library. This is the link command executed (obtained by going in ~/.cache/pikaur/src/rofi-file-browser-extended and running make clean; make VERBOSE=1) (linebreaks have been added for readability) :

/usr/bin/cc -fPIC -D_FORTIFY_SOURCE=2 -march=x86-64 -mtune=generic -O2 -pipe -fno-plt
-Wl,-O1,--sort-common,--as-needed,-z,relro,-z,now -shared -Wl,-soname,filebrowser.so -o filebrowser.so
CMakeFiles/filebrowser.dir/src/cmds.c.o CMakeFiles/filebrowser.dir/src/filebrowser.c.o
CMakeFiles/filebrowser.dir/src/files.c.o CMakeFiles/filebrowser.dir/src/icons.c.o
CMakeFiles/filebrowser.dir/src/keys.c.o CMakeFiles/filebrowser.dir/src/options.c.o
CMakeFiles/filebrowser.dir/src/util.c.o
-lglib-2.0 -lcairo -lgtk-3 -lgdk-3 -lz -lpangocairo-1.0 -lpango-1.0 -lharfbuzz -latk-1.0 -lcairo-gobject
-lcairo -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 -lglib-2.0 -lcairo -lgtk-3 -lgdk-3 -lz -lpangocairo-1.0
-lpango-1.0 -lharfbuzz -latk-1.0 -lcairo-gobject -lgdk_pixbuf-2.0 -lgio-2.0 -lgobject-2.0 

EDIT: The version of the relevant packages on my distribution :

abatkin commented 3 years ago

It appears that cairo_image_surface_create_from_svg was removed from rofi, though the definition in the header was not, so the code still compiles. (see: https://github.com/davatorium/rofi/commit/deb1e6a2083609a24a8030f5c09877ccdfe27339)

marvinkreis commented 3 years ago

This should be fixed with the latest release. Thanks for the input!