[ruby-list:43225] Re: Ruby 1.8.6 preview2 has been released
From:
KOBAYASHI Yasuhiro <kobayays@...>
Date:
2007-02-27 09:32:56 UTC
List:
ruby-list #43225
こばやしです。
下記の環境でBuildしてみました。
mingw32
gcc (GCC) 3.4.4 (cygming special, gdc 0.12, using dmd 0.125)
その結果、
opensslでコンパイルエラー
strscanとthreadでリンクエラー
make checkは成功しましたが、最後にSegmentation faultとなりま
した。
opensslでは、Mingw32の環境はconfigure時に、
ac_cv_header_sys_times_h=no
と指定しているけれど、
opensslのextend.rbでは、ヘッダーファイルのチェックをしていて、
ヘッダーファイルが存在するというのがまずそうです。
その他のところは、時間がないので未調査です。
よろしくお願いします。
-------->8-------->8-------->8-------->8-------->8--------
~/ruby-1.8.6-preview2$ ./configure --with-gcc='gcc -mno-cygwin' --with-winsock2 --enable-shared --with-opt-dir=/usr/local
checking build system type... i686-pc-cygwin
checking host system type... i686-pc-cygwin
checking target system type... i686-pc-cygwin
checking for gcc... gcc -mno-cygwin
[...]
~/ruby-1.8.6-preview2$ make -k
gcc -mno-cygwin -g -O2 -DRUBY_EXPORT -I. -I. -c array.c
[...]
compiling openssl
make[1]: Entering directory `/home/kobayays/ruby-1.8.6-preview2/ext/openssl'
gcc -mno-cygwin -I. -I../.. -I../../. -I../.././ext/openssl -DRUBY_EXTCONF_H=\"extconf.h\" -I/usr/local/include -g -O2 -c openssl_missing.c
gcc -mno-cygwin -I. -I../.. -I../../. -I../.././ext/openssl -DRUBY_EXTCONF_H=\"extconf.h\" -I/usr/local/include -g -O2 -c ossl.c
In file included from ../../missing.h:16,
from ../../ruby.h:718,
from ossl.h:26,
from ossl.c:11:
/usr/lib/gcc/i686-pc-mingw32/3.4.4/../../../../i686-pc-mingw32/include/sys/time.h:27: error: redefinition of `struct timezone'
/usr/lib/gcc/i686-pc-mingw32/3.4.4/../../../../i686-pc-mingw32/include/sys/time.h:40: error: conflicting types for 'gettimeofday'
../../win32/win32.h:209: error: previous declaration of 'gettimeofday' was here
/usr/lib/gcc/i686-pc-mingw32/3.4.4/../../../../i686-pc-mingw32/include/sys/time.h:40: error: conflicting types for 'gettimeofday'
../../win32/win32.h:209: error: previous declaration of 'gettimeofday' was here
make[1]: *** [ossl.o] Error 1
gcc -mno-cygwin -I. -I../.. -I../../. -I../.././ext/openssl -DRUBY_EXTCONF_H=\"extconf.h\" -I/usr/local/include -g -O2 -c ossl_asn1.c
[...]
compiling strscan
make[1]: Entering directory `/home/kobayays/ruby-1.8.6-preview2/ext/strscan'
gcc -mno-cygwin -I. -I../.. -I../../. -I../.././ext/strscan -I/usr/local/include -g -O2 -c strscan.c
gcc -mno-cygwin -shared -s -Wl,--enable-auto-import,--export-all -L"/usr/local/lib" -L"../.." -o ../../.ext/i386-mingw32/strscan.so strscan.o -lmsvcrt-ruby18 -lws2_32
strscan.o: In function `strscan_do_scan':
/home/kobayays/ruby-1.8.6-preview2/ext/strscan/strscan.c:406: undefined reference to `_rb_kcode_set_option'
/home/kobayays/ruby-1.8.6-preview2/ext/strscan/strscan.c:420: undefined reference to `_rb_kcode_reset_option'
collect2: ld returned 1 exit status
make[1]: *** [../../.ext/i386-mingw32/strscan.so] Error 1
make[1]: Target `all' not remade because of errors.
make[1]: Leaving directory `/home/kobayays/ruby-1.8.6-preview2/ext/strscan'
[...]
compiling thread
make[1]: Entering directory `/home/kobayays/ruby-1.8.6-preview2/ext/thread'
gcc -mno-cygwin -I. -I../.. -I../../. -I../.././ext/thread -I/usr/local/include -DUSE_MEM_POOLS -g -O2 -c thread.c
gcc -mno-cygwin -shared -s -Wl,--enable-auto-import,--export-all -L"/usr/local/lib" -L"../.." -o ../../.ext/i386-mingw32/thread.so thread.o -lmsvcrt-ruby18 -lws2_32
thread.o: In function `wake_thread':
/home/kobayays/ruby-1.8.6-preview2/ext/thread/thread.c:212: undefined reference to `_rb_eThreadError'
thread.o: In function `run_thread':
/home/kobayays/ruby-1.8.6-preview2/ext/thread/thread.c:219: undefined reference to `_rb_eThreadError'
thread.o: In function `wait_condvar':
/home/kobayays/ruby-1.8.6-preview2/ext/thread/thread.c:647: undefined reference to `_rb_eThreadError'
thread.o: In function `rb_queue_pop':
/home/kobayays/ruby-1.8.6-preview2/ext/thread/thread.c:989: undefined reference to `_rb_eThreadError'
collect2: ld returned 1 exit status
make[1]: *** [../../.ext/i386-mingw32/thread.so] Error 1
cp ../.././ext/thread/lib/thread.rb ../../.ext/common
make[1]: Target `all' not remade because of errors.
make[1]: Leaving directory `/home/kobayays/ruby-1.8.6-preview2/ext/thread'
[...]
make[1]: Leaving directory `/home/kobayays/ruby-1.8.6-preview2/ext/zlib'
making ruby.exe, rubyw.exe
make[1]: Entering directory `/home/kobayays/ruby-1.8.6-preview2'
windres --include-dir . --include-dir . --include-dir ./win32 ruby.rc ruby.res.o
gcc -mno-cygwin -g -O2 -DRUBY_EXPORT -Wl,--stack,0x02000000 -L. main.o ruby.res.o -lmsvcrt-ruby18 -lws2_32 -o ruby.exe
windres --include-dir . --include-dir . --include-dir ./win32 rubyw.rc rubyw.res.o
gcc -mno-cygwin -mwindows -e _mainCRTStartup -g -O2 -DRUBY_EXPORT -Wl,--stack,0x02000000 -L. \
main.o rubyw.res.o -lmsvcrt-ruby18 -lws2_32 -o rubyw.exe
make[1]: Leaving directory `/home/kobayays/ruby-1.8.6-preview2'
~/ruby-1.8.6-preview2$ make check
test succeeded
./miniruby.exe ./runruby.rb --extout=.ext -- "./test/runner.rb" --basedir="./test" --runner=console
This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information.
./test/dbm/test_dbm.rb:20: [BUG] Segmentation fault
ruby 1.8.6 (2007-02-24) [i386-mingw32]
make: *** [test-all] Error 3
~/ruby-1.8.6-preview2$ gcc --version
gcc (GCC) 3.4.4 (cygming special, gdc 0.12, using dmd 0.125)
Copyright (C) 2004 Free Software Foundation, Inc.
This is free software; see the source for copying conditions. There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
~/ruby-1.8.6-preview2$
-------->8-------->8-------->8-------->8-------->8--------
--
KOBAYASHI Yasuhiro <kobayays@gmail.com>