C-Kermit (Communications software for UNIX)

[ 戻る | トップページに戻る ]

概要

C-Kermit とは、数ある Kermit 実装のひとつ。

URL

http://www.columbia.edu/kermit/ckermit.html

インストール環境

Plamo Linux 2.0 (Kernel 2.2.17 + glibc 2.1.2)
Plamo Linux 2.2.1 (Kernel 2.2.19 + glibc 2.2)

必要なもの

特になし

バージョン

7.0.196

インストール手順

$ mkdir C-Kermit
$ cd C-Kermit
$ tar xvfz ckermit.tar.gz
$ make linux
(snip)
gcc -O -DLINUX -pipe -funsigned-char -DFNFLOAT -DCK_POSIX_SIG -DCK_NEWTERM -DTCPSOCKET \
    -DLINUXFSSTND -DNOCOTFMC -DPOSIX -DCK_NCURSES -I/usr/include/ncurses -DHAVE_CRYPT_H \
    -DKTARGET=\"linux\" -c ckuusx.c
ckuusx.c:3673: ncurses.h: No such file or directory
make[2]: *** [ckuusx.o] Error 1
make[2]: Leaving directory `/usr/local/src/kermit'
make[1]: *** [linuxa] Error 2
make[1]: Leaving directory `/usr/local/src/kermit'
make: *** [linux] Error 2

Plamo では ncurses のヘッダファイルが /usr/include/curses.h としてインストールされているのが原因。 makefile のヘッダ部分を見ると...
# + for Linux 1.2 and later but with curses.h and libcurses (rather than
#     ncurses.h and libncurses), use "make linuxc".

ふむふむ。make linuxc でいいのね。
$ make clean
# make linuxc

無事コンパイル終了。 ckuins.txt の第 7 章を参照し、動作チェックを行った後、インストール。
$ su
# make install
cp wermit /usr/local/bin/kermit
chmod 755 /usr/local/bin/kermit

Kermit binary installed:
-rwxr-xr-x   1 root     root      1680612  4月 10日  12:46 /usr/local/bin/kermit

 WARNING: If C-Kermit is to be used for dialing out, you will
 probably need to change its owner and group and permissions to
 match the cu program.  See the ckuins.txt file for details.

Installing man page...
cp ckuker.nr /usr/man/manl/kermit.l
cp: cannot create regular file `/usr/man/manl/kermit.l': No such file or directory
make: *** [install] Error 1

む。なんで root なのに作れない?? よく見たら man1 (数字の 1) ではなく manl か。しかも何故 man だけ /usr/man ? この際、インストール先も /usr/local/man/manl に変更しておく。 makefile を以下のように修正。
WERMIT = makewhat
DESTDIR =
BINDIR = /usr/local/bin
MANDIR = /usr/local/man/manl
         ~~~~~~~~~~~~~~~~~~~ 修正
INFODIR = /usr/local/doc/kermit
MANEXT = l
ALL = $(WERMIT)

では再度インストール。
# mkdir -p /usr/local/man/manl
# make install
cp wermit /usr/local/bin/kermit
chmod 755 /usr/local/bin/kermit

Kermit binary installed:
-rwxr-xr-x   1 root     root      1680612  4月 10日  13:01 /usr/local/bin/kermit

 WARNING: If C-Kermit is to be used for dialing out, you will
 probably need to change its owner and group and permissions to
 match the cu program.  See the ckuins.txt file for details.

Installing man page...
cp ckuker.nr /usr/local/man/manl/kermit.l
chmod 644 /usr/local/man/manl/kermit.l

Installing info files...
Creating /usr/local/doc/kermit/...
mkdir: cannot make directory `/usr/local/doc/kermit': No such file or directory
chmod: /usr/local/doc/kermit: No such file or directory
make: *** [install] Error 1

むう。こんどは doc 。 さっきと矛盾するようだが (^^; /usr/local/doc なんてのは作ってないので、 ここは逆に /usr/doc に修正する。makefile の修正箇所は以下の通り。
WERMIT = makewhat
DESTDIR =
BINDIR = /usr/local/bin
MANDIR = /usr/man/manl
INFODIR = /usr/doc/kermit
          ~~~~~~~~~~~~~~~
MANEXT = l
ALL = $(WERMIT)

では今度こそ。ようやく無事インストール完了。
# make install
# exit
$ make clean
$ rm wermit

インストール手順 (for Plamo 2.2.1)

$ mkdir C-Kermit
$ cd C-Kermit
$ tar xvfz ckermit.tar.gz
$ make linuxc
(snip)
gcc -O -DLINUX -pipe -funsigned-char -DFNFLOAT -DCK_POSIX_SIG -DCK_NEWTERM -DTCPSOCKET \
    -DLINUXFSSTND -DNOCOTFMC -DPOSIX -DCK_NCURSES -I/usr/include/ncurses -DHAVE_CRYPT_H \
    -DKTARGET=\"linux\" -c ckcnet.c
ckcnet.c: In function `http_date':
ckcnet.c:8696: storage size of `t_tm' isn't known
ckcnet.c:8707: dereferencing pointer to incomplete type
ckcnet.c: In function `http_now':
ckcnet.c:8726: warning: assignment makes pointer from integer without a cast
make[2]: *** [ckcnet.o] エラー 1
make[2]: 出ます ディレクトリ `/usr/local/src/C-Kermit'
make[1]: *** [linuxa] エラー 2
make[1]: 出ます ディレクトリ `/usr/local/src/C-Kermit'
make: *** [linux] エラー 2

なんで time.h がインクルードされないのか?だが、ここはサクっと直す。 ckcnet.c を以下のように修正。
#define SYSUTIMEH                       /* Use this for both cases. */
#endif /* UTIMEH */
#endif /* SYSUTIMEH */
#endif /* OS2 */ 

#include <time.h>         <--- 追加

#define HTTP_VERSION "HTTP/1.0"
        
#ifdef CMDATE2TM

後は、MANDIR の問題があるので makefile の MANDIR を修正 (Plamo 2.0 の場合を参照) してから、再コンパイル。
$ make linuxc
$ su
# mkdir -p /usr/local/man/manl
# make install
# exit
$ make clean
$ rm wermit

設定方法

~/.kermrc に以下のエントリを記述。これでたいていの場合、文字化けなくシリアル ポート経由、Unix ホストに接続できるはず。
SET LINE /dev/ttyS0     <--- 環境に応じて適宜変更のこと
SET CARRIER-WATCH OFF
EIGHTBIT

[ 戻る | トップページに戻る ]