diff options
author | Yusuke Endoh <mame@ruby-lang.org> | 2022-08-18 11:35:17 +0900 |
---|---|---|
committer | Yusuke Endoh <mame@ruby-lang.org> | 2022-08-18 12:46:24 +0900 |
commit | 2a55c61ee77df55e8715809958ea0439f3918cf2 (patch) | |
tree | 1e6171676713c7a3de5b5781b54ace94693dd08c | |
parent | fbaa2f0b3b73271b692e7dc47cf19df6e05a7eeb (diff) | |
download | ruby-2a55c61ee77df55e8715809958ea0439f3918cf2.tar.gz |
ext/pty/extconf.rb: Try libutil only on OpenBSD
icc now seems to provide libutil.so that is not related to pty.
This extconf.rb wrongly finds it and adds `-lutil`, but `ruby -rpty`
fails because it cannot find libutil.so on the runtime.
http://rubyci.s3.amazonaws.com/icc-x64/ruby-master/log/20220815T210005Z.fail.html.gz
```
Exception raised:
<#<LoadError: libutil.so: cannot open shared object file: No such file or directory - /home/chkbuild/chkbuild/tmp/build/20220815T210005Z/ruby/.ext/x86_64-linux/pty.so>>
```
This change makes extconf.rb check libutil only on OpenBSD.
-rw-r--r-- | ext/pty/extconf.rb | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/ext/pty/extconf.rb b/ext/pty/extconf.rb index 038bdf4d2c..ba0c4286fd 100644 --- a/ext/pty/extconf.rb +++ b/ext/pty/extconf.rb @@ -7,10 +7,12 @@ if /mswin|mingw|bccwin/ !~ RUBY_PLATFORM have_header("sys/stropts.h") have_func("setresuid") have_header("libutil.h") - have_header("util.h") # OpenBSD openpty have_header("pty.h") have_header("pwd.h") - util = have_library("util", "openpty") + if /openbsd/ =~ RUBY_PLATFORM + have_header("util.h") # OpenBSD openpty + util = have_library("util", "openpty") + end if have_func("posix_openpt") or (util or have_func("openpty")) or have_func("_getpty") or |