forked from irssi/irssi
-
Notifications
You must be signed in to change notification settings - Fork 0
/
INSTALL
123 lines (84 loc) · 3.74 KB
/
INSTALL
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
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-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