Linux shadowsocks-libev configure error autoreconf: automake failed with exit status
Issue
Configure shadowsocks-libev
from source code in Linux. Before configure, we should install the basic build dependencies.
For Debian/Ubuntu, run
$ sudo apt-get install --no-install-recommends gettext build-essential autoconf libtool libpcre3-dev asciidoc xmlto libev-dev libc-ares-dev automake libmbedtls-dev libsodium-dev
For RHEL/CentOS, run
$ sudo yum install epel-release -y
$ sudo yum install gcc gettext autoconf libtool automake make pcre-devel asciidoc xmlto c-ares-devel libev-devel libsodium-devel mbedtls-devel -y
Now, let's start to configure.
$ git clone https://github.com/shadowsocks/shadowsocks-libev.git
$ cd shadowsocks-libev/
$ ./autogen.sh
But the following error occurs.
configure.ac:244: error: required file 'libbloom/Makefile.in' not found
configure.ac:244: error: required file 'libcork/Makefile.in' not found
configure.ac:244: error: required file 'libipset/Makefile.in' not found
src/Makefile.am: installing 'auto/depcomp'
autoreconf: automake failed with exit status: 1
Solution
Run git submodule update --init
to clone libbloom
, libcork
and libipset
.
$ git submodule update --init
Submodule 'libbloom' (https://github.com/shadowsocks/libbloom.git) registered for path 'libbloom'
Submodule 'libcork' (https://github.com/shadowsocks/libcork.git) registered for path 'libcork'
Submodule 'libipset' (https://github.com/shadowsocks/ipset.git) registered for path 'libipset'
Cloning into '/home/cpm/Downloads/packages/shadowsocks-libev/libbloom'...
Cloning into '/home/cpm/Downloads/packages/shadowsocks-libev/libcork'...
Cloning into '/home/cpm/Downloads/packages/shadowsocks-libev/libipset'...
Submodule path 'libbloom': checked out '437e1add5a2b9a87797d8c648df7cf5f3ee155a8'
Submodule path 'libcork': checked out '074e074b26e9e372e90e6ade215217763c8644aa'
Submodule path 'libipset': checked out '3ea7fe30adf4b39b27d932e5a70a2ddce4adb508'
Continue to configure.
$ ./autogen.sh
$ ./configure
$ make
$ sudo make install