御無沙汰しております。小山です。
職場の Solaris 2.6で rubyを makeしてみました。
sourceは、なんとトッパンの「 Linuxインストールキット」の
ruby122.src.tar.gz
を使用しました。
gcc 2.8.1をつかいました。
最初 arコマンドが無いと 怒られましたので /usr/ucc/bin
の arコマンドを使用しました。
ちょっとメッセージが汚かったので御報告いたします。
make[1]: Entering directory `/export/home/usr/local/ruby/ruby-1.2.2/ext/tk'
gcc -fpic -I/export/home/usr/local/ruby/ruby-1.2.2 -I/export/home/usr/local/ruby/ruby-1.2.2 -I/usr/local/include -g -O2 -c tkutil.c -o tkutil.o
ld -o tkutil.so tkutil.o -lc
ld -o tkutil.so tkutil.o -lc
未定義の 最初に参照している
シンボル ファイル
rb_define_singleton_method tkutil.o
rb_funcall2 tkutil.o
cObject tkutil.o
obj_alloc tkutil.o
rb_define_module tkutil.o
rb_yield_0 tkutil.o
iterator_p tkutil.o
rb_scan_args tkutil.o
rb_define_class tkutil.o
rb_eval_cmd tkutil.o
rb_intern tkutil.o
ld: 重大なエラー: シンボル参照エラー。tkutil.so に書き込まれる出力はありません
make[1]: *** [tkutil.so] Error 1
make[1]: Leaving directory `/export/home/usr/local/ruby/ruby-1.2.2/ext/tk'
compiling tcltklib
compiling socket
make[1]: Entering directory `/export/home/usr/local/ruby/ruby-1.2.2/ext/socket'
gcc -fpic -I/export/home/usr/local/ruby/ruby-1.2.2 -I/export/home/usr/local/ruby/ruby-1.2.2 -I/usr/local/include -g -O2 -DHAVE_SYS_UN_H -DHAVE_SOCKET -DHAVE_GETHOSTNAME -c socket.c -o socket.o
ld -L/usr/local/lib -o socket.so socket.o -lsocket -lnsl -lc
未定義の 最初に参照している
シンボル ファイル
rb_check_safe_str socket.o
rb_define_singleton_method socket.o
cInteger socket.o
obj_is_kind_of socket.o
ary_push socket.o
str_taint socket.o
io_check_closed socket.o
rb_undef_method socket.o
trap_immediate socket.o
rb_define_module_under socket.o
str_new socket.o
str_modify socket.o
num2long socket.o
Raise socket.o
cIO socket.o
ary_new socket.o
thread_schedule socket.o
thread_fd_writable socket.o
eStandardError socket.o
rb_sys_fail socket.o
rb_define_const socket.o
obj_call_init socket.o
thread_wait_fd socket.o
thread_select socket.o
rb_define_method socket.o
rb_fdopen socket.o
rb_secure socket.o
rb_newobj socket.o
assoc_new socket.o
str_new2 socket.o
xmalloc socket.o
rb_scan_args socket.o
rb_define_class socket.o
str2cstr socket.o
ld: 重大なエラー: シンボル参照エラー。socket.so に書き込まれる出力はありません
make[1]: *** [socket.so] Error 1
make[1]: Leaving directory `/export/home/usr/local/ruby/ruby-1.2.2/ext/socket'
compiling md5
make[1]: Entering directory `/export/home/usr/local/ruby/ruby-1.2.2/ext/md5'
gcc -fpic -I/export/home/usr/local/ruby/ruby-1.2.2 -I/export/home/usr/local/ruby/ruby-1.2.2 -I/usr/local/include -g -O2 -c md5init.c -o md5init.o
gcc -fpic -I/export/home/usr/local/ruby/ruby-1.2.2 -I/export/home/usr/local/ruby/ruby-1.2.2 -I/usr/local/include -g -O2 -c md5c.c -o md5c.o
ld -o md5.so md5init.o md5c.o -lc
未定義の 最初に参照している
シンボル ファイル
rb_define_singleton_method md5init.o
cObject md5init.o
str_new md5init.o
obj_call_init md5init.o
rb_define_method md5init.o
xmalloc md5init.o
rb_scan_args md5init.o
rb_define_class md5init.o
rb_check_type md5init.o
rb_class_of md5init.o
data_object_alloc md5init.o
ld: 重大なエラー: シンボル参照エラー。md5.so に書き込まれる出力はありません
make[1]: *** [md5.so] Error 1
make[1]: Leaving directory `/export/home/usr/local/ruby/ruby-1.2.2/ext/md5'
compiling kconv
make[1]: Entering directory `/export/home/usr/local/ruby/ruby-1.2.2/ext/kconv'
gcc -fpic -I/export/home/usr/local/ruby/ruby-1.2.2 -I/export/home/usr/local/ruby/ruby-1.2.2 -I/usr/local/include -g -O2 -c kconv.c -o kconv.o
ld -o kconv.so kconv.o -lc
未定義の 最初に参照している
シンボル ファイル
rb_get_kcode kconv.o
str_new kconv.o
rb_define_module kconv.o
num2long kconv.o
rb_define_const kconv.o
rb_define_module_function kconv.o
rb_scan_args kconv.o
rb_check_type kconv.o
ld: 重大なエラー: シンボル参照エラー。kconv.so に書き込まれる出力はありません
make[1]: *** [kconv.so] Error 1
make[1]: Leaving directory `/export/home/usr/local/ruby/ruby-1.2.2/ext/kconv'
compiling fcntl
make[1]: Entering directory `/export/home/usr/local/ruby/ruby-1.2.2/ext/fcntl'
gcc -fpic -I/export/home/usr/local/ruby/ruby-1.2.2 -I/export/home/usr/local/ruby/ruby-1.2.2 -I/usr/local/include -g -O2 -c
fcntl.c -o fcntl.o
ld -o fcntl.so fcntl.o -lc
未定義の 最初に参照している
シンボル ファイル
rb_define_module fcntl.o
rb_define_const fcntl.o
int2inum fcntl.o
ld: 重大なエラー: シンボル参照エラー。fcntl.so に書き込まれる出力はありません
make[1]: *** [fcntl.so] Error 1
make[1]: Leaving directory `/export/home/usr/local/ruby/ruby-1.2.2/ext/fcntl'
make[1]: Entering directory `/export/home/usr/local/ruby/ruby-1.2.2/ext/etc'
gcc -fpic -I/export/home/usr/local/ruby/ruby-1.2.2 -I/export/home/usr/local/ruby/ruby-1.2.2 -I/usr/local/include -g -O2 -DHAVE_GETLOGIN -DHAVE_GETPWENT -DHAVE_GETGRENT -DPW_GECOS -DPW_AGE -DPW_COMMENT -c etc.c -o etc.o
ld -o etc.so etc.o -lc
未定義の 最初に参照している
シンボル ファイル
ary_push etc.o
rb_define_module etc.o
num2long etc.o
ary_new etc.o
rb_sys_fail etc.o
rb_yield etc.o
rb_define_module_function etc.o
rb_global_variable etc.o
Fail etc.o
struct_new etc.o
iterator_p etc.o
struct_define etc.o
str_new2 etc.o
rb_scan_args etc.o
rb_check_type etc.o
ld: 重大なエラー: シンボル参照エラー。etc.so に書き込まれる出力はありません
make[1]: *** [etc.so] Error 1
make[1]: Leaving directory `/export/home/usr/local/ruby/ruby-1.2.2/ext/etc'
compiling dbm
make[1]: Entering directory `/export/home/usr/local/ruby/ruby-1.2.2/ext/dbm'
gcc -fpic -I/export/home/usr/local/ruby/ruby-1.2.2 -I/export/home/usr/local/ruby/ruby-1.2.2 -I/usr/local/include -g -O2 -DHAVE_DBM_OPEN -DHAVE_DBM_CLEARERR -c dbm.c -o dbm.o
ld -L/usr/local/lib -o dbm.so dbm.o -lc
未定義の 最初に参照している
シンボル ファイル
rb_include_module dbm.o
rb_check_safe_str dbm.o
rb_define_singleton_method dbm.o
rb_define_alias dbm.o
ary_push dbm.o
str_taint dbm.o
mEnumerable dbm.o
rb_funcall dbm.o
cObject dbm.o
str_new dbm.o
num2long dbm.o
ary_new dbm.o
obj_as_string dbm.o
ArgError dbm.o
rb_sys_fail dbm.o
rb_yield dbm.o
obj_call_init dbm.o
Fail dbm.o
rb_define_method dbm.o
hash_aset dbm.o
rb_secure dbm.o
iterator_p dbm.o
assoc_new dbm.o
hash_new dbm.o
xmalloc dbm.o
rb_scan_args dbm.o
rb_define_class dbm.o
rb_check_type dbm.o
rb_iterate dbm.o
data_object_alloc dbm.o
rb_intern dbm.o
ary_new2 dbm.o
ld: 重大なエラー: シンボル参照エラー。dbm.so に書き込まれる出力はありません
make[1]: *** [dbm.so] Error 1
make[1]: Leaving directory `/export/home/usr/local/ruby/ruby-1.2.2/ext/dbm'
compiling curses
make[1]: Entering directory `/export/home/usr/local/ruby/ruby-1.2.2/ext/curses'
gcc -fpic -I/export/home/usr/local/ruby/ruby-1.2.2
-I/export/home/usr/local/ruby/ruby-1.2.2 -I/usr/local/include -g -O2 -DHAVE_ISENDWIN -DHAVE_UNGETCH -DHAVE_BEEP -DHAVE_DOUPDATE -DHAVE_FLASH -c curses.c -o curses.o
In file included from curses.c:30:
/export/home/usr/local/ruby/ruby-1.2.2/ruby.h:40: warning: `ISPRINT' redefined
/usr/include/sys/euc.h:26: warning: this is the location of the previous definition
ld -L/usr/local/lib -o curses.so curses.o -lcurses -ltermcap -lc
未定義の 最初に参照している
シンボル ファイル
flash curses.o
noecho curses.o
isendwin curses.o
rb_define_singleton_method curses.o
winch curses.o
initscr32 curses.o
rb_define_alias curses.o
str_taint curses.o
box32 curses.o
beep curses.o
rb_define_class_under curses.o
cObject curses.o
w32insch curses.o
rb_define_module curses.o
num2long curses.o
cbreak curses.o
getcurx curses.o
getcury curses.o
rb_define_module_function curses.o
obj_call_init curses.o
Fail curses.o
nonl curses.o
ungetch curses.o
-I/export/home/usr/local/ruby/ruby-1.2.2 -I/usr/local/include -g -O2 -DHAVE_ISENDWIN -DHAVE_UNGETCH -DHAVE_BEEP -DHAVE_DOUPDATE -DHAVE_FLASH -c curses.c -o curses.o
In file included from curses.c:30:
/export/home/usr/local/ruby/ruby-1.2.2/ruby.h:40: warning: `ISPRINT' redefined
/usr/include/sys/euc.h:26: warning: this is the location of the previous definition
ld -L/usr/local/lib -o curses.so curses.o -lcurses -ltermcap -lc
未定義の 最初に参照している
シンボル ファイル
flash curses.o
noecho curses.o
isendwin curses.o
rb_define_singleton_method curses.o
winch curses.o
initscr32 curses.o
rb_define_alias curses.o
str_taint curses.o
box32 curses.o
beep curses.o
rb_define_class_under curses.o
cObject curses.o
w32insch curses.o
rb_define_module curses.o
num2long curses.o
cbreak curses.o
getcurx curses.o
getcury curses.o
rb_define_module_function curses.o
obj_call_init curses.o
Fail curses.o
nonl curses.o
ungetch curses.o
-I/export/home/usr/local/ruby/ruby-1.2.2 -I/usr/local/include -g -O2 -DHAVE_ISENDWIN -DHAVE_UNGETCH -DHAVE_BEEP -DHAVE_DOUPDATE -DHAVE_FLASH -c curses.c -o curses.o
In file included from curses.c:30:
/export/home/usr/local/ruby/ruby-1.2.2/ruby.h:40: warning: `ISPRINT' redefined
/usr/include/sys/euc.h:26: warning: this is the location of the previous definition
ld -L/usr/local/lib -o curses.so curses.o -lcurses -ltermcap -lc
未定義の 最初に参照している
シンボル ファイル
flash curses.o
noecho curses.o
isendwin curses.o
rb_define_singleton_method curses.o
winch curses.o
initscr32 curses.o
rb_define_alias curses.o
str_taint curses.o
box32 curses.o
beep curses.o
rb_define_class_under curses.o
cObject curses.o
w32insch curses.o
rb_define_module curses.o
num2long curses.o
cbreak curses.o
getcurx curses.o
getcury curses.o
rb_define_module_function curses.o
obj_call_init curses.o
Fail curses.o
nonl curses.o
ungetch curses.o
-I/export/home/usr/local/ruby/ruby-1.2.2 -I/usr/local/include -g -O2 -DHAVE_ISENDWIN -DHAVE_UNGETCH -DHAVE_BEEP -DHAVE_DOUPDATE -DHAVE_FLASH -c curses.c -o curses.o
In file included from curses.c:30:
/export/home/usr/local/ruby/ruby-1.2.2/ruby.h:40: warning: `ISPRINT' redefined
/usr/include/sys/euc.h:26: warning: this is the location of the previous definition
ld -L/usr/local/lib -o curses.so curses.o -lcurses -ltermcap -lc
未定義の 最初に参照している
シンボル ファイル
flash curses.o
noecho curses.o
isendwin curses.o
rb_define_singleton_method curses.o
winch curses.o
initscr32 curses.o
rb_define_alias curses.o
str_taint curses.o
box32 curses.o
beep curses.o
rb_define_class_under curses.o
cObject curses.o
w32insch curses.o
rb_define_module curses.o
num2long curses.o
cbreak curses.o
getcurx curses.o
getcury curses.o
rb_define_module_function curses.o
obj_call_init curses.o
Fail curses.o
nonl curses.o
ungetch curses.o
-I/export/home/usr/local/ruby/ruby-1.2.2 -I/usr/local/include -g -O2 -DHAVE_ISENDWIN -DHAVE_UNGETCH -DHAVE_BEEP -DHAVE_DOUPDATE -DHAVE_FLASH -c curses.c -o curses.o
In file included from curses.c:30:
/export/home/usr/local/ruby/ruby-1.2.2/ruby.h:40: warning: `ISPRINT' redefined
/usr/include/sys/euc.h:26: warning: this is the location of the previous definition
ld -L/usr/local/lib -o curses.so curses.o -lcurses -ltermcap -lc
未定義の 最初に参照している
シンボル ファイル
flash curses.o
noecho curses.o
isendwin curses.o
rb_define_singleton_method curses.o
winch curses.o
initscr32 curses.o
rb_define_alias curses.o
str_taint curses.o
box32 curses.o
beep curses.o
rb_define_class_under curses.o
cObject curses.o
w32insch curses.o
rb_define_module curses.o
num2long curses.o
cbreak curses.o
getcurx curses.o
getcury curses.o
rb_define_module_function curses.o
obj_call_init curses.o
Fail curses.o
nonl curses.o
ungetch curses.o
-I/export/home/usr/local/ruby/ruby-1.2.2 -I/usr/local/include -g -O2 -DHAVE_ISENDWIN -DHAVE_UNGETCH -DHAVE_BEEP -DHAVE_DOUPDATE -DHAVE_FLASH -c curses.c -o curses.o
In file included from curses.c:30:
/export/home/usr/local/ruby/ruby-1.2.2/ruby.h:40: warning: `ISPRINT' redefined
/usr/include/sys/euc.h:26: warning: this is the location of the previous definition
ld -L/usr/local/lib -o curses.so curses.o -lcurses -ltermcap -lc
未定義の 最初に参照している
シンボル ファイル
flash curses.o
noecho curses.o
isendwin curses.o
rb_define_singleton_method curses.o
winch curses.o
initscr32 curses.o
rb_define_alias curses.o
str_taint curses.o
box32 curses.o
beep curses.o
rb_define_class_under curses.o
cObject curses.o
w32insch curses.o
rb_define_module curses.o
num2long curses.o
cbreak curses.o
getcurx curses.o
getcury curses.o
rb_define_module_function curses.o
obj_call_init curses.o
Fail curses.o
nonl curses.o
ungetch curses.o
raw curses.o
rb_define_method curses.o
str_new2 curses.o
xmalloc curses.o
w32addch curses.o
noraw curses.o
nl curses.o
getmaxx curses.o
echo curses.o
str2cstr curses.o
getmaxy curses.o
rb_set_end_proc curses.o
rb_check_type curses.o
data_object_alloc curses.o
doupdate curses.o
nocbreak curses.o
getbegx curses.o
getbegy curses.o
ld: 重大なエラー: シンボル参照エラー。curses.so に書き込まれる出力はありません
make[1]: *** [curses.so] Error 1
make[1]: Leaving directory `/export/home/usr/local/ruby/ruby-1.2.2/ext/curses'
make[1]: Entering directory `/export/home/usr/local/ruby/ruby-1.2.2'
gcc -g -O2 -I. -I. -I/usr/local/include main.o libruby.a -ldl -lcrypt -lm -o ruby
make[1]: Leaving directory `/export/home/usr/local/ruby/ruby-1.2.2'
このあと ちゃんと実行ファイルができていたので
make testして make installしました。
ふつうに実行する分にはちゃんと動いているので問題ないと思うのですが
(おそらく tkとか使うときに問題があるのかもしれません。)
ベテランの方から御意見をいただけると嬉しいと思います。
(ただとりあえずはテキスト加工や集計等につかってみるつもりです。)
Solaris 2.6で使っていらっしゃる方の御意見もいただけると有難いと思います。
小山英夫 : fa8h-kym / asahi-net.or.jp