Mange / rofi-emoji

Emoji selector plugin for Rofi
MIT License
555 stars 26 forks source link

Can't install on ubuntu 22.04 LTS with all package installed. #74

Open PoutineSyropErable opened 3 months ago

PoutineSyropErable commented 3 months ago
sudo apt install xsel xclip copyq wl-clipboard xdotool wtyp 
sudo apt install rofi-dev autoconf automake libtool-bin libtool

(Works)

cd /home/username/Downloads/rofi-emoji-master 
autoreconf -i
mkdir build
cd build/
../configure
make
sudo make install

gives:

mkdir: cannot create directory ‘build’: File exists checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for a race-free mkdir -p... /usr/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking whether make supports nested variables... yes checking whether make supports nested variables... (cached) yes checking for clang... no checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether the compiler supports GNU C... yes checking whether gcc accepts -g... yes checking for gcc option to enable C11 features... none needed checking whether gcc understands -c and -o together... yes checking whether make supports the include directive... yes (GNU style) checking dependency style of gcc... gcc3 checking for stdio.h... yes checking for stdlib.h... yes checking for string.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for strings.h... yes checking for sys/stat.h... yes checking for sys/types.h... yes checking for unistd.h... yes checking for wchar.h... yes checking for minix/config.h... no checking whether it is safe to define EXTENSIONS... yes checking whether _XOPEN_SOURCE should be defined... no checking for ar... ar checking the archiver (ar) interface... ar checking for pkg-config... /usr/bin/pkg-config checking pkg-config is at least version 0.9.0... yes checking for glib... yes checking for cairo... yes checking for rofi... yes checking for CHECK... no checking build system type... x86_64-pc-linux-gnu checking host system type... x86_64-pc-linux-gnu checking how to print strings... printf checking for a sed that does not truncate output... /usr/bin/sed checking for grep that handles long lines and -e... /usr/bin/grep checking for egrep... /usr/bin/grep -E checking for fgrep... /usr/bin/grep -F checking for ld used by gcc... /usr/bin/ld checking if the linker (/usr/bin/ld) is GNU ld... yes checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B checking the name lister (/usr/bin/nm -B) interface... BSD nm checking whether ln -s works... yes checking the maximum length of command line arguments... 1572864 checking how to convert x86_64-pc-linux-gnu file names to x86_64-pc-linux-gnu format... func_convert_file_noop checking how to convert x86_64-pc-linux-gnu file names to toolchain format... func_convert_file_noop checking for /usr/bin/ld option to reload object files... -r checking for objdump... objdump checking how to recognize dependent libraries... pass_all checking for dlltool... no checking how to associate runtime and link libraries... printf %s\n checking for archiver @FILE support... @ checking for strip... strip checking for ranlib... ranlib checking command to parse /usr/bin/nm -B output from gcc object... ok checking for sysroot... no checking for a working dd... /usr/bin/dd checking how to truncate binary pipes... /usr/bin/dd bs=4096 count=1 checking for mt... mt checking if mt is a manifest tool... no checking for dlfcn.h... yes checking for objdir... .libs checking if gcc supports -fno-rtti -fno-exceptions... no checking for gcc option to produce PIC... -fPIC -DPIC checking if gcc PIC flag -fPIC -DPIC works... yes checking if gcc static flag -static works... yes checking if gcc supports -c -o file.o... yes checking if gcc supports -c -o file.o... (cached) yes checking whether the gcc linker (/usr/bin/ld -m elf_x86_64) supports shared libraries... yes checking whether -lc should be explicitly linked in... no checking dynamic linker characteristics... GNU/Linux ld.so checking how to hardcode library paths into programs... immediate checking whether stripping libraries is possible... yes checking if libtool supports shared libraries... yes checking whether to build shared libraries... yes checking whether to build static libraries... no checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating config.h config.status: config.h is unchanged config.status: executing depfiles commands config.status: executing libtool commands make all-am make[1]: Entering directory '/home/username/Downloads/rofi-emoji-master/build' CC src/emoji_la-plugin.lo ../src/plugin.c:300:6: error: ‘Mode’ {aka ‘struct rofi_mode’} has no member named ‘type’ 300 | .type = MODE_TYPE_SWITCHER, | ^~~~ ../src/plugin.c:300:13: error: ‘MODE_TYPE_SWITCHER’ undeclared here (not in a function) 300 | .type = MODE_TYPE_SWITCHER, | ^~~~~~ ../src/plugin.c:310:6: error: ‘Mode’ {aka ‘struct rofi_mode’} has no member named ‘_completer_result’ 310 | ._completer_result = NULL, | ^~~~~ make[1]: [Makefile:934: src/emoji_la-plugin.lo] Error 1 make[1]: Leaving directory '/home/username/Downloads/rofi-emoji-master/build' make: [Makefile:637: all] Error 2 CC src/emoji_la-plugin.lo ../src/plugin.c:300:6: error: ‘Mode’ {aka ‘struct rofi_mode’} has no member named ‘type’ 300 | .type = MODE_TYPE_SWITCHER, | ^~~~ ../src/plugin.c:300:13: error: ‘MODE_TYPE_SWITCHER’ undeclared here (not in a function) 300 | .type = MODE_TYPE_SWITCHER, | ^~~~~~ ../src/plugin.c:310:6: error: ‘Mode’ {aka ‘struct rofi_mode’} has no member named ‘_completer_result’ 310 | ._completer_result = NULL, | ^~~~~ make: *** [Makefile:934: src/emoji_la-plugin.lo] Error 1 f

