CentOS 6.x에 tmux를 설치하려고하면 'EVBUFFER_EOL_LF'가 선언되지 않고 오류가 발생합니다.


11

다음 단계를 사용하여 tmux를 컴파일하려고 시도했습니다.

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

make명령은 다음 오류로 실패했습니다 :

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

다음은 설치된 ncurses-devel 및 libevent-devel 패키지의 세부 정보입니다.

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

CentOS 6.x에 tmux를 설치하는 올바른 방법은 무엇입니까?

답변:


17

yum은 libevent 버전 1.4를 설치하는 반면 tmux 1.9에는 libevent 버전 2.0이 필요하기 때문에이 문제가 발생합니다. 해결책은 소스에서 libevent 버전 2.0을 설치하는 것입니다.

다음은 tmux를 처음부터 설치하는 전체 명령 세트입니다.

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

여기에는 세 가지 명령 블록이 있습니다.

  1. yum 명령은 tmux를 컴파일하는 데 필요한 ncurses-devel 패키지 (아직없는 경우)를 설치합니다.
  2. 그런 다음 소스에서 libevent 버전 2.0을 컴파일하고 설치합니다.
  3. 그런 다음 소스에서 tmux 버전 2.1을 컴파일하고 설치합니다. 그렇게하는 동안 tmux를 / usr / local / lib에 설치 한 libevent에 연결해야합니다. 그렇지 않으면이 오류가 발생 tmux: error while loading shared libraries: libevent-2.0.so.5: cannot open shared object file: No such file or directory합니다.

마지막으로, tmux명령을 실행하여 tmux를 시작하십시오.


6
tmux의 구성도 다음을 허용합니다. export LIBEVENT_CFLAGS = "-I / usr / local / include"export LIBEVENT_LIBS = "-L / usr / local / lib -Wl, -rpath = / usr / local / lib -levent"rpath가 제외됩니다. 시스템의 다른 사용자에게 더 편리한 LD_LIBRAY_PATH 변경.
Ajith Antony

Google 직원을위한 참고 사항 : 고대 Centos 5에서도 성공적으로 사용했습니다.
티르

7

libevent 2 설치 -libevent-devel 인스턴트

내 64 비트 컴퓨터에서 :

yum install libevent2-devel.x86_64

libevent-devel이 이미 설치되어 있으면 먼저 제거하십시오.


1

내가 실행 한 후 구성 하고 작업 시작하십시오.

sudo yum erase libevent-devel

sudo yum install libevent2-devel

첫 번째 버전은 이전 버전 ( 1 )을 제거하고 두 번째 버전 에는 명시적인 '2'가 추가되었습니다. 또한 기계의 유형은 운 좋게 자동으로 해결됩니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.