A tentativa de instalar o tmux no CentOS 6.x falha com erro: ‘EVBUFFER_EOL_LF’ não declarado

10

Eu tentei compilar o tmux usando as seguintes etapas:

yum -y install ncurses-devel libevent-devel
wget http://downloads.sourceforge.net/tmux/tmux-1.9a.tar.gz
tar -xvzf tmux-1.9a.tar.gz
cd tmux-1.9a
./configure
make

O comando make falhou com o seguinte erro:

control.c:64:47: error: ‘EVBUFFER_EOL_LF’ undeclared (first use in this function)

Aqui estão os detalhes dos pacotes ncurses-devel e libevent-devel instalados.

[root@rigel ~]# yum info ncurses-devel.x86_64 libevent-devel.x86_64
Loaded plugins: fastestmirror, refresh-packagekit, security
Loading mirror speeds from cached hostfile
 * base: centosmirror.go4hosting.in
Installed Packages
Name        : libevent-devel
Arch        : x86_64
Version     : 1.4.13
Release     : 4.el6
Size        : 421 k
Repo        : installed
From repo   : base
Summary     : Header files, libraries and development documentation for libevent
URL         : http://monkey.org/~provos/libevent/
License     : BSD
Description : This package contains the static libraries documentation for libevent.
            : If you like to develop programs using libevent, you will need
            : to install libevent-devel.

Name        : ncurses-devel
Arch        : x86_64
Version     : 5.7
Release     : 3.20090208.el6
Size        : 1.7 M
Repo        : installed
From repo   : base
Summary     : Development files for the ncurses library
URL         : http://invisible-island.net/ncurses/ncurses.html
License     : MIT
Description : The header files and libraries for developing applications that use
            : the ncurses terminal handling library.
            :
            : Install the ncurses-devel package if you want to develop applications
            : which will use ncurses.

Qual é o caminho certo para instalar o tmux no CentOS 6.x?

    
por Susam Pal 07.04.2014 / 20:34

3 respostas

17

O problema ocorre porque o yum instala o libevent versão 1.4, enquanto o tmux 1.9 requer o libevent versão 2.0. A solução é instalar o libevent versão 2.0 a partir da fonte.

Aqui está o conjunto completo de comandos para instalar o tmux do zero.

yum -y install ncurses-devel

wget https://github.com/libevent/libevent/releases/download/release-2.0.22-stable/libevent-2.0.22-stable.tar.gz
tar -xvzf libevent-2.0.22-stable.tar.gz
cd libevent-2.0.22-stable
./configure
make -j 4
make install
cd ..

wget https://github.com/tmux/tmux/releases/download/2.1/tmux-2.1.tar.gz
tar -xvzf tmux-2.1.tar.gz
cd tmux-2.1
./configure LDFLAGS="-Wl,-rpath,/usr/local/lib"
make -j 4
make install

Existem três blocos de comandos aqui.

  1. O comando yum instala o pacote ncurses-devel (se ainda não estiver presente) necessário para compilar o tmux.
  2. Em seguida, compilamos a versão 2.0 do libevent a partir do código-fonte e a instalamos.
  3. Em seguida, compilamos o tmux versão 2.1 a partir do código-fonte e o instalamos. Ao fazer isso, asseguramos que ligamos o tmux ao libevent que instalamos em / usr / local / lib, caso contrário, obteríamos este erro: tmux: error while loading shared libraries: libevent-2.0.so.5: cannot open shared object file: No such file or directory .

Finalmente, execute o comando tmux para iniciar o tmux.

    
por 07.04.2014 / 20:34
5

Instale o libevent 2 -devel instantâneo do libevent-devel

na minha máquina de 64 bits:

yum install libevent2-devel.x86_64

Se você já possui o libevent-devel instalado, desinstale-o primeiro.

    
por 06.10.2016 / 03:06
0

Configure e make começaram a trabalhar depois da execução:

sudo yum erase libevent-devel

sudo yum install libevent2-devel

Observe que o primeiro remove a versão antiga ( 1 ) e o segundo tem um '2' explícito adicionado. Também o tipo da máquina é felizmente resolvido automaticamente.

    
por 04.08.2017 / 22:24