[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[FDclone-users:00069] AIX でのコンパイルエラーについて
- Subject: [FDclone-users:00069] AIX でのコンパイルエラーについて
- From: SHIOTA Shoichi <Shoichi.Shiota@lightwell.co.jp>
- Date: Tue, 04 Feb 2003 13:18:10 +0900
はじめまして、潮田ともうします。
さて、 AIX 上での FDclone2 の対応状況について質問いたします。
AIX 4.3.3 のかなり古いメンテナンスレベルの OS 上で、
FDclone1 は、問題なく作成できていたような気がするのですが、
最近のメンテナンスレベルと FDclone2 では、うまくコンパイルが
通りません。
コンパイル及びリンクのエラーを黙らせることはできるのですが、
所詮対応ではなく回避(逃避)なので、できた実行モジュールが
実用に耐えません。
皆様のところではどうでしょうか。
状況説明
$ gzip -dc FD-2.02a.tar.gz | tar xf -
$ cd FD-2.02a/
$ make
(省略)
cc -DFD=2 -DAIX=1 -O -c -o info.o info.c
"info.c", line 780.13: 1506-099 (S) 使用している引数が正しくありません。
"info.c", line 781.28: 1506-099 (S) 使用している引数が正しくありません。
make: 1254-004 最後のコマンドからのエラー・コードは 1 です。
回避策1を実行
$ make
(省略)
cc -DFD=2 -DAIX=1 -O -c -o browse.o browse.c
"browse.c", line 21.10: 1506-296 (S) #include ファイル <sys/mkdev.h> が見つかりません。
make: 1254-004 最後のコマンドからのエラー・コードは 1 です。
回避策2を実行
$ make
(省略)
cc -o fd main.o term.o pathname.o system.o posixsh.o doscom.o dosdisk.o dosemu.o libc.o file.o apply
.o parse.o builtin.o shell.o kanji.o input.o info.o rockridg.o archive.o tree.o custom.o command.o browse.o
-lcurses
ld: 0711-317 エラー: 未定義のシンボル: UP
ld: 0711-317 エラー: 未定義のシンボル: BC
ld: 0711-345 -bloadmap または -bnoquiet オプションを使用して、詳細な情報を得てください。
make: 1254-004 最後のコマンドからのエラー・コードは 8 です。
回避策3を実行
$ make
(省略)
cc -DAIX=1 -O -o mkunitbl mkunitbl.c
./mkunitbl fd-unicd.tbl
ターゲット "all" は最新のものです。
で何とか実行モジュールができます。
が、使用に耐えません。
テキストファイル(たとえは FDclone2 の README)にカーソルを合わせて
enter をたたくと、 PAGER が起動され、その PAGER を終了すると FD へ
戻ってくるのが正常な動作だと思います。
このモジュールでは、 PAGER から戻ろうとするとしばらく反応ががなくなり
Segmentation fault と表示され FD が消滅し shell へ戻ってしまいます。
実行しているディレクトリに書き込み権限はありますし、 core のサイズは
無制限にしてあるのですが core もできないようでお手上げです。
(情報提供ができないと言う意味で)
そもそもの回避策が誤りである可能性が大ですので、こちらの情報をお待ち
しています。
diff -uNr FD-2.02a/browse.c.orig FD-2.02a/browse.c
--- FD-2.02a/browse.c.orig 2002-12-25 00:00:00.000000000 +0900
+++ FD-2.02a/browse.c 2003-02-04 12:26:19.000000000 +0900
@@ -17,6 +17,7 @@
extern int setcurdrv __P_((int, int));
#endif
+/* <= 回避策2
#ifdef USEMKDEVH
#include <sys/mkdev.h>
#else
@@ -24,6 +25,7 @@
# include <sys/mknod.h>
# else
# ifdef SVR4
+*/ <= 回避策2
# include <sys/sysmacros.h>
# ifndef major
# define major(n) (((unsigned long)(n) >> 18) & 0x3fff)
@@ -31,6 +33,7 @@
# ifndef minor
# define minor(n) ((unsigned long)((n) & 0x3ffff))
# endif
+/* <= 回避策2
# else
# ifndef major
# define major(n) (((unsigned)(n) >> 8) & 0xff)
@@ -41,6 +44,7 @@
# endif
# endif
#endif
+*/ <= 回避策2
extern bindtable bindlist[];
extern functable funclist[];
diff -uNr FD-2.02a/machine.h.orig FD-2.02a/machine.h
--- FD-2.02a/machine.h.orig 2002-12-25 00:00:00.000000000 +0900
+++ FD-2.02a/machine.h 2003-02-04 12:31:07.000000000 +0900
@@ -295,6 +295,7 @@
#if defined (_IBMR2)
#define SVR4
#define OSTYPE "AIX"
+#define USETERMINFO <= 回避策3
#define TERMCAPLIB "-lcurses"
#define NOTZFILEH
#define USESELECTH
@@ -303,7 +304,7 @@
#define USETERMIO
#define NOTMGMTOFF
#define USESTATFSH
-#define STATFSARGS 4
+#define STATFSARGS 2 <= 回避策1
#define USEMNTCTL
#define USERE_COMP
# if defined (_AIX41)