1
0
mirror of https://github.com/irssi/irssi.git synced 2024-12-04 14:46:39 -05:00
irssi/INSTALL

129 lines
3.9 KiB
Plaintext
Raw Normal View History

Irssi installation instructions
-------------------------------
To compile irssi you need:
2019-07-17 08:09:39 -04:00
- meson-0.49 build system with ninja-1.5 or greater
- glib-2.28 or greater
- openssl (for ssl support)
- perl-5.6 or greater (for perl support)
- terminfo or ncurses (for text frontend)
For most people, this should work just fine:
2019-07-17 08:09:39 -04:00
meson Build
ninja -C Build
su
ninja -C Build install
For the moment, autotools is also supported:
2016-01-12 17:38:50 -05:00
./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
2019-07-17 08:09:39 -04:00
These options can be given to meson or ./configure.
The first syntax is for meson, the 2nd for ./configure
For a complete list of options, run
meson configure / ./configure --help
--prefix
Specifies the path where irssi will be installed.
YES, you can install irssi WITHOUT ROOT permissions
by using --prefix=/home/dir
2019-07-17 08:09:39 -04:00
-Dwith-proxy=yes / --with-proxy
Build the irssi proxy (see startup-HOWTO).
2019-07-17 08:09:39 -04:00
-Dwith-perl=[yes|no] / --with-perl=[yes|no|module]
Enable Perl support
yes enable builtin (default)
no disable
module enable as module
2019-07-17 08:09:39 -04:00
-Dwith-perl-lib=[site|vendor|DIR] / --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
2019-07-17 08:09:39 -04:00
[N/A] / --with-socks
Build with socks library
2019-07-17 08:09:39 -04:00
-Dwith-bot=yes / --with-bot
Build irssi-bot
2019-07-17 08:09:39 -04:00
-Dwithout-textui=yes / --without-textui
Build without text frontend
If anything 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
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
2016-08-29 17:25:26 -04:00
- For unprivileged home directory installations, you probably do not want
to specify --with-perl-lib=(site|vendor). Instead, you can use the
default perl installation target (below the irssi prefix). If you are
using local::lib you can also choose to install there by specifying
--with-perl-lib=$PERL_LOCAL_LIB_ROOT/lib/perl5
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