Cố gắng cài đặt tmux trên CentOS 6.x không thành công do lỗi: 'EVBUFFER_EOL_LF' không được khai báo


11

Tôi đã thử biên dịch tmux bằng các bước sau:

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

Các makelệnh thất bại với các lỗi sau:

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

Dưới đây là thông tin chi tiết về các gói ncurses-devel và libevent-devel được cài đặt.

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

Cách đúng để cài đặt tmux trên CentOS 6.x là gì?

Câu trả lời:


17

Sự cố xảy ra do yum cài đặt phiên bản libevent 1.4 trong khi tmux 1.9 yêu cầu phiên bản 2.0 không phù hợp. Giải pháp là cài đặt phiên bản 2.0 không cần thiết từ nguồn.

Dưới đây là bộ lệnh hoàn chỉnh để cài đặt tmux từ đầu.

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

Có ba khối lệnh ở đây.

  1. Lệnh yum cài đặt gói ncurses-devel (nếu nó chưa có) cần thiết để biên dịch tmux.
  2. Sau đó, chúng tôi biên dịch phiên bản libevent 2.0 từ nguồn và cài đặt nó.
  3. Sau đó, chúng tôi biên dịch tmux phiên bản 2.1 từ nguồn và cài đặt nó. Trong khi làm như vậy, chúng tôi đảm bảo rằng chúng tôi liên kết tmux với libevent mà chúng tôi đã cài đặt trong / usr / local / lib, nếu không sẽ gặp lỗi này : tmux: error while loading shared libraries: libevent-2.0.so.5: cannot open shared object file: No such file or directory.

Cuối cùng, thực hiện tmuxlệnh để khởi chạy tmux.


6
Cấu hình của tmux cũng chấp nhận những điều này: export LIBEVENT_CFLAGS = "- I / usr / local / bao gồm" export LIBEVENT_LIBS = "- L / usr / local / lib -Wl, -rpath = / usr / local / lib -levent thay đổi LD_LIBRAY_PATH thuận tiện hơn cho những người dùng khác trên hệ thống của bạn.
Ajith Antony

Lưu ý cho nhân viên Google: Tôi cũng đã sử dụng thành công điều này trên Centos 5 cổ đại.
Tyr

7

Cài đặt libevent 2 -devel tức thì của libevent-devel

trên máy 64 bit của tôi:

yum install libevent2-devel.x86_64

Nếu bạn đã cài đặt libevent-devel, trước tiên hãy gỡ cài đặt nó.


1

Cấu hìnhlàm bắt đầu làm việc sau khi tôi thực hiện:

sudo yum erase libevent-devel

sudo yum install libevent2-devel

Lưu ý cái đầu tiên loại bỏ phiên bản cũ ( 1 ) và cái thứ hai có thêm '2' rõ ràng. Ngoài ra loại máy may mắn được giải quyết tự động.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.