Bug #7894

Ruby mswin target does not build

Added by Mark Salisbury almost 4 years ago. Updated almost 4 years ago.

Target version:
ruby -v:
1.9.3, 2.0


Building Ruby using nmake fails. Perhaps the nmake target (mswin) isn't supported anymore?

Here's what I've attempted:
1) I've installed ruby using a download from the ruby installer project ( However, this is built using the mingw toolchain on windows. I need an import lib.
2) I have downloaded the Ruby 1.9.3 source as well as checked out trunk from github.

I started looking at the build failures. Everything compiles but there are link errors. file.obj has multiply defined symbols (and there are two file.obj files, the common version and the win32 version). It seems that when compiling the common file.obj, that WIN32 isn't defined, so methods that are supposed to be implemented in win32/file.c are implemented in both. Then there are other missing symbols.

How I got here:
I'm building webkit using cmake and the ruby package locator in cmake reports that ruby is not found because it can't find a .lib file (it does find the ruby executable however). It appears if the mswin/nmake build worked then an import lib would be created. The import lib would allow Visual C++ applications to link against the ruby .dll. Looking at webkit's cmake files in more detail, all they need is to find the ruby executable, so I'm not going to investigate this further. I thought I'd report this issue though in case there are others who want to use ruby .dll from a Visual C++ application.


#1 [ruby-core:52583] Updated by Luis Lavena almost 4 years ago

  • Status changed from Open to Feedback
  • Assignee set to Usaku NAKAMURA

Please provide the exact output and the context around the build failure.

Also provide details of the compiler version that you're using (cl /?) and the version of nmake too.

The output log will be more helpful than the analysis of the issue.

Thank you.

Also available in: Atom PDF