summaryrefslogtreecommitdiff
path: root/INSTALL
blob: 234c6cf6002ed9ed2e500f34b2c66eec230a6ca3 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127

 Irssi installation instructions
 -------------------------------

To compile irssi you need:

- glib-2.6 or greater
- pkg-config
- openssl (for ssl support)
- perl-5.6 or greater (for perl support)

For most people, this should work just fine:

 ./autogen.sh     (for people who just cloned the repository)
 ./configure      (if this script already exists, skip ./autogen.sh)
 make
 su
 make install     (not _really_ required except for perl support)

configure options

  --prefix

  Specifies the path where irssi will be installed.
  YES, you can install irssi WITHOUT ROOT permissions
  by using --prefix=/home/dir

  --with-proxy

  Build the irssi proxy (see startup-HOWTO).

  --disable-ipv6

  Disable IPv6 support.

  --disable-ssl

  Disable SSL support.

  --with-perl=[yes|no|module]

  Enable Perl support
  yes    enable builtin (default)
  no     disable
  module enable as module

  --with-perl-lib=[site|vendor|DIR]

  Specify installation dir for Perl libraries
  site   install in dir for site-specific modules (default)
  vendor install in dir for vendor-specific modules
  DIR    install in DIR

  --with-socks

  Build with socks library

  --with-bot

  Build irssi-bot

  --without-textui

  Build without text frontend

If ncurses is installed in a non-standard path you can specify it with
--with-ncurses=/path. If anything else is in non-standard path, you can just
give the paths in CPPFLAGS and LIBS environment variable, eg.:

  CPPFLAGS=-I/opt/openssl/include LDFLAGS=-L/opt/openssl/lib ./configure

Irssi doesn't really need curses anymore, by default it uses
terminfo/termcap directly. The functions for using terminfo/termcap
however are usually only in curses library, some systems use libtermcap
as well. If you want to use only curses calls for some reason, use
--without-terminfo.


 Perl problems
 -------------

Perl support generates most of the problems. There's quite a many
things that can go wrong:

 - Compiling fails if you compile irssi with GCC in a system that has
   perl compiled with some other C compiler. Very common problem with
   non-Linux/BSD systems. You'll need to edit src/perl/*/Makefile files
   and remove the parameters that gcc doesn't like. Mostly you'll just
   need to keep the -I and -D parameters and add -fPIC.
 - If there's any weird crashing at startup, you might have older irssi's
   perl libraries installed somewhere, and you should remove those.
 - Dynamic libraries don't want to work with some systems, so if your
   system complains about some missing symbol in Irssi.so file, configure
   irssi with --with-perl-staticlib option (NOT same as --with-perl=static).
 - If configure complains that it doesn't find some perl stuff, you're
   probably missing libperl.so or libperl.a. In debian, you'll need to do
   apt-get install libperl-dev
 - For unprivileged home directory installations, using the local::lib CPAN
   module is recommended. Read its docs, bootstrap it if needed, ensure that
   the environment variables are set before running the configure script, and
   append "--with-perl-lib=site" to the configure parameters to use it.

You can verify that the perl module is loaded and working with "/LOAD"
command. It should print something like:

Module               Type    Submodules
...
perl                 static  core fe


 System specific notes
 ---------------------

 Cygwin

Getting perl scripting to work needs a few things:

 - configure with --with-perl-staticlib

 - libperl.dll is required in linking and running irssi, it's normally
   located somewhere around /usr/lib/perl5/5.6.1/cygwin/CORE/libperl5_6_1.dll
   copy it to eg. /usr/bin/libperl.dll

 - -DUSEIMPORTLIB is needed to be defined while compiling src/perl directory.
   It doesn't hurt to be defined everywhere, so configure irssi with:

     CFLAGS='-DUSEIMPORTLIB' ./configure --with-perl-staticlib