Backport #2592

Cannot compile 1.8.6-p388 under MinGW due F_GETFD being underclared

Added by Luis Lavena about 2 years ago. Updated 10 months ago.

[ruby-core:27525]
Status:Closed Start date:01/11/2010
Priority:Normal Due date:
Assignee:Kirk Haines % Done:

100%

Category:-
Target version:-

Description

Hello,

I'm trying to compile the lastest version of Ruby 1.8.6, released this weekend that covers the security issue exposed of WEBrick, but I'm having some problems:

<pre>
../ruby_1_8/eval.c: In function `rb_thread_schedule':
../ruby_1_8/eval.c:10821: error: `F_GETFD' undeclared (first use in this function)
../ruby_1_8/eval.c:10821: error: (Each undeclared identifier is reported only once
../ruby_1_8/eval.c:10821: error: for each function it appears in.)
make: *** [eval.o] Error 1
</pre>

Which seems completely unrelated to the issue of WEBrick, but is affecting my compilation process to deliver updated RubyInstallers.

Tried to find the commit of origin of this without success.

Seems to me that on every patchlevel, either of 1.8.6, 1.8.7 and 1.9.1 numerous build issues are being introduced.

I would love to share my tools and knowledge to someone at Ruby-Core that could check these releases simply building under Windows prior a release. We have automated almost completely the process and require minimum setup to use it.

Thank you.

Associated revisions

Revision 26361
Added by wyhaines about 2 years ago

eval.c: Backport #2592 [ruby-core:27525]; Added an ifndef for WIN32 so that F_GETFD isn't used on that platform. Fixes a build issue. dln.c: Bug #2220 [ruby-core:26117]; Patch to fix dln.c so that extensions work properly under Snow Leopard.

History

Updated by Kirk Haines about 2 years ago

On Sun, Jan 10, 2010 at 6:31 PM, Luis Lavena <redmine@ruby-lang.org> wrote:
> Bug #2592: Cannot compile 1.8.6-p388 under MinGW due F_GETFD being underclared
> http://redmine.ruby-lang.org/issues/show/2592
>
> Author: Luis Lavena
> Status: Open, Priority: Normal
> Assigned to: Kirk Haines
> ruby -v: ruby 1.8.6 (2009-08-04 patchlevel 383) [i386-mingw32]
>
> Hello,
>
> I'm trying to compile the lastest version of Ruby 1.8.6, released this weekend that covers the security issue exposed of WEBrick, but I'm having some problems:
>
> <pre>
> ../ruby_1_8/eval.c: In function `rb_thread_schedule':
> ../ruby_1_8/eval.c:10821: error: `F_GETFD' undeclared (first use in this function)
> ../ruby_1_8/eval.c:10821: error: (Each undeclared identifier is reported only once
> ../ruby_1_8/eval.c:10821: error: for each function it appears in.)
> make: *** [eval.o] Error 1
> </pre>
>
> Which seems completely unrelated to the issue of WEBrick, but is affecting my compilation process to deliver updated RubyInstallers.
>
> Tried to find the commit of origin of this without success.


r24600

Backport #1001; handle EBADF in select() to avoid Interpreter-wide
deadlock when native close() is called on fd which is currently being
IO#select()ed.

I agree that having a decent way to test builds on Windows would be invaluable.

For the time being, guide me on how to fix that to be friendly to Windows.


Thanks,

Kirk Haines

Updated by Kirk Haines about 2 years ago

On Sun, Jan 10, 2010 at 6:31 PM, Luis Lavena <redmine@ruby-lang.org> wrote:
> Bug #2592: Cannot compile 1.8.6-p388 under MinGW due F_GETFD being underclared
> http://redmine.ruby-lang.org/issues/show/2592
>
> Author: Luis Lavena
> Status: Open, Priority: Normal
> Assigned to: Kirk Haines
> ruby -v: ruby 1.8.6 (2009-08-04 patchlevel 383) [i386-mingw32]
>
> Hello,
>
> I'm trying to compile the lastest version of Ruby 1.8.6, released this weekend that covers the security issue exposed of WEBrick, but I'm having some problems:
>
> <pre>
> ../ruby_1_8/eval.c: In function `rb_thread_schedule':
> ../ruby_1_8/eval.c:10821: error: `F_GETFD' undeclared (first use in this function)
> ../ruby_1_8/eval.c:10821: error: (Each undeclared identifier is reported only once
> ../ruby_1_8/eval.c:10821: error: for each function it appears in.)
> make: *** [eval.o] Error 1
> </pre>
>
> Which seems completely unrelated to the issue of WEBrick, but is affecting my compilation process to deliver updated RubyInstallers.
>
> Tried to find the commit of origin of this without success.


r24600

Backport #1001; handle EBADF in select() to avoid Interpreter-wide
deadlock when native close() is called on fd which is currently being
IO#select()ed.

I agree that having a decent way to test builds on Windows would be invaluable.

For the time being, guide me on how to fix that to be friendly to Windows.


Thanks,

Kirk Haines

Updated by Nobuyoshi Nakada about 2 years ago

r22627.

Updated by Luis Lavena about 2 years ago

Thank you Mr. Nakada,

Discussed with Kirk over IRC and reported success building with MinGW.

Thank you again,
--
Luis Lavena

Updated by Kirk Haines about 2 years ago

  • Status changed from Open to Closed
  • % Done changed from 0 to 100
This issue was solved with changeset r26361.
Luis, thank you for reporting this issue.
Your contribution to Ruby is greatly appreciated.
May Ruby be with you.

Also available in: Atom PDF