From: Luis Lavena Date: 2008-11-16T07:12:13+09:00 Subject: [ruby-core:19953] Re: build error with "nightly snapshot" On Sat, Nov 15, 2008 at 6:53 PM, Roger Pack wrote: >>> It is curious. How are topdir extout defined in the Makefile? >>> And since you don't use -mno-cygwin option, I suspect you use >>> mingw which isn't cygwin. Then it isn't supported now. >> Interesting--I successfully compiled it a few days ago. I might have >> been using cygwin make if that's the case :) > > For any followers: > > Appears that if you make, then compile the extensions "by hand" then > run make install it works [?] > > ex: > make > then > > for dir in Dir.glob 'ext/*' do; > next unless File.directory? dir > command = ("cd #{dir.gsub('/', '\\')}; make; cd ..") > print command > for command in command.split(';') do; > system command > end > end > > then > make install > > Not sure if it installs it right but it appears to. I think the OCI > guys might have better tricks up their sleeves than this to get it to > compile with solely mingw, but I haven't looked at it too closely. The trick is the usage of MinGW compiler + 'make' from MSYS (which is similar to cygwin but play much better with MinGW). Doing this way, we have ./configure, make and make install that mimics *nix system while compile native versions, thus the compilation of the extensions is performed flawlessly. Switch to mingw-make break this since the generated Makefile by configure contains *nix PATHs, which are not compatible with mingw-make. > > I'll probably look into "certifying it" sometime :) > -- Luis Lavena AREA 17 - Human beings, who are almost unique in having the ability to learn from the experience of others, are also remarkable for their apparent disinclination to do so. Douglas Adams