falsovsky/FiSH-irssi

same error with new version irssi

Closed this issue · 23 comments

irssi 0.8.19 Irssi: fish/fish is ABI version 1 but Irssi is version 2, cannot load

You have to rebuild FiSH after you upgrade irssi

/root/FiSH-irssi-master/src/inifile.h:4:18: fatal error: glib.h: no such file or directory
compilation terminated.
make[2]: *** [CMakeFiles/fish.dir/inifile.o] Error 1
make[1]: *** [CMakeFiles/fish.dir/all] Error 2
make: *** [all] Error 2

You need to have glib installed...

ok rebuild and reinstalled but error persist
10:50 -!- Irssi: fish/fish is ABI version 0 but Irssi is version 2, cannot load

Install the project...
-- Install configuration: ""
-- Up-to-date: /usr/local/share/doc/FiSH-irssi/README.md
-- Up-to-date: /usr/local/share/doc/FiSH-irssi/FiSH-irssi.txt
-- Up-to-date: /usr/local/lib/irssi/modules/libfish.so

You probably have two llibfish.so installed. One on /usr and aonther on /usr/local, fix that.

fixed in all dir with new lib but error persist

Youre doing something wrong, this problem was fixed months ago.

I'm also running latest irssi and latest fish, and everything works OK.

The problem that is happening is on your side.

Try:

/load /usr/local/lib/irssi/modules/libfish.so

Or explain what youre doing.

mate i have rebuild irssi-0.8.19.tar.gz recompiled FiSH-master and installed all without problem but when try to load libfish.so
irssi do this error
Irssi: fish/fish is ABI version 0 but Irssi is version 2, cannot load

tried to reinstall it on another machine that mistake ...

thanks for your time but maybe something is wrong bo

The problem is on your side, I just build it.

You probably have the includes from TWO irssi versions, one on /usr (maybe from your distribution) and another in /usr/local.

ls -sl /usr/local/include/irssi/irssi-config.h /usr/include/irssi/irssi-config.h

ls -sl /usr/local/include/irssi/irssi-config.h /usr/include/irssi/irssi-config.h
ls: cannot access /usr/include/irssi/irssi-config.h: No such file or directory
8 -rw-r--r-- 1 root staff 4166 Apr 18 11:18 /usr/local/include/irssi/irssi-config.h

You already made something different, on the first message you had.

irssi 0.8.19 Irssi: fish/fish is ABI version 1 but Irssi is version 2, cannot load

And after:

10:50 -!- Irssi: fish/fish is ABI version 0 but Irssi is version 2, cannot load

ls -sl /usr/local/lib/irssi/modules/libfish.so /usr/lib/irssi/modules/libfish.so

ok i have purged all irssi version installed and recompiled source 0.8.1.9 rebuild fish and now i have this error

[ 16%] Building C object src/CMakeFiles/fish.dir/base64.c.o
[ 33%] Building C object src/CMakeFiles/fish.dir/blowfish.c.o
[ 50%] Building C object src/CMakeFiles/fish.dir/inifile.c.o
[ 66%] Building C object src/CMakeFiles/fish.dir/DH1080.c.o
[ 83%] Building C object src/CMakeFiles/fish.dir/FiSH.c.o
In file included from /root/FiSH-irssi-master/src/FiSH.h:9:0,
from /root/FiSH-irssi-master/src/FiSH.c:2:
/root/FiSH-irssi-master/src/module.h:3:26: fatal error: irssi-config.h: No such file or directory
#include <irssi-config.h>

but
locate irssi-config.h
/usr/local/include/irssi/irssi-config.h

You should read what cmake says when you run cmake, please run:

cmake -DIRSSI_PATH:PATH=/usr/local/lib/irssi/ .

And then make again.

