From: Luis Lavena Date: 2011-12-23T05:44:19+09:00 Subject: [ruby-core:41786] [ruby-trunk - Bug #5796][Open] main.c is not compiled during cross compilation Issue #5796 has been reported by Luis Lavena. ---------------------------------------- Bug #5796: main.c is not compiled during cross compilation https://bugs.ruby-lang.org/issues/5796 Author: Luis Lavena Status: Open Priority: Normal Assignee: Nobuyoshi Nakada Category: build Target version: ruby -v: ruby 2.0.0dev r34103 Hello, Attempting to cross-compile trunk against i686-w64-mingw32 (GCC 4.6) is failing to compile main.c when executed a simple "make". Used 1.8.7-p352 as BASERUBY: ruby 1.8.7 (2011-06-30 patchlevel 352) [i686-darwin10.8.0] The configure line: configure --enable-shared --disable-install-doc --host=i686-w64-mingw32
$ make
	CC = i686-w64-mingw32-gcc
	LD = ld
	LDSHARED = i686-w64-mingw32-gcc -shared -s
	CFLAGS = -O3 -fno-omit-frame-pointer -g -Wall -Wextra -Wno-unused-parameter -Wno-parentheses -Wno-long-long -Wno-missing-field-initializers -Wunused-variable -Werror=pointer-arith -Werror=write-strings -Werror=declaration-after-statement -Werror=implicit-function-declaration 
	XCFLAGS = -include ruby/config.h -include ruby/missing.h -D_FORTIFY_SOURCE=2 -fno-strict-overflow -fvisibility=hidden -DRUBY_EXPORT
	CPPFLAGS =   -I. -I.ext/include/i386-mingw32 -I../include -I..
	DLDFLAGS = -Wl,--enable-auto-image-base,--enable-auto-import -Wl,--out-implib=libmsvcrt-ruby191.dll.a msvcrt-ruby191.def -Wl,--stack,0x00200000,--enable-auto-import  
	SOLIBS = msvcrt-ruby191.res.o -lshell32 -lws2_32 -limagehlp  
config.status: creating i386-mingw32-fake.rb
rbconfig.rb updated
generating enc.mk
generating msvcrt-ruby191.rc
...
compiling ../win32/win32.c
../win32/win32.c: In function ���rb_chsize���:
../win32/win32.c:4667:11: warning: variable ���end��� set but not used [-Wunused-but-set-variable]
generating prelude.c
compiling prelude.c
compiling ../dmyext.c
linking static-library libmsvcrt-ruby191-static.a
i686-w64-mingw32-gcc: error: main.o: No such file or directory
make: *** [libmsvcrt-ruby191-static.a] Error 1
If I do `make ruby` it now compiles main.o:
$ make ruby
compiling ruby.res.o
generating msvcrt-ruby191.def
linking shared-library msvcrt-ruby191.dll
Creating library file: libmsvcrt-ruby191.dll.a
compiling ../main.c
linking ruby.exe
And I can issue `make` again to build extensions -- http://redmine.ruby-lang.org