[#27919] 1.8.4 Preview2 検証 — "URABE Shyouhei aka. mput" <root@...>

卜部です。

33 messages 2005/12/01

[#27997] 1.8.4 documents? — "URABE Shyouhei aka. mput" <root@...>

卜部です。

22 messages 2005/12/12
[#28017] Re: 1.8.4 documents? — Koji Arai <jca02266@...> 2005/12/13

新井です。

[#28082] ruby_1_8 Segmentation fault on Cygwin — yanagi@...

柳田です。

13 messages 2005/12/21
[#28083] Re: ruby_1_8 Segmentation fault on Cygwin — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2005/12/21

山本です。

[#28140] ia64-hpux11.23/socket.sl: this executable file can't load extension libraries (LoadError) — Tanaka Akira <akr@...17n.org>

HP-UX で HP aC++/ANSI C を使って作った ruby で、openssl や drb のテストをすると、

34 messages 2005/12/27
[#28141] Re: ia64-hpux11.23/socket.sl: this executable file can't load extension libraries (LoadError) — WATANABE Tetsuya <Tetsuya.WATANABE@...> 2005/12/28

渡辺哲也です。

[#28142] Re: ia64-hpux11.23/socket.sl: this executable file can't load extension libraries (LoadError) — Tanaka Akira <akr@...17n.org> 2005/12/28

In article <200512280307.jBS37nnj005909@pbsg500.nifty.com>,

[#28147] Re: ia64-hpux11.23/socket.sl: this executable file can't load extension libraries (LoadError) — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2005/12/28

山本です。

[#28149] Re: ia64-hpux11.23/socket.sl: this executable file can't load extension libraries (LoadError) — Tanaka Akira <akr@...17n.org> 2005/12/28

In article <20051228210640.13C71A10.ocean@m2.ccsnet.ne.jp>,

[#28151] Re: ia64-hpux11.23/socket.sl: this executable file can't load extension libraries (LoadError) — WATANABE Tetsuya <Tetsuya.WATANABE@...> 2005/12/29

渡辺哲也です。

[#28152] Re: ia64-hpux11.23/socket.sl: this executable file can't load extensionlibraries (LoadError) — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2005/12/29

山本です。

[#28153] Re: ia64-hpux11.23/socket.sl: this executable file can't load extensionlibraries (LoadError) — "H.Yamamoto" <ocean@...2.ccsnet.ne.jp> 2005/12/29

山本です。

[#28154] thread based generator.rb — Tanaka Akira <akr@...17n.org> 2005/12/29

In article <20051229114438.44D19F00.ocean@m2.ccsnet.ne.jp>,

[ruby-dev:28141] Re: ia64-hpux11.23/socket.sl: this executable file can't load extension libraries (LoadError)

From: WATANABE Tetsuya <Tetsuya.WATANABE@...>
Date: 2005-12-28 03:07:59 UTC
List: ruby-dev #28141
渡辺哲也です。

今朝(12/28)の ruby 1.9 HEAD でコンパイルしてみました。

ia64.s は GNU as に依存しているようです。

あと ext/dl は、gcc 前提のマクロがありそれ以外ではエラー
になるようにコードが書かれています。

as は GNU as を利用するとコンパイルできるのですが HP-UX 
の as だとエラーになるようです。

------------------------------ia64.s でのエラー
$ make
省略
as   -o ia64.o ia64.s
ia64.s:10: error 4001: syntax error
------------------------------

------------------------------GNU as でのアセンブル
$ /usr/local/bin/as   -o ia64.o ia64.s
------------------------------

その後 make を続けると ext/dl で gcc 前提のマクロでコン
パイルに引っかかります。ext/dl は gcc のみサポート?

------------------------------ext/dl/cfunc.c のエラー
compiling dl
make[1]: Entering directory `/home/tetsu/src/ruby19.6/ext/dl'
cc +Z -O0  -I. -I../.. -I../../. -I../.././ext/dl -DHAVE_DLFCN_H -DHAVE_DLOPEN -DHAVE_DLCLOSE -DHAVE_DLSYM -DHAVE_DLERROR  -c cfunc.c
make[1]: Leaving directory `/home/tetsu/src/ruby19.6/ext/dl'
"cfunc.c", line 231: error #2035: #error directive: "unsupported compiler."
  # error "unsupported compiler."
    ^

"cfunc.c", line 280: error #2020: identifier "f" is undefined
            CALL_CASE;
            ^
同様のものが続きます

Error limit reached.
100 errors detected in the compilation of "cfunc.c".
Compilation terminated.
------------------------------

GNU cc のみのマクロがあり HP-UX の C コンパイラでは解釈
しないので次のようにパッチしてコンパイルしました。この状
態で make test は OK ですが make check をするとメモリを
使い果たして落ちてしまいます。

------------------------------make check のエラー
$ make check
test succeeded
./miniruby ./runruby.rb --extout=.ext -- -C "./test" runner.rb --runner=console
Loaded suite .
Started
....................................../home/tetsu/src/ruby19.6/lib/generator.rb:131:in `callcc': failed to allocate memory (NoMemoryError)
        from /home/tetsu/src/ruby19.6/lib/generator.rb:131:in `next'
        from /home/tetsu/src/ruby19.6/lib/generator.rb:161:in `each'
        from /home/tetsu/src/ruby19.6/lib/generator.rb:339:in `test_each'
        from /home/tetsu/src/ruby19.6/lib/test/unit/testcase.rb:70:in `run'
        from /home/tetsu/src/ruby19.6/lib/test/unit/testsuite.rb:34:in `run'
        from /home/tetsu/src/ruby19.6/lib/test/unit/testsuite.rb:33:in `run'
        from /home/tetsu/src/ruby19.6/lib/test/unit/testsuite.rb:34:in `run'
        from /home/tetsu/src/ruby19.6/lib/test/unit/testsuite.rb:33:in `run'
        from /home/tetsu/src/ruby19.6/lib/test/unit/ui/testrunnermediator.rb:46:in `run_suite'
        from /home/tetsu/src/ruby19.6/lib/test/unit/ui/console/testrunner.rb:67:in `start_mediator'
        from /home/tetsu/src/ruby19.6/lib/test/unit/ui/console/testrunner.rb:41:in `start'
        from /home/tetsu/src/ruby19.6/lib/test/unit/ui/testrunnerutilities.rb:29:in `run'
        from /home/tetsu/src/ruby19.6/lib/test/unit/autorunner.rb:200:in `run'
        from /home/tetsu/src/ruby19.6/lib/test/unit/autorunner.rb:13:in `run'
        from runner.rb:9
$ ulimit -a
cpu time (seconds)         unlimited
file size (blocks)         unlimited
data seg size (kbytes)     1048576
stack size (kbytes)        131072
core file size (blocks)    4194303
resident set size (kbytes) unlimited
file descriptors           2048
address space (kb)         unlimited
cached threads             256
AIO operations             unlimited
AIO locked-in-memory (kb)  unlimited
8388608
------------------------------

ruby のプロセスの状態を確認していたら 600MB 以上の目盛り
を確保するところまで確認できたので、上記の上限までメモリ
を使って落ちたみたいです。

------------------------------上記テストで使用したパッチ
--- dl.c.~1.29.~	2005-05-20 10:49:01.000000000 +0900
+++ dl.c	2005-12-28 11:53:10.000000000 +0900
@@ -56,7 +56,7 @@
     return PTR2NUM((void*)val);
 }
 
-#if defined(__GNUC__)
+#if defined(__GNUC__) || defined(__hpux)
 # define PRE_DECL_CDECL     __attribute__((cdecl))
 # define PRE_DECL_STDCALL   __attribute__((stdcall))
 # define MIDST_DECL_CDECL
--- cfunc.c.~1.4.~	2005-03-14 10:50:25.000000000 +0900
+++ cfunc.c	2005-12-28 11:53:00.000000000 +0900
@@ -222,7 +222,7 @@
     return val;
 }
 
-#if defined(__GNUC__)
+#if defined(__GNUC__) || defined(__hpux)
 # define DECL_FUNC(f,ret,args,calltype)  ret (__attribute__((calltype)) *f)(args)
 /* # define DECL_FUNC(f,ret,args,calltype)  ret (*f)(args) */
 #elif defined(_MSC_VER) || defined(__BORLANDC__)

In This Thread