Project

General

Profile

Actions

Bug #14827

closed

Fails to compile on GNU/Hurd: IOV_MAX undefined

Added by paulusASol (Paul Sonnenschein) about 4 years ago. Updated about 4 years ago.

Status:
Closed
Priority:
Normal
Assignee:
-
Target version:
-
ruby -v:
ruby 2.6.0dev (2018-06-05 trunk 63572) [i686-gnu0.9]
[ruby-core:87417]

Description

Description
The existence of the writev() syscall does not imply that the IOV_MAX macro exists.
Because on GNU/Hurd operating systems the IOV_MAX macro does not exist, Ruby fails to compile there.

Reproduce
Install a GNU/Hurd operating system and try to compile Ruby.

The patch
The patch simply ignores IOV_MAX if it is not defined.


Files

ruby-changes.patch (465 Bytes) ruby-changes.patch A simple patch proposal paulusASol (Paul Sonnenschein), 06/05/2018 07:46 PM
Actions #1

Updated by normalperson (Eric Wong) about 4 years ago

  • Status changed from Open to Closed

Applied in changeset trunk|r63576.


io.c: fix compilation when IOV_MAX is not defined

GNU/Hurd has writev(2) but does not define IOV_MAX
[ruby-core:87417] [Bug #14827]

Reported-by: Paul Sonnenschein

Updated by normalperson (Eric Wong) about 4 years ago

wrote:

https://bugs.ruby-lang.org/issues/14827

Thanks for the report.

I'm trying to reduce mixing CPP and C conditionals, so I hoisted
the IOV_MAX check into a new iovcnt_ok function in r63576 which
should still work for you.

Actions

Also available in: Atom PDF