root@FiSH ~/FiSH-irssi-master # cmake -DIRSSI_PATH:PATH=/usr/local/lib/irssi/ .
-- Using glib-2.0 2.42.1
-- Using OpenSSL 1.0.1k
-- The module will be installed to /usr/local/lib/irssi/modules
-- You can change it with 'cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr .'
CMake Warning at CMakeLists.txt:46 (MESSAGE):
irssi seems to be installed in /usr and youre installing FiSH to
/usr/local, irssi wont be able to find the plugin there

-- Configuring done
-- Generating done
-- Build files have been written to: /root/FiSH-irssi-master
root@FiSH ~/FiSH-irssi-master # make
[ 16%] Building C object src/CMakeFiles/fish.dir/base64.c.o
[ 33%] Building C object src/CMakeFiles/fish.dir/blowfish.c.o
[ 50%] Building C object src/CMakeFiles/fish.dir/inifile.c.o
[ 66%] Building C object src/CMakeFiles/fish.dir/DH1080.c.o
[ 83%] Building C object src/CMakeFiles/fish.dir/FiSH.c.o
In file included from /root/FiSH-irssi-master/src/FiSH.h:9:0,
from /root/FiSH-irssi-master/src/FiSH.c:2:
/root/FiSH-irssi-master/src/module.h:3:26: fatal error: irssi-config.h: No such file or directory
#include <irssi-config.h>
^
compilation terminated.
src/CMakeFiles/fish.dir/build.make:146: recipe for target 'src/CMakeFiles/fish.dir/FiSH.c.o' failed
make[2]: *** [src/CMakeFiles/fish.dir/FiSH.c.o] Error 1
CMakeFiles/Makefile2:75: recipe for target 'src/CMakeFiles/fish.dir/all' failed
make[1]: *** [src/CMakeFiles/fish.dir/all] Error 2
Makefile:137: recipe for target 'all' failed
make: *** [all] Error 2

CMake Warning at CMakeLists.txt:46 (MESSAGE):
irssi seems to be installed in /usr and youre installing FiSH to
/usr/local, irssi wont be able to find the plugin there

You have irssi files in /usr

root@FiSH ~/FiSH-irssi-master # cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr .
-- Using glib-2.0 2.42.1
-- Using OpenSSL 1.0.1k
-- The module will be installed to /usr/lib/irssi/modules
-- You can change it with 'cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr .'
-- Configuring done
-- Generating done
-- Build files have been written to: /root/FiSH-irssi-master
root@FiSH ~/FiSH-irssi-master # make
[ 16%] Building C object src/CMakeFiles/fish.dir/FiSH.c.o
In file included from /root/FiSH-irssi-master/src/FiSH.h:9:0,
from /root/FiSH-irssi-master/src/FiSH.c:2:
/root/FiSH-irssi-master/src/module.h:3:26: fatal error: irssi-config.h: No such file or directory
#include <irssi-config.h>
^
compilation terminated.
src/CMakeFiles/fish.dir/build.make:146: recipe for target 'src/CMakeFiles/fish.dir/FiSH.c.o' failed
make[2]: *** [src/CMakeFiles/fish.dir/FiSH.c.o] Error 1
CMakeFiles/Makefile2:75: recipe for target 'src/CMakeFiles/fish.dir/all' failed
make[1]: *** [src/CMakeFiles/fish.dir/all] Error 2
Makefile:137: recipe for target 'all' failed
make: *** [all] Error 2

You seem to have something really borked on your system.

Please tell me which distribution are you using and which irssi version (from packages or source)

So that I can test it myself.

Debian GNU/Linux 7.10

irssi 0.8.19 (20160323 0008)

How was irssi installed ?

from source taken from the site

From this then https://github.com/irssi/irssi/releases/download/0.8.19/irssi-0.8.19.tar.gz ?

Im installing that Debian version on a VM, and im going to try it myself.

apt-get install build-essential cmake git libglib2.0-dev libssl-dev libncurses5-dev libperl-dev

falso@fish:$ mkdir src
falso@fish:
$ cd src/
falso@fish:~/src$ wget https://github.com/irssi/irssi/releases/download/0.8.19/irssi-0.8.19.tar.gz
...

