How to compile FiSH encryption for irssi on Debian/Ubuntu

I wanted to compile FiSH for irssi on Ubuntu Gutsy, but http://fish.sekure.us was offline. Now that I checked it again, it's back. So perhaps you better follow the walkthrough on http://fish.sekure.us/forum/viewtopic.php?t=145 . For my own reference and for the case the website is down again I'm posting here what I did to get it to work. This should work for every Debian based distribution

1. Getting everything we need

fire up a terminal

sudo apt-get install irssi (if you don't have it already)

sudo apt-get install build-essentials libglib1.2 libglib1.2-dev libglib2.0-0 libglib2.0-dev

2. Now we need to download the FiSH and irssi source

wget http://fish.sekure.us/irssi/FiSH-irssi.v0.99-source.zip

wget http://irssi.org/files/irssi-0.8.12.tar.bz2

3. Unpacking the archives

unzip FiSH-irssi.v0.99-source.zip

tar xjf irssi-0.8.12.tar.bz2

4. Create the necessary directories

cd FiSH-irssi.v0.99-source

mkdir MIRACL;cd MIRACL

cp ../mir_amd64 amd64

cp ../mir_macosx macosx

5. Getting MIRACL, needed for compiling FiSH

wget http://indigo.ie/~mscott/miracl.zip

unzip -j -aa -L miracl.zip

bash linux

cp miracl.a ../

cd ..

6. Adjusting the FiSH Makefile ...

nano Makefile

set glib_dir and irssi_dir to the following parameters:

glib_dir = /usr/lib/glib/include
irssi_dir = /home/username/irssi-0.8.12

Create a symlink so that 1 library will be included

sudo ln -s /usr/include/glib-1.2/glib.h /usr/lib/glib/include/glib.h

Now we can do make

make

You will see something like this:
-e ######################## FiSH for irssi COMPILING NOTES ########################
--------------------------------------------------------------------------------
You'll need MIRACL (http://indigo.ie/~mscott/) to compile FiSH! It is suggested
to recompile miracl.a on your target machine (compile instructions can be found
-e in miracl.zip/linux.txt). Also, make sure you are using the correct mirdef.h
-e (especially in case of exotic systems). On AMD64 systems use 'mirdef_amd64.h'
-e and have a look at miracl.zip/amd64.txt, use 'mirdef_macosx.h' for MacOSX. You
-e can test MIRACL with pk-demo. BSD fails in pk-demo.cpp and wants a '(time_t *)'
in line 54.
-e Using irssi source from: /home/username/irssi-0.8.12
-e Using glib source from: /usr/lib/glib-2.0/include (required to compile irssi)
-- Please make sure you have both installed!
e -- If you plan to use a custom password for your blow.ini (via /setinipw),
-e -- you can skip the following note!
You are adviced to change default_iniKey in FiSH.h - But remember, changing the
default blow.ini password will make your old keys in blow.ini unusable!
-e >> Usual procedure to compile FiSH:
unzip FiSH-irssi.v0.99-source.zip;cd FiSH-irssi.v0.99-source
mkdir MIRACL;cd MIRACL;cp ../mir_amd64 amd64;cp ../mir_macosx macosx
wget http://indigo.ie/~mscott/miracl.zip
-e unzip -j -aa -L miracl.zip (see linux.txt/amd64.txt for more info)
-e bash linux (or 'bash amd64' / 'bash macosx')
cp miracl.a ../;cd ..
adjust glib_dir and irssi_dir in 'Makefile'
-e make (or 'make macosx' / 'make amd64')
cp libfish.so ~/irssi/lib/irssi/modules
-------------------------------------------------------------------------------- Press ENTER to continue or CTRL+C to abort...

enter

If all goes wel, you'll get a lot of messages ending with the following:

make[1]: Leaving directory `/home/username/FiSH-irssi.v0.99-source'
rwxr-xr-x 1 username username 123243 2008-02-03 18:06 libfish.so
e Compiling finished /home/username/FiSH-irssi.v0.99-source/libfish.so

7. finishing the installation

sudo cp libfish.so /usr/lib/irssi/modules

sudo rm /usr/lib/glib/include/glib.h (remove the symlink)

8. Loading FiSH in irssi

irssi

/load fish

you'll see something like this:

-!- FiSH: Using default password to decrypt blow.ini... Try /setinipw to set a custom password.
-!- Irssi: FiSH v0.99 - encryption module for irssi loaded! URL: http://fish.sekure.us
-!- Irssi: Try /helpfish or /fishhelp for a short command overview
-!- Irssi: Loaded module fish/core

8. Getting the key

Ask someone from the channel to /keyx the key to you. When It appears in a pm, go to the status window and do

/setkey #channelname 'key'

That's all folks!

AttachmentSize
libfish.so.tar.gz52.34 KB

Comments

hey nice howto, but if i try to load the file i get in irssi:

Irssi: Error loading module fish/fish: /usr/local/lib/irssi/modules/libfish.so: undefined symbol: bytes_to_big

and dont know why.
do i get an idea?

from the miracl manual on www.shamus.ie/uploads/docs/refman.pdf :

2.1.1.6 void bytes_to_big (int len, char ∗ ptr, big x)
Converts a binary octet string to a big number. Binary to big conversion

so there is a problem with the conversion function integration

Can you give me some more info about what distribution/version you are using? Also, did you follow every step of this howto?

Anyway, I included my libfish.so , perhaps that'll work. I'm using irssi O.8.11

now all I used the manual @ sekure.us

i'm running debian-etch 64bit kernel: 2.6.24.3

I downloaded FiSH-irssi.v1.00-RC5-source and then the miracl.zip, unzip it and put the libary which i need in the dir.
Then i installed the irssi-dev (irssi-dev 0.8.10-2) (for the irssi libaries) and i'm running irssi 0.8.12 (irssi 0.8.12-2~bpo40+1 <- installed form backports), edit the Makefile, insert make amd64 and then move the libfish.so to /usr/local/lib/irssi/modules/

i posted in the board, too but nobody answer :(

http://fish.sekure.us/forum/viewtopic.php?p=1466

Something went wrong with the attachment ... it's here now.

@foobar: they answered you at fish.sekure.us, I hope it's working now

for people who still have problems, I included my libfish.so in the attachment

It should work for irssi 0.8.11 and 0.8.12 (on 32bit), so you need to install/compile that first
Download the libfish.so.tar.gz , attachment, extract and rename it (names of attachment downloads are still screwed)
put it in /usr/lib/irssi/modules/ or where your irssi modules are
start irssi
in the controls screen in irssi do
/load fish
and
/fishhelp

I just want to state that your recipe worked like a charm for me. Big ups!

nope it doesnt work :/
i tried to rebuild the miracl.zip again but i get allways an error and on sekure.us nobody reply :(

ur libfish i cant use, cause i use 64bit...

Your provided libfish.so.tar.gz worked like a charm. I gave up trying to compile it myself on my Virtual Machine and ended up plugging yours in. Success! It would be awesome if you could spin up an x86_64 version as well for us!

Thanks again!

this could be interesting for the 64bit users:
http://fish.sekure.us/forum/viewtopic.php?p=1400

Perfect guide.. it's bookmarked. ;)

Thanks.

Tried this in Ubuntu 8.10 (Itrepid Ibex), but it didn't work.

When I write:
sudo apt-get install build-essentials libglib1.2 libglib1.2-dev libglib2.0-0 libglib2.0-dev

It says broken package.

Here a pre-compiled Fish1.0rc5 for amd64:
http://depositfiles.com/files/fogo1rfoe

Fish is an excellent source of lean protein and omega-3 fatty acids called eicosapentaenoic acid (EPA) and docosahexaenoic acid (DHA). A diet rich in fish oil may help reduce inflammation and decrease your risk of cardiovascular disease. The omega-3 fatty acids found in fish are also essential for brain and eye development. Visit pdfpal.org for more informtion about the fish.

Post new comment

The content of this field is kept private and will not be shown publicly.
  • Web page addresses and e-mail addresses turn into links automatically.
  • Allowed HTML tags: <a> <em> <strong> <cite> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Lines and paragraphs break automatically.

More information about formatting options

CAPTCHA
This question is for testing whether you are a human visitor and to prevent automated spam submissions.
Image CAPTCHA
Copy the characters (respecting upper/lower case) from the image.
RSS feed