[prev in list] [next in list] [prev in thread] [next in thread] 

List:       ruby-core
Subject:    [ruby-core:92902] [Ruby trunk Feature#15665] Cannot compile socket extension on Mojave
From:       franklinyu () hotmail ! com
Date:       2019-05-31 4:50:05
Message-ID: redmine.journal-78275.20190531045004.95efa2eeb0d42741 () ruby-lang ! org
[Download RAW message or body]

Issue #15665 has been updated by franklinyu (Franklin Yu).


nobu (Nobuyoshi Nakada) wrote:
> Applied in changeset commit:git|fe3ff5afb07e171fd950623c69abfbabbb2762a3.
> 
> ----------
> Suppress paranoid warnings for external/3rd-party libraries
> 
> [Feature #15665]

I have verified that the changeset works for 2.6 on my machine. It is currently in \
trunk, which would go to 2.7 eventually; would it be backported to 2.6 branch?

----------------------------------------
Feature #15665: Cannot compile socket extension on Mojave
https://bugs.ruby-lang.org/issues/15665#change-78275

* Author: franklinyu (Franklin Yu)
* Status: Closed
* Priority: Normal
* Assignee: 
* Target version: 
----------------------------------------
The `mkmf.log` is reporting that it cannot find `netinet6/in6.h`. I guess that \
previously it's finding it in `/usr/include`, but as we all know Apple removed that \
path since Mojave. On my machine the current path is:

```
/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Developer/SDKs/MacOSX10.14.sdk/usr/include/
 ```

The C compiler seems fine if I'm using it stand-alone. I tried compiling following \
snippet:

```c
#include <netinet/in.h>
int main() {}
int t(struct in6_addr *addr) {
    return IN6_IS_ADDR_UNSPECIFIED(addr);
}
```

And it works, although I have no idea which header it included. I tried both \
compiling it with `cc test.c`, and with the actual command in `mkmf.log`:

```
clang -I../../.ext/include/x86_64-darwin18 -I../.././include -I../.././ext/socket \
-I../.. -I../../. -I/opt/local/include -D_XOPEN_SOURCE -D_DARWIN_C_SOURCE \
-D_DARWIN_UNLIMITED_SELECT -D_REENTRANT -Wall -Wextra -Wpedantic -Wshadow -pipe \
-D__APPLE_USE_RFC_3542 -Werror ```

Both works without any warning/error.

## note

This only happens to 2.6.0 and 2.6.1. Releases in 2.5.x or below are not affected.

---Files--------------------------------
mkmf.log (143 KB)


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

Unsubscribe: <mailto:ruby-core-request@ruby-lang.org?subject=unsubscribe>
<http://lists.ruby-lang.org/cgi-bin/mailman/options/ruby-core>


[prev in list] [next in list] [prev in thread] [next in thread] 

Configure | About | News | Add a list | Sponsored by KoreLogic