過去に似たような記事書いたけど、はまったので、もう一度。
- tmuxをetchにインストールするために
- lennyにtmuxをインストールした。
今更lennyかよとか石投げないで、大人の事情があるの。。。
lennyのlibeventは古いので自前でビルドします。一応32bitです。イマドキ32bitかよと石投げないで(ry
# libeventのビルド mkdir -p ~/tmp cd ~/tmp # バージョンはそのときどきで wget https://github.com/downloads/libevent/libevent/libevent-2.0.21-stable.tar.gz tar xvfz libevent-2.0.21-stable.tar.gz cd libevent-2.0.21-stable ./configure make make verify sudo make install sudo ldconfig # ncuresesが必要なの sudo aptitude install libncurses5-dev # tmuxのビルド cd ~/tmp wget "http://downloads.sourceforge.net/project/tmux/tmux/tmux-1.7/tmux-1.7.tar.gz" tar xvfz tmux-1.7.tar.gz cd tmux-1.7/ ./configure make sudo make install
はまりどころ
libncurses5-devが入ってないとtmuxのconfigureがこける
configure: error: "curses not found"
lenny標準パッケージのlibevent-devを入れているとtmuxのビルドがこける
cc -L/usr/local/lib -o tmux attributes.o cfg.o client.o clock.o cmd-attach-session.o cmd-bind-key.o cmd-break-pane.o cmd-capture-pane.o cmd-choose-buffer.o cmd-choose-client.o cmd-choose-session.o cmd-choose-window.o cmd-clear-history.o cmd-clock-mode.o cmd-command-prompt.o cmd-confirm-before.o cmd-copy-buffer.o cmd-copy-mode.o cmd-delete-buffer.o cmd-detach-client.o cmd-display-message.o cmd-display-panes.o cmd-find-window.o cmd-generic.o cmd-has-session.o cmd-if-shell.o cmd-join-pane.o cmd-kill-pane.o cmd-kill-server.o cmd-kill-session.o cmd-kill-window.o cmd-last-pane.o cmd-last-window.o cmd-link-window.o cmd-list-buffers.o cmd-list-clients.o cmd-list-commands.o cmd-list-keys.o cmd-list-panes.o cmd-list-sessions.o cmd-list-windows.o cmd-list.o cmd-load-buffer.o cmd-lock-client.o cmd-lock-server.o cmd-lock-session.o cmd-move-window.o cmd-new-session.o cmd-new-window.o cmd-next-layout.o cmd-next-window.o cmd-paste-buffer.o cmd-pipe-pane.o cmd-previous-layout.o cmd-previous-window.o cmd-refresh-client.o cmd-rename-session.o cmd-rename-window.o cmd-resize-pane.o cmd-respawn-window.o cmd-rotate-window.o cmd-run-shell.o cmd-save-buffer.o cmd-select-layout.o cmd-select-pane.o cmd-select-window.o cmd-send-keys.o cmd-send-prefix.o cmd-server-info.o cmd-set-buffer.o cmd-set-environment.o cmd-set-option.o cmd-set-window-option.o cmd-show-buffer.o cmd-show-environment.o cmd-show-messages.o cmd-show-options.o cmd-show-window-options.o cmd-source-file.o cmd-split-window.o cmd-start-server.o cmd-string.o cmd-suspend-client.o cmd-swap-pane.o cmd-swap-window.o cmd-switch-client.o cmd-unbind-key.o cmd-unlink-window.o cmd.o colour.o environ.o grid-utf8.o grid-view.o grid.o input-keys.o input.o job.o key-bindings.o key-string.o layout-custom.o layout-set.o layout-string.o layout.o log.o mode-key.o names.o options.o paste.o resize.o screen-redraw.o screen-write.o screen.o server-client.o server-fn.o server-window.o server.o session.o signal.o status.o tmux.o tty-acs.o tty-keys.o tty-term.o tty.o utf8.o window-choose.o window-clock.o window-copy.o window.o xmalloc.o xterm-keys.o osdep-linux.o compat/closefrom.o compat/fgetln.o compat/strlcat.o compat/strlcpy.o compat/strtonum.o compat/getopt.o compat/vis.o compat/unvis.o compat/imsg-buffer.o compat/imsg.o -lncurses -lutil -levent -lrt server.o: In function `server_start': server.c:(.text+0x2b9): undefined reference to `event_reinit' collect2: ld returned 1 exit status make: *** [tmux] エラー 1
libeventをビルドした後にmake clean; ./configureしてMakefileを更新しないとtmuxのビルドがこける
gcc -D_GNU_SOURCE -std=c99 -o tmux arguments.o attributes.o cfg.o client.o clock.o cmd-attach-session.o cmd-bind-key.o cmd-break-pane.o cmd-capture-pane.o cmd-choose-buffer.o cmd-choose-client.o cmd-choose-list.o cmd-choose-tree.o cmd-clear-history.o cmd-clock-mode.o cmd-command-prompt.o cmd-confirm-before.o cmd-copy-mode.o cmd-delete-buffer.o cmd-detach-client.o cmd-display-message.o cmd-display-panes.o cmd-find-window.o cmd-has-session.o cmd-if-shell.o cmd-join-pane.o cmd-kill-pane.o cmd-kill-server.o cmd-kill-session.o cmd-kill-window.o cmd-link-window.o cmd-list-buffers.o cmd-list-clients.o cmd-list-commands.o cmd-list-keys.o cmd-list-panes.o cmd-list-sessions.o cmd-list-windows.o cmd-list.o cmd-load-buffer.o cmd-lock-server.o cmd-move-window.o cmd-new-session.o cmd-new-window.o cmd-paste-buffer.o cmd-pipe-pane.o cmd-refresh-client.o cmd-rename-session.o cmd-rename-window.o cmd-resize-pane.o cmd-respawn-pane.o cmd-respawn-window.o cmd-rotate-window.o cmd-run-shell.o cmd-save-buffer.o cmd-select-layout.o cmd-select-pane.o cmd-select-window.o cmd-send-keys.o cmd-send-prefix.o cmd-server-info.o cmd-set-buffer.o cmd-set-environment.o cmd-set-option.o cmd-show-buffer.o cmd-show-environment.o cmd-show-messages.o cmd-show-options.o cmd-source-file.o cmd-split-window.o cmd-start-server.o cmd-string.o cmd-suspend-client.o cmd-swap-pane.o cmd-swap-window.o cmd-switch-client.o cmd-unbind-key.o cmd-unlink-window.o cmd.o colour.o control.o control-notify.o environ.o format.o grid-utf8.o grid-view.o grid.o input-keys.o input.o job.o key-bindings.o key-string.o layout-custom.o layout-set.o layout.o log.o mode-key.o names.o notify.o options-table.o options.o paste.o resize.o screen-redraw.o screen-write.o screen.o server-client.o server-fn.o server-window.o server.o session.o signal.o status.o tmux.o tty-acs.o tty-keys.o tty-term.o tty.o utf8.o window-choose.o window-clock.o window-copy.o window.o xmalloc.o xterm-keys.o osdep-linux.o imsg.o imsg-buffer.o closefrom.o strlcat.o strlcpy.o fgetln.o getopt.o vis.o unvis.o strtonum.o -lutil -lcurses -levent -lrt tty.o: In function `tty_cmd_setselection': tty.c:(.text+0x28fb): undefined reference to `__b64_ntop' collect2: ld returned 1 exit status make: *** [tmux] エラー 1
squeezeに上げたい。。