mghalix commented 3 months ago

I have the same issue

merazi commented 3 months ago

I have the same issue on Debian 12.

$ make
make  all-am
make[1]: Entering directory '/media/jose/hard_drive/Code/rofi-emoji/build'
  CC       src/emoji_la-emoji.lo
  CC       src/emoji_la-utils.lo
  CC       src/emoji_la-loader.lo
  CC       src/emoji_la-formatter.lo
  CC       src/emoji_la-menu.lo
  CC       src/emoji_la-search.lo
  CC       src/emoji_la-actions.lo
  CC       src/emoji_la-plugin.lo
../src/plugin.c:300:6: error: 'Mode' {aka 'struct rofi_mode'} has no member named 'type'
  300 |     .type = MODE_TYPE_SWITCHER,
      |      ^~~~
../src/plugin.c:300:13: error: 'MODE_TYPE_SWITCHER' undeclared here (not in a function)
  300 |     .type = MODE_TYPE_SWITCHER,
      |             ^~~~~~~~~~~~~~~~~~
../src/plugin.c:310:6: error: 'Mode' {aka 'struct rofi_mode'} has no member named '_completer_result'
  310 |     ._completer_result = NULL,
      |      ^~~~~~~~~~~~~~~~~
make[1]: *** [Makefile:935: src/emoji_la-plugin.lo] Error 1
make[1]: Leaving directory '/media/jose/hard_drive/Code/rofi-emoji/build'
make: *** [Makefile:638: all] Error 2
PoutineSyropErable commented 3 months ago

Did you try ..configure to see the needed stuff. Also, you can build it yourself. It's just a bitch to find all the libraries.

Personally, ChatGpt really helped to find the lib name. Stuff thats hard to google especially with how shit google is nowadays.

Mange commented 3 months ago

Looks like you are using the wrong version of this lib against the wrong version of Rofi. Did you check the readme about which version you should compile against the Rofi you are using?

[EDIT:] To add more context, Rofi master has some breaking changes in it, which will require a major version release when it is released. It's been years since the last release.

image

mghalix commented 1 month ago

I have the same issue

I solved it by just downloading the source code of this version then running the usual commands

autoreconf -i
mkdir build
cd build/
../configure
make
sudo make install

try this out.

PoutineSyropErable commented 1 month ago

Yeah i had such a pain on most compiling on ubuntu im on arch now. thanks, hope it helps the next guys