La tentative d'installation de tmux sur CentOS 6.x échoue avec l'erreur: «EVBUFFER_EOL_LF» non déclaré


11

J'ai essayé de compiler tmux en utilisant les étapes suivantes:

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

La makecommande a échoué avec l'erreur suivante:

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

Voici les détails des packages ncurses-devel et libevent-devel installés.

[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.

Quelle est la bonne façon d'installer tmux sur CentOS 6.x?

Réponses:


17

Le problème se produit car yum installe libevent version 1.4 alors que tmux 1.9 nécessite libevent version 2.0. La solution consiste à installer libevent version 2.0 à partir de la source.

Voici l'ensemble complet des commandes pour installer tmux à partir de zéro.

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

Il y a trois blocs de commandes ici.

  1. La commande yum installe le package ncurses-devel (s'il n'est pas déjà présent) requis pour compiler tmux.
  2. Ensuite, nous compilons libevent version 2.0 à partir des sources et l'installons.
  3. Ensuite, nous compilons tmux version 2.1 à partir des sources et l'installons. Ce faisant, nous nous assurons que nous associons à tmux libevent que nous avons installé dans / usr / local / lib, autrement obtenir cette erreur: tmux: error while loading shared libraries: libevent-2.0.so.5: cannot open shared object file: No such file or directory.

Enfin, exécutez la tmuxcommande pour lancer tmux.


6
La configuration de tmux les accepte également: export LIBEVENT_CFLAGS = "- I / usr / local / include" export LIBEVENT_LIBS = "- L / usr / local / lib -Wl, -rpath = / usr / local / lib -levent" Le chemin d'accès exclura le changement LD_LIBRAY_PATH qui est plus pratique pour les autres utilisateurs de votre système.
Ajith Antony

Remarque pour les Googleurs: J'ai également utilisé cela avec succès sur un ancien Centos 5.
Tyr

7

Installer libevent 2 -devel instant de libevent-devel

sur ma machine 64 bits:

yum install libevent2-devel.x86_64

Si vous avez déjà installé libevent-devel, désinstallez-le d'abord.


1

Configurez et faites commencer à travailler après avoir exécuté:

sudo yum erase libevent-devel

sudo yum install libevent2-devel

Notez que la première supprime l'ancienne version ( 1 ) et la seconde a un «2» explicite ajouté. De plus, le type de machine est heureusement résolu automatiquement.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.