ความพยายามในการติดตั้ง tmux บน CentOS 6.x ล้มเหลวโดยมีข้อผิดพลาด: '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.

วิธีที่ถูกต้องในการติดตั้ง tmux บน CentOS 6.x คืออะไร?

คำตอบ:


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 ติดตั้งแพ็กเกจ ncurses-devel (หากยังไม่ได้มีอยู่) ที่จำเป็นในการคอมไพล์ tmux
  2. จากนั้นเรารวบรวม libevent เวอร์ชั่น 2.0 จากซอร์สโค้ดและติดตั้ง
  3. จากนั้นเราก็รวบรวม tmux เวอร์ชั่น 2.1 จากซอร์สและติดตั้ง ในขณะที่ทำเช่นนี้เรามั่นใจว่าเราจะเชื่อมโยงไปยัง tmux libevent ที่เราติดตั้งใน / usr / local / lib 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 / รวม" export LIBEVENT_LIBS = "- L / usr / local / lib -Wl, -rpath = / usr / local / lib -levent" การเปลี่ยนแปลง LD_LIBRAY_PATH ซึ่งสะดวกกว่าสำหรับผู้ใช้รายอื่นในระบบของคุณ
Ajith Antony

หมายเหตุสำหรับชาว Google: ฉันเคยใช้สิ่งนี้กับ Centos 5 โบราณเช่นกัน
Tyr

6

ติดตั้ง libevent 2 -devel ทันทีของ libevent-devel

บนเครื่อง 64 บิตของฉัน:

yum install libevent2-devel.x86_64

หากคุณติดตั้ง libevent-devel แล้วให้ถอนการติดตั้งก่อน


0

การกำหนดค่าและทำให้เริ่มทำงานหลังจากที่ผมดำเนินการ:

sudo yum erase libevent-devel

sudo yum install libevent2-devel

โปรดสังเกตว่าอันแรกจะลบเวอร์ชันเก่า ( 1 ) และอันที่สองมีการเพิ่ม '2' อย่างชัดเจน โชคดีที่ชนิดของเครื่องได้รับการแก้ไขโดยอัตโนมัติ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.