falso@fish:~/src$ tar zxfv irssi-0.8.19.tar.gz
...

falso@fish:/src$ cd irssi-0.8.19/
falso@fish:
/src/irssi-0.8.19$ ./configure --enable-true-color
...

Building text frontend ........... : yes, using terminfo
Building irssi bot ............... : no
Building irssi proxy ............. : no
Building with module support ..... : yes
Building with Perl support ....... : static (in irssi binary)
Perl library directory ........... : (site default - /usr/local/lib/perl/5.14.2)
Install prefix ................... : /usr/local

Building with IPv6 support ....... : yes
Building with SSL support ........ : yes
Building with 64bit DCC support .. : yes
Building with DANE support ....... : no
Building with true color support.. : yes
If there are any problems, read the INSTALL file.

falso@fish:~/src/irssi-0.8.19$ make
...

falso@fish:~/src/irssi-0.8.19$ su
Password:
root@fish:/home/falso/src/irssi-0.8.19# make install
...

root@fish:/home/falso/src/irssi-0.8.19# exit
exit
falso@fish:~/src/irssi-0.8.19$ cd ..

falso@fish:/src$ git clone https://github.com/falsovsky/FiSH-irssi.git
Cloning into 'FiSH-irssi'...
remote: Counting objects: 1452, done.
remote: Total 1452 (delta 0), reused 0 (delta 0), pack-reused 1452
Receiving objects: 100% (1452/1452), 603.04 KiB | 299 KiB/s, done.
Resolving deltas: 100% (952/952), done.
falso@fish:
/src$ cd FiSH-irssi/

falso@fish:~/src/FiSH-irssi$ cmake .
-- The C compiler identification is GNU 4.7.2
-- Check for working C compiler: /usr/bin/gcc
-- Check for working C compiler: /usr/bin/gcc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Found PkgConfig: /usr/bin/pkg-config (found version "0.26")
-- checking for module 'glib-2.0'
-- found glib-2.0, version 2.32.4
-- checking for module 'openssl'
-- found openssl, version 1.0.1e
-- Using glib-2.0 2.32.4
-- Using OpenSSL 1.0.1e
-- The module will be installed to /usr/local/lib/irssi/modules
-- You can change it with 'cmake -DCMAKE_INSTALL_PREFIX:PATH=/usr .'
-- Found Git: /usr/bin/git (found version "1.7.10.4")
-- Configuring done
-- Generating done
-- Build files have been written to: /home/falso/src/FiSH-irssi

falso@fish:~/src/FiSH-irssi$ make
Scanning dependencies of target fish
[ 16%] Building C object src/CMakeFiles/fish.dir/base64.c.o
[ 33%] Building C object src/CMakeFiles/fish.dir/blowfish.c.o
[ 50%] Building C object src/CMakeFiles/fish.dir/inifile.c.o
[ 66%] Building C object src/CMakeFiles/fish.dir/DH1080.c.o
[ 83%] Building C object src/CMakeFiles/fish.dir/FiSH.c.o
[100%] Building C object src/CMakeFiles/fish.dir/password.c.o
Linking C shared module libfish.so
[100%] Built target fish

falso@fish:~/src/FiSH-irssi$ su
Password:
root@fish:/home/falso/src/FiSH-irssi# make install
[100%] Built target fish
Install the project...
-- Install configuration: ""
-- Installing: /usr/local/share/doc/FiSH-irssi/README.md
-- Installing: /usr/local/share/doc/FiSH-irssi/FiSH-irssi.txt
-- Installing: /usr/local/lib/irssi/modules/libfish.so
root@fish:/home/falso/src/FiSH-irssi# exit

After this, I run irssi, and then /load fish, and its working.

screenshot 2016-04-18 12 45 51

So you can see, this works correctly on Debian.

ok now work with your guide bro :D finally thank you very much