Mock Version: 3.5
ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -bs  --target ppc64le --nodeps /builddir/build/SPECS/rubygem-nio4r.spec'], chrootPath='/var/lib/mock/fedora-rawhide-ppc64le-1672276496.372510/root'env={'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;<mock-chroot>\\007"', 'PS1': '<mock-chroot> \\s-\\v\\$ ', 'LANG': 'C.UTF-8'}shell=Falselogger=<mockbuild.trace_decorator.getLog object at 0x7fffb0730510>timeout=0uid=1001gid=135user='mockbuild'nspawn_args=['--capability=cap_ipc_lock', '--rlimit=RLIMIT_NOFILE=10240', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.ta5l4rge:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11']unshare_net=TrueprintOutput=True)
Using nspawn with args ['--capability=cap_ipc_lock', '--rlimit=RLIMIT_NOFILE=10240', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.ta5l4rge:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11']
Executing command: ['/usr/bin/systemd-nspawn', '-q', '-M', '31cb57ed95b648aea88c835c8cb0a797', '-D', '/var/lib/mock/fedora-rawhide-ppc64le-1672276496.372510/root', '-a', '-u', 'mockbuild', '--capability=cap_ipc_lock', '--rlimit=RLIMIT_NOFILE=10240', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.ta5l4rge:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11', '--console=pipe', '--setenv=TERM=vt100', '--setenv=SHELL=/bin/bash', '--setenv=HOME=/builddir', '--setenv=HOSTNAME=mock', '--setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin', '--setenv=PROMPT_COMMAND=printf "\\033]0;<mock-chroot>\\007"', '--setenv=PS1=<mock-chroot> \\s-\\v\\$ ', '--setenv=LANG=C.UTF-8', '--resolv-conf=off', 'bash', '--login', '-c', '/usr/bin/rpmbuild -bs  --target ppc64le --nodeps /builddir/build/SPECS/rubygem-nio4r.spec'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;<mock-chroot>\\007"', 'PS1': '<mock-chroot> \\s-\\v\\$ ', 'LANG': 'C.UTF-8', 'SYSTEMD_NSPAWN_TMPFS_TMP': '0', 'SYSTEMD_SECCOMP': '0'} and shell False
Building target platforms: ppc64le
Building for target ppc64le
setting SOURCE_DATE_EPOCH=1663891200
Wrote: /builddir/build/SRPMS/rubygem-nio4r-2.5.8-1.fc38.src.rpm
Child return code was: 0
ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -bb  --target ppc64le --nodeps /builddir/build/SPECS/rubygem-nio4r.spec'], chrootPath='/var/lib/mock/fedora-rawhide-ppc64le-1672276496.372510/root'env={'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;<mock-chroot>\\007"', 'PS1': '<mock-chroot> \\s-\\v\\$ ', 'LANG': 'C.UTF-8'}shell=Falselogger=<mockbuild.trace_decorator.getLog object at 0x7fffb0730510>timeout=0uid=1001gid=135user='mockbuild'nspawn_args=['--capability=cap_ipc_lock', '--rlimit=RLIMIT_NOFILE=10240', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.ta5l4rge:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11']unshare_net=TrueprintOutput=True)
Using nspawn with args ['--capability=cap_ipc_lock', '--rlimit=RLIMIT_NOFILE=10240', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.ta5l4rge:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11']
Executing command: ['/usr/bin/systemd-nspawn', '-q', '-M', 'aea5f4d4e7ed4577afb0030d39d66830', '-D', '/var/lib/mock/fedora-rawhide-ppc64le-1672276496.372510/root', '-a', '-u', 'mockbuild', '--capability=cap_ipc_lock', '--rlimit=RLIMIT_NOFILE=10240', '--capability=cap_ipc_lock', '--bind=/tmp/mock-resolv.ta5l4rge:/etc/resolv.conf', '--bind=/dev/btrfs-control', '--bind=/dev/mapper/control', '--bind=/dev/loop-control', '--bind=/dev/loop0', '--bind=/dev/loop1', '--bind=/dev/loop2', '--bind=/dev/loop3', '--bind=/dev/loop4', '--bind=/dev/loop5', '--bind=/dev/loop6', '--bind=/dev/loop7', '--bind=/dev/loop8', '--bind=/dev/loop9', '--bind=/dev/loop10', '--bind=/dev/loop11', '--console=pipe', '--setenv=TERM=vt100', '--setenv=SHELL=/bin/bash', '--setenv=HOME=/builddir', '--setenv=HOSTNAME=mock', '--setenv=PATH=/usr/bin:/bin:/usr/sbin:/sbin', '--setenv=PROMPT_COMMAND=printf "\\033]0;<mock-chroot>\\007"', '--setenv=PS1=<mock-chroot> \\s-\\v\\$ ', '--setenv=LANG=C.UTF-8', '--resolv-conf=off', 'bash', '--login', '-c', '/usr/bin/rpmbuild -bb  --target ppc64le --nodeps /builddir/build/SPECS/rubygem-nio4r.spec'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;<mock-chroot>\\007"', 'PS1': '<mock-chroot> \\s-\\v\\$ ', 'LANG': 'C.UTF-8', 'SYSTEMD_NSPAWN_TMPFS_TMP': '0', 'SYSTEMD_SECCOMP': '0'} and shell False
Building target platforms: ppc64le
Building for target ppc64le
setting SOURCE_DATE_EPOCH=1663891200
Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.SFnJK7
+ umask 022
+ cd /builddir/build/BUILD
+ cd /builddir/build/BUILD
+ rm -rf nio4r-2.5.8
+ /usr/lib/rpm/rpmuncompress -x /builddir/build/SOURCES/nio4r-2.5.8.gem
Unpacked gem: '/builddir/build/BUILD/nio4r-2.5.8'
+ STATUS=0
+ '[' 0 -ne 0 ']'
+ cd nio4r-2.5.8
+ /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w .
+ RPM_EC=0
++ jobs -p
+ exit 0
Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.rJNEf1
+ umask 022
+ cd /builddir/build/BUILD
+ CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection'
+ export CFLAGS
+ CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection'
+ export CXXFLAGS
+ FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -I/usr/lib64/gfortran/modules'
+ export FFLAGS
+ FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -I/usr/lib64/gfortran/modules'
+ export FCFLAGS
+ VALAFLAGS=-g
+ export VALAFLAGS
+ LDFLAGS='-Wl,-z,relro -Wl,--as-needed  -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes'
+ export LDFLAGS
+ LT_SYS_LIBRARY_PATH=/usr/lib64:
+ export LT_SYS_LIBRARY_PATH
+ CC=gcc
+ export CC
+ CXX=g++
+ export CXX
+ cd nio4r-2.5.8
+ gem build ../nio4r-2.5.8.gemspec
WARNING:  open-ended dependency on bundler (>= 0, development) is not recommended
  use a bounded requirement, such as '~> x.y'
WARNING:  open-ended dependency on rake (>= 0, development) is not recommended
  use a bounded requirement, such as '~> x.y'
WARNING:  See https://guides.rubygems.org/specification-reference/ for help
  Successfully built RubyGem
  Name: nio4r
  Version: 2.5.8
  File: nio4r-2.5.8.gem
+ mkdir -p ./usr/share/gems
+ CONFIGURE_ARGS='--with-cflags='\''-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection'\'' --with-cxxflags='\''-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection'\'' --with-ldflags='\''-Wl,-z,relro -Wl,--as-needed  -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes'\'' '
+ gem install -V --local --build-root . --force --document=ri,rdoc nio4r-2.5.8.gem
WARNING:  You build with buildroot.
  Build root: /builddir/build/BUILD/nio4r-2.5.8
  Bin dir: /builddir/build/BUILD/nio4r-2.5.8/usr/bin
  Gem home: /builddir/build/BUILD/nio4r-2.5.8/usr/share/gems
  Plugins dir: /builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/plugins
/builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/.github/workflows/workflow.yml
/builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/.gitignore
/builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/.rspec
/builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/.rubocop.yml
/builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/CHANGES.md
/builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/Gemfile
/builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/README.md
/builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/Rakefile
/builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/examples/echo_server.rb
/builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/ext/libev/Changes
/builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/ext/libev/LICENSE
/builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/ext/libev/README
/builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/ext/libev/ev.c
/builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/ext/libev/ev.h
/builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/ext/libev/ev_epoll.c
/builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/ext/libev/ev_iouring.c
/builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/ext/libev/ev_kqueue.c
/builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/ext/libev/ev_linuxaio.c
/builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/ext/libev/ev_poll.c
/builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/ext/libev/ev_port.c
/builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/ext/libev/ev_select.c
/builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/ext/libev/ev_vars.h
/builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/ext/libev/ev_win32.c
/builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/ext/libev/ev_wrap.h
/builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/ext/nio4r/.clang-format
/builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/ext/nio4r/bytebuffer.c
/builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/ext/nio4r/extconf.rb
/builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/ext/nio4r/libev.h
/builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/ext/nio4r/monitor.c
/builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/ext/nio4r/nio4r.h
/builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/ext/nio4r/nio4r_ext.c
/builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/ext/nio4r/org/nio4r/ByteBuffer.java
/builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/ext/nio4r/org/nio4r/Monitor.java
/builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/ext/nio4r/org/nio4r/Nio4r.java
/builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/ext/nio4r/org/nio4r/Selector.java
/builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/ext/nio4r/selector.c
/builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/lib/nio.rb
/builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/lib/nio/bytebuffer.rb
/builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/lib/nio/monitor.rb
/builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/lib/nio/selector.rb
/builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/lib/nio/version.rb
/builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/logo.png
/builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/nio4r.gemspec
/builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/rakelib/extension.rake
/builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/rakelib/rspec.rake
/builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/rakelib/rubocop.rake
/builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/spec/nio/acceptables_spec.rb
/builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/spec/nio/bytebuffer_spec.rb
/builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/spec/nio/monitor_spec.rb
/builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/spec/nio/selectables/pipe_spec.rb
/builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/spec/nio/selectables/ssl_socket_spec.rb
/builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/spec/nio/selectables/tcp_socket_spec.rb
/builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/spec/nio/selectables/udp_socket_spec.rb
/builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/spec/nio/selector_spec.rb
/builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/spec/spec_helper.rb
/builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/spec/support/selectable_examples.rb
Building native extensions. This could take a while...
current directory: /builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/ext/nio4r
["/usr/bin/ruby", "-I", "/usr/share/rubygems", "extconf.rb"]
checking for unistd.h... yes
checking for linux/aio_abi.h... yes
checking for linux/io_uring.h... yes
checking for sys/select.h... yes
checking for port_event_t in poll.h... no
checking for sys/epoll.h... yes
checking for sys/event.h... no
checking for port_event_t in port.h... no
checking for sys/resource.h... yes
creating Makefile
current directory: /builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/ext/nio4r
["make", "DESTDIR=", "sitearchdir=./.gem.20221229-36-o0revl", "sitelibdir=./.gem.20221229-36-o0revl", "clean"]
rm -f 
rm -fr nio4r_ext.so false *.o  *.bak mkmf.log .*.time
current directory: /builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/ext/nio4r
["make", "DESTDIR=", "sitearchdir=./.gem.20221229-36-o0revl", "sitelibdir=./.gem.20221229-36-o0revl"]
gcc -I. -I/usr/include -I/usr/include/ruby/backward -I/usr/include -I. -DHAVE_UNISTD_H -DHAVE_LINUX_AIO_ABI_H -DEV_USE_LINUXAIO -DHAVE_LINUX_IO_URING_H -DEV_USE_IOURING -DHAVE_SYS_SELECT_H -DEV_USE_SELECT -DHAVE_SYS_EPOLL_H -DEV_USE_EPOLL -DHAVE_SYS_RESOURCE_H -DHAVE_SYS_RESOURCE_H -DEV_STANDALONE    -fPIC -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -m64 -o bytebuffer.o -c bytebuffer.c
gcc -I. -I/usr/include -I/usr/include/ruby/backward -I/usr/include -I. -DHAVE_UNISTD_H -DHAVE_LINUX_AIO_ABI_H -DEV_USE_LINUXAIO -DHAVE_LINUX_IO_URING_H -DEV_USE_IOURING -DHAVE_SYS_SELECT_H -DEV_USE_SELECT -DHAVE_SYS_EPOLL_H -DEV_USE_EPOLL -DHAVE_SYS_RESOURCE_H -DHAVE_SYS_RESOURCE_H -DEV_STANDALONE    -fPIC -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -m64 -o monitor.o -c monitor.c
In file included from libev.h:7,
                 from nio4r.h:9,
                 from monitor.c:6:
monitor.c: In function 'NIO_Monitor_initialize':
../libev/ev.h:691:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
  691 |   ((ev_watcher *)(void *)(ev))->active  =       \
      |   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
../libev/ev.h:712:51: note: in expansion of macro 'ev_init'
  712 | #define ev_io_init(ev,cb,fd,events)          do { ev_init ((ev), (cb)); ev_io_set ((ev),(fd),(events)); } while (0)
      |                                                   ^~~~~~~
monitor.c:101:5: note: in expansion of macro 'ev_io_init'
  101 |     ev_io_init(&monitor->ev_io, NIO_Selector_monitor_callback, FPTR_TO_FD(fptr), monitor->interests);
      |     ^~~~~~~~~~
../libev/ev.h:692:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
  692 |   ((ev_watcher *)(void *)(ev))->pending = 0;    \
      |   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
../libev/ev.h:712:51: note: in expansion of macro 'ev_init'
  712 | #define ev_io_init(ev,cb,fd,events)          do { ev_init ((ev), (cb)); ev_io_set ((ev),(fd),(events)); } while (0)
      |                                                   ^~~~~~~
monitor.c:101:5: note: in expansion of macro 'ev_io_init'
  101 |     ev_io_init(&monitor->ev_io, NIO_Selector_monitor_callback, FPTR_TO_FD(fptr), monitor->interests);
      |     ^~~~~~~~~~
../libev/ev.h:737:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
  737 | # define ev_set_priority(ev,pri)             (   (ev_watcher *)(void *)(ev))->priority = (pri)
      |                                              ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
../libev/ev.h:693:3: note: in expansion of macro 'ev_set_priority'
  693 |   ev_set_priority ((ev), 0);                    \
      |   ^~~~~~~~~~~~~~~
../libev/ev.h:712:51: note: in expansion of macro 'ev_init'
  712 | #define ev_io_init(ev,cb,fd,events)          do { ev_init ((ev), (cb)); ev_io_set ((ev),(fd),(events)); } while (0)
      |                                                   ^~~~~~~
monitor.c:101:5: note: in expansion of macro 'ev_io_init'
  101 |     ev_io_init(&monitor->ev_io, NIO_Selector_monitor_callback, FPTR_TO_FD(fptr), monitor->interests);
      |     ^~~~~~~~~~
../libev/ev.h:744:79: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
  744 | # define ev_set_cb(ev,cb_)                   (ev_cb_ (ev) = (cb_), memmove (&((ev_watcher *)(ev))->cb, &ev_cb_ (ev), sizeof (ev_cb_ (ev))))
      |                                                                              ~^~~~~~~~~~~~~~~~~~~
../libev/ev.h:694:3: note: in expansion of macro 'ev_set_cb'
  694 |   ev_set_cb ((ev), cb_);                        \
      |   ^~~~~~~~~
../libev/ev.h:712:51: note: in expansion of macro 'ev_init'
  712 | #define ev_io_init(ev,cb,fd,events)          do { ev_init ((ev), (cb)); ev_io_set ((ev),(fd),(events)); } while (0)
      |                                                   ^~~~~~~
monitor.c:101:5: note: in expansion of macro 'ev_io_init'
  101 |     ev_io_init(&monitor->ev_io, NIO_Selector_monitor_callback, FPTR_TO_FD(fptr), monitor->interests);
      |     ^~~~~~~~~~
gcc -I. -I/usr/include -I/usr/include/ruby/backward -I/usr/include -I. -DHAVE_UNISTD_H -DHAVE_LINUX_AIO_ABI_H -DEV_USE_LINUXAIO -DHAVE_LINUX_IO_URING_H -DEV_USE_IOURING -DHAVE_SYS_SELECT_H -DEV_USE_SELECT -DHAVE_SYS_EPOLL_H -DEV_USE_EPOLL -DHAVE_SYS_RESOURCE_H -DHAVE_SYS_RESOURCE_H -DEV_STANDALONE    -fPIC -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -m64 -o nio4r_ext.o -c nio4r_ext.c
In file included from nio4r_ext.c:6:
../libev/ev.c:573:48: warning: "/*" within comment [-Wcomment]
  573 | /*#define MIN_INTERVAL  0.00000095367431640625 /* 1/2**20, good till 2200 */
      |                                                 
../libev/ev.c:2136:31: warning: 'ev_default_loop_ptr' initialized and declared 'extern'
 2136 |   EV_API_DECL struct ev_loop *ev_default_loop_ptr = 0; /* needs to be initialised to make it a definition despite extern */
      |                               ^~~~~~~~~~~~~~~~~~~
In file included from ../libev/ev.c:231:
../libev/ev.c: In function 'evpipe_init':
../libev/ev.h:727:52: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
  727 | #define ev_is_active(ev)                     (0 + ((ev_watcher *)(void *)(ev))->active) /* ro, true when the watcher has been started */
      |                                                   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
../libev/ev.c:2728:8: note: in expansion of macro 'ev_is_active'
 2728 |   if (!ev_is_active (&pipe_w))
      |        ^~~~~~~~~~~~
../libev/ev.c: In function 'evtimerfd_init':
../libev/ev.h:727:52: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
  727 | #define ev_is_active(ev)                     (0 + ((ev_watcher *)(void *)(ev))->active) /* ro, true when the watcher has been started */
      |                                                   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
../libev/ev.c:3050:8: note: in expansion of macro 'ev_is_active'
 3050 |   if (!ev_is_active (&timerfd_w))
      |        ^~~~~~~~~~~~
../libev/ev.h:691:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
  691 |   ((ev_watcher *)(void *)(ev))->active  =       \
      |   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
../libev/ev.h:712:51: note: in expansion of macro 'ev_init'
  712 | #define ev_io_init(ev,cb,fd,events)          do { ev_init ((ev), (cb)); ev_io_set ((ev),(fd),(events)); } while (0)
      |                                                   ^~~~~~~
../libev/ev.c:3058:11: note: in expansion of macro 'ev_io_init'
 3058 |           ev_io_init (&timerfd_w, timerfdcb, timerfd, EV_READ);
      |           ^~~~~~~~~~
../libev/ev.h:692:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
  692 |   ((ev_watcher *)(void *)(ev))->pending = 0;    \
      |   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
../libev/ev.h:712:51: note: in expansion of macro 'ev_init'
  712 | #define ev_io_init(ev,cb,fd,events)          do { ev_init ((ev), (cb)); ev_io_set ((ev),(fd),(events)); } while (0)
      |                                                   ^~~~~~~
../libev/ev.c:3058:11: note: in expansion of macro 'ev_io_init'
 3058 |           ev_io_init (&timerfd_w, timerfdcb, timerfd, EV_READ);
      |           ^~~~~~~~~~
../libev/ev.h:737:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
  737 | # define ev_set_priority(ev,pri)             (   (ev_watcher *)(void *)(ev))->priority = (pri)
      |                                              ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
../libev/ev.h:693:3: note: in expansion of macro 'ev_set_priority'
  693 |   ev_set_priority ((ev), 0);                    \
      |   ^~~~~~~~~~~~~~~
../libev/ev.h:712:51: note: in expansion of macro 'ev_init'
  712 | #define ev_io_init(ev,cb,fd,events)          do { ev_init ((ev), (cb)); ev_io_set ((ev),(fd),(events)); } while (0)
      |                                                   ^~~~~~~
../libev/ev.c:3058:11: note: in expansion of macro 'ev_io_init'
 3058 |           ev_io_init (&timerfd_w, timerfdcb, timerfd, EV_READ);
      |           ^~~~~~~~~~
../libev/ev.h:744:79: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
  744 | # define ev_set_cb(ev,cb_)                   (ev_cb_ (ev) = (cb_), memmove (&((ev_watcher *)(ev))->cb, &ev_cb_ (ev), sizeof (ev_cb_ (ev))))
      |                                                                              ~^~~~~~~~~~~~~~~~~~~
../libev/ev.h:694:3: note: in expansion of macro 'ev_set_cb'
  694 |   ev_set_cb ((ev), cb_);                        \
      |   ^~~~~~~~~
../libev/ev.h:712:51: note: in expansion of macro 'ev_init'
  712 | #define ev_io_init(ev,cb,fd,events)          do { ev_init ((ev), (cb)); ev_io_set ((ev),(fd),(events)); } while (0)
      |                                                   ^~~~~~~
../libev/ev.c:3058:11: note: in expansion of macro 'ev_io_init'
 3058 |           ev_io_init (&timerfd_w, timerfdcb, timerfd, EV_READ);
      |           ^~~~~~~~~~
../libev/ev.h:737:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
  737 | # define ev_set_priority(ev,pri)             (   (ev_watcher *)(void *)(ev))->priority = (pri)
      |                                              ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
../libev/ev.c:3059:11: note: in expansion of macro 'ev_set_priority'
 3059 |           ev_set_priority (&timerfd_w, EV_MINPRI);
      |           ^~~~~~~~~~~~~~~
In file included from ../libev/ev.c:3086:
../libev/ev_linuxaio.c: In function 'linuxaio_poll':
../libev/ev_linuxaio.c:467:10: warning: suggest explicit braces to avoid ambiguous 'else' [-Wdangling-else]
  467 |       if (ecb_expect_false (res < 0))
      |          ^
../libev/ev_linuxaio.c: In function 'linuxaio_init':
../libev/ev.h:691:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
  691 |   ((ev_watcher *)(void *)(ev))->active  =       \
      |   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
../libev/ev.h:712:51: note: in expansion of macro 'ev_init'
  712 | #define ev_io_init(ev,cb,fd,events)          do { ev_init ((ev), (cb)); ev_io_set ((ev),(fd),(events)); } while (0)
      |                                                   ^~~~~~~
../libev/ev_linuxaio.c:571:3: note: in expansion of macro 'ev_io_init'
  571 |   ev_io_init  (&linuxaio_epoll_w, linuxaio_epoll_cb, backend_fd, EV_READ);
      |   ^~~~~~~~~~
../libev/ev.h:692:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
  692 |   ((ev_watcher *)(void *)(ev))->pending = 0;    \
      |   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
../libev/ev.h:712:51: note: in expansion of macro 'ev_init'
  712 | #define ev_io_init(ev,cb,fd,events)          do { ev_init ((ev), (cb)); ev_io_set ((ev),(fd),(events)); } while (0)
      |                                                   ^~~~~~~
../libev/ev_linuxaio.c:571:3: note: in expansion of macro 'ev_io_init'
  571 |   ev_io_init  (&linuxaio_epoll_w, linuxaio_epoll_cb, backend_fd, EV_READ);
      |   ^~~~~~~~~~
../libev/ev.h:737:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
  737 | # define ev_set_priority(ev,pri)             (   (ev_watcher *)(void *)(ev))->priority = (pri)
      |                                              ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
../libev/ev.h:693:3: note: in expansion of macro 'ev_set_priority'
  693 |   ev_set_priority ((ev), 0);                    \
      |   ^~~~~~~~~~~~~~~
../libev/ev.h:712:51: note: in expansion of macro 'ev_init'
  712 | #define ev_io_init(ev,cb,fd,events)          do { ev_init ((ev), (cb)); ev_io_set ((ev),(fd),(events)); } while (0)
      |                                                   ^~~~~~~
../libev/ev_linuxaio.c:571:3: note: in expansion of macro 'ev_io_init'
  571 |   ev_io_init  (&linuxaio_epoll_w, linuxaio_epoll_cb, backend_fd, EV_READ);
      |   ^~~~~~~~~~
../libev/ev.h:744:79: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
  744 | # define ev_set_cb(ev,cb_)                   (ev_cb_ (ev) = (cb_), memmove (&((ev_watcher *)(ev))->cb, &ev_cb_ (ev), sizeof (ev_cb_ (ev))))
      |                                                                              ~^~~~~~~~~~~~~~~~~~~
../libev/ev.h:694:3: note: in expansion of macro 'ev_set_cb'
  694 |   ev_set_cb ((ev), cb_);                        \
      |   ^~~~~~~~~
../libev/ev.h:712:51: note: in expansion of macro 'ev_init'
  712 | #define ev_io_init(ev,cb,fd,events)          do { ev_init ((ev), (cb)); ev_io_set ((ev),(fd),(events)); } while (0)
      |                                                   ^~~~~~~
../libev/ev_linuxaio.c:571:3: note: in expansion of macro 'ev_io_init'
  571 |   ev_io_init  (&linuxaio_epoll_w, linuxaio_epoll_cb, backend_fd, EV_READ);
      |   ^~~~~~~~~~
../libev/ev.h:737:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
  737 | # define ev_set_priority(ev,pri)             (   (ev_watcher *)(void *)(ev))->priority = (pri)
      |                                              ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
../libev/ev_linuxaio.c:572:3: note: in expansion of macro 'ev_set_priority'
  572 |   ev_set_priority (&linuxaio_epoll_w, EV_MAXPRI);
      |   ^~~~~~~~~~~~~~~
../libev/ev_linuxaio.c: In function 'linuxaio_fork':
../libev/ev.h:180:20: warning: left-hand operand of comma expression has no effect [-Wunused-value]
  180 | # define EV_A_ EV_A,                              /* a loop as first of multiple arguments */
      |                    ^
../libev/ev.h:698:52: note: in definition of macro 'ev_io_set'
  698 | #define ev_io_set(ev,fd_,events_)            do { (ev)->fd = (fd_); (ev)->events = (events_) | EV__IOFDSET; } while (0)
      |                                                    ^~
../libev/ev_linuxaio.c:617:16: note: in expansion of macro 'EV_A_'
  617 |   ev_io_set   (EV_A_ &linuxaio_epoll_w, backend_fd, EV_READ);
      |                ^~~~~
../libev/ev.h:180:20: warning: left-hand operand of comma expression has no effect [-Wunused-value]
  180 | # define EV_A_ EV_A,                              /* a loop as first of multiple arguments */
      |                    ^
../libev/ev.h:698:70: note: in definition of macro 'ev_io_set'
  698 | #define ev_io_set(ev,fd_,events_)            do { (ev)->fd = (fd_); (ev)->events = (events_) | EV__IOFDSET; } while (0)
      |                                                                      ^~
../libev/ev_linuxaio.c:617:16: note: in expansion of macro 'EV_A_'
  617 |   ev_io_set   (EV_A_ &linuxaio_epoll_w, backend_fd, EV_READ);
      |                ^~~~~
In file included from ../libev/ev.c:3089:
../libev/ev_iouring.c: In function 'iouring_sqe_submit':
../libev/ev_iouring.c:298:31: warning: "/*" within comment [-Wcomment]
  298 |   /*ECB_MEMORY_FENCE_RELEASE; /* for the time being we assume this is not needed */
      |                                
../libev/ev_iouring.c: In function 'iouring_internal_destroy':
../libev/ev.h:727:52: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
  727 | #define ev_is_active(ev)                     (0 + ((ev_watcher *)(void *)(ev))->active) /* ro, true when the watcher has been started */
      |                                                   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
../libev/ev_iouring.c:326:7: note: in expansion of macro 'ev_is_active'
  326 |   if (ev_is_active (&iouring_tfd_w))
      |       ^~~~~~~~~~~~
../libev/ev_iouring.c: In function 'iouring_fork':
../libev/ev.h:180:20: warning: left-hand operand of comma expression has no effect [-Wunused-value]
  180 | # define EV_A_ EV_A,                              /* a loop as first of multiple arguments */
      |                    ^
../libev/ev.h:698:52: note: in definition of macro 'ev_io_set'
  698 | #define ev_io_set(ev,fd_,events_)            do { (ev)->fd = (fd_); (ev)->events = (events_) | EV__IOFDSET; } while (0)
      |                                                    ^~
../libev/ev_iouring.c:428:16: note: in expansion of macro 'EV_A_'
  428 |   ev_io_set   (EV_A_ &iouring_tfd_w, iouring_tfd, EV_READ);
      |                ^~~~~
../libev/ev.h:180:20: warning: left-hand operand of comma expression has no effect [-Wunused-value]
  180 | # define EV_A_ EV_A,                              /* a loop as first of multiple arguments */
      |                    ^
../libev/ev.h:698:70: note: in definition of macro 'ev_io_set'
  698 | #define ev_io_set(ev,fd_,events_)            do { (ev)->fd = (fd_); (ev)->events = (events_) | EV__IOFDSET; } while (0)
      |                                                                      ^~
../libev/ev_iouring.c:428:16: note: in expansion of macro 'EV_A_'
  428 |   ev_io_set   (EV_A_ &iouring_tfd_w, iouring_tfd, EV_READ);
      |                ^~~~~
../libev/ev_iouring.c: In function 'iouring_init':
../libev/ev.h:691:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
  691 |   ((ev_watcher *)(void *)(ev))->active  =       \
      |   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
../libev/ev.h:712:51: note: in expansion of macro 'ev_init'
  712 | #define ev_io_init(ev,cb,fd,events)          do { ev_init ((ev), (cb)); ev_io_set ((ev),(fd),(events)); } while (0)
      |                                                   ^~~~~~~
../libev/ev_iouring.c:677:3: note: in expansion of macro 'ev_io_init'
  677 |   ev_io_init  (&iouring_tfd_w, iouring_tfd_cb, iouring_tfd, EV_READ);
      |   ^~~~~~~~~~
../libev/ev.h:692:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
  692 |   ((ev_watcher *)(void *)(ev))->pending = 0;    \
      |   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
../libev/ev.h:712:51: note: in expansion of macro 'ev_init'
  712 | #define ev_io_init(ev,cb,fd,events)          do { ev_init ((ev), (cb)); ev_io_set ((ev),(fd),(events)); } while (0)
      |                                                   ^~~~~~~
../libev/ev_iouring.c:677:3: note: in expansion of macro 'ev_io_init'
  677 |   ev_io_init  (&iouring_tfd_w, iouring_tfd_cb, iouring_tfd, EV_READ);
      |   ^~~~~~~~~~
../libev/ev.h:737:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
  737 | # define ev_set_priority(ev,pri)             (   (ev_watcher *)(void *)(ev))->priority = (pri)
      |                                              ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
../libev/ev.h:693:3: note: in expansion of macro 'ev_set_priority'
  693 |   ev_set_priority ((ev), 0);                    \
      |   ^~~~~~~~~~~~~~~
../libev/ev.h:712:51: note: in expansion of macro 'ev_init'
  712 | #define ev_io_init(ev,cb,fd,events)          do { ev_init ((ev), (cb)); ev_io_set ((ev),(fd),(events)); } while (0)
      |                                                   ^~~~~~~
../libev/ev_iouring.c:677:3: note: in expansion of macro 'ev_io_init'
  677 |   ev_io_init  (&iouring_tfd_w, iouring_tfd_cb, iouring_tfd, EV_READ);
      |   ^~~~~~~~~~
../libev/ev.h:744:79: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
  744 | # define ev_set_cb(ev,cb_)                   (ev_cb_ (ev) = (cb_), memmove (&((ev_watcher *)(ev))->cb, &ev_cb_ (ev), sizeof (ev_cb_ (ev))))
      |                                                                              ~^~~~~~~~~~~~~~~~~~~
../libev/ev.h:694:3: note: in expansion of macro 'ev_set_cb'
  694 |   ev_set_cb ((ev), cb_);                        \
      |   ^~~~~~~~~
../libev/ev.h:712:51: note: in expansion of macro 'ev_init'
  712 | #define ev_io_init(ev,cb,fd,events)          do { ev_init ((ev), (cb)); ev_io_set ((ev),(fd),(events)); } while (0)
      |                                                   ^~~~~~~
../libev/ev_iouring.c:677:3: note: in expansion of macro 'ev_io_init'
  677 |   ev_io_init  (&iouring_tfd_w, iouring_tfd_cb, iouring_tfd, EV_READ);
      |   ^~~~~~~~~~
../libev/ev.h:737:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
  737 | # define ev_set_priority(ev,pri)             (   (ev_watcher *)(void *)(ev))->priority = (pri)
      |                                              ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
../libev/ev_iouring.c:678:3: note: in expansion of macro 'ev_set_priority'
  678 |   ev_set_priority (&iouring_tfd_w, EV_MINPRI);
      |   ^~~~~~~~~~~~~~~
../libev/ev.c: In function 'loop_init':
../libev/ev.h:691:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
  691 |   ((ev_watcher *)(void *)(ev))->active  =       \
      |   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
../libev/ev.h:719:51: note: in expansion of macro 'ev_init'
  719 | #define ev_prepare_init(ev,cb)               do { ev_init ((ev), (cb)); ev_prepare_set ((ev)); } while (0)
      |                                                   ^~~~~~~
../libev/ev.c:3343:7: note: in expansion of macro 'ev_prepare_init'
 3343 |       ev_prepare_init (&pending_w, pendingcb);
      |       ^~~~~~~~~~~~~~~
../libev/ev.h:692:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
  692 |   ((ev_watcher *)(void *)(ev))->pending = 0;    \
      |   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
../libev/ev.h:719:51: note: in expansion of macro 'ev_init'
  719 | #define ev_prepare_init(ev,cb)               do { ev_init ((ev), (cb)); ev_prepare_set ((ev)); } while (0)
      |                                                   ^~~~~~~
../libev/ev.c:3343:7: note: in expansion of macro 'ev_prepare_init'
 3343 |       ev_prepare_init (&pending_w, pendingcb);
      |       ^~~~~~~~~~~~~~~
../libev/ev.h:737:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
  737 | # define ev_set_priority(ev,pri)             (   (ev_watcher *)(void *)(ev))->priority = (pri)
      |                                              ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
../libev/ev.h:693:3: note: in expansion of macro 'ev_set_priority'
  693 |   ev_set_priority ((ev), 0);                    \
      |   ^~~~~~~~~~~~~~~
../libev/ev.h:719:51: note: in expansion of macro 'ev_init'
  719 | #define ev_prepare_init(ev,cb)               do { ev_init ((ev), (cb)); ev_prepare_set ((ev)); } while (0)
      |                                                   ^~~~~~~
../libev/ev.c:3343:7: note: in expansion of macro 'ev_prepare_init'
 3343 |       ev_prepare_init (&pending_w, pendingcb);
      |       ^~~~~~~~~~~~~~~
../libev/ev.h:744:79: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
  744 | # define ev_set_cb(ev,cb_)                   (ev_cb_ (ev) = (cb_), memmove (&((ev_watcher *)(ev))->cb, &ev_cb_ (ev), sizeof (ev_cb_ (ev))))
      |                                                                              ~^~~~~~~~~~~~~~~~~~~
../libev/ev.h:694:3: note: in expansion of macro 'ev_set_cb'
  694 |   ev_set_cb ((ev), cb_);                        \
      |   ^~~~~~~~~
../libev/ev.h:719:51: note: in expansion of macro 'ev_init'
  719 | #define ev_prepare_init(ev,cb)               do { ev_init ((ev), (cb)); ev_prepare_set ((ev)); } while (0)
      |                                                   ^~~~~~~
../libev/ev.c:3343:7: note: in expansion of macro 'ev_prepare_init'
 3343 |       ev_prepare_init (&pending_w, pendingcb);
      |       ^~~~~~~~~~~~~~~
../libev/ev.h:691:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
  691 |   ((ev_watcher *)(void *)(ev))->active  =       \
      |   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
../libev/ev.c:3346:7: note: in expansion of macro 'ev_init'
 3346 |       ev_init (&pipe_w, pipecb);
      |       ^~~~~~~
../libev/ev.h:692:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
  692 |   ((ev_watcher *)(void *)(ev))->pending = 0;    \
      |   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
../libev/ev.c:3346:7: note: in expansion of macro 'ev_init'
 3346 |       ev_init (&pipe_w, pipecb);
      |       ^~~~~~~
../libev/ev.h:737:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
  737 | # define ev_set_priority(ev,pri)             (   (ev_watcher *)(void *)(ev))->priority = (pri)
      |                                              ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
../libev/ev.h:693:3: note: in expansion of macro 'ev_set_priority'
  693 |   ev_set_priority ((ev), 0);                    \
      |   ^~~~~~~~~~~~~~~
../libev/ev.c:3346:7: note: in expansion of macro 'ev_init'
 3346 |       ev_init (&pipe_w, pipecb);
      |       ^~~~~~~
../libev/ev.h:744:79: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
  744 | # define ev_set_cb(ev,cb_)                   (ev_cb_ (ev) = (cb_), memmove (&((ev_watcher *)(ev))->cb, &ev_cb_ (ev), sizeof (ev_cb_ (ev))))
      |                                                                              ~^~~~~~~~~~~~~~~~~~~
../libev/ev.h:694:3: note: in expansion of macro 'ev_set_cb'
  694 |   ev_set_cb ((ev), cb_);                        \
      |   ^~~~~~~~~
../libev/ev.c:3346:7: note: in expansion of macro 'ev_init'
 3346 |       ev_init (&pipe_w, pipecb);
      |       ^~~~~~~
../libev/ev.h:737:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
  737 | # define ev_set_priority(ev,pri)             (   (ev_watcher *)(void *)(ev))->priority = (pri)
      |                                              ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
../libev/ev.c:3347:7: note: in expansion of macro 'ev_set_priority'
 3347 |       ev_set_priority (&pipe_w, EV_MAXPRI);
      |       ^~~~~~~~~~~~~~~
../libev/ev.c: In function 'ev_loop_destroy':
../libev/ev.h:727:52: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
  727 | #define ev_is_active(ev)                     (0 + ((ev_watcher *)(void *)(ev))->active) /* ro, true when the watcher has been started */
      |                                                   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
../libev/ev.c:3375:36: note: in expansion of macro 'ev_is_active'
 3375 |   if (ev_is_default_loop (EV_A) && ev_is_active (&childev))
      |                                    ^~~~~~~~~~~~
../libev/ev.h:727:52: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
  727 | #define ev_is_active(ev)                     (0 + ((ev_watcher *)(void *)(ev))->active) /* ro, true when the watcher has been started */
      |                                                   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
../libev/ev.c:3382:7: note: in expansion of macro 'ev_is_active'
 3382 |   if (ev_is_active (&pipe_w))
      |       ^~~~~~~~~~~~
../libev/ev.h:727:52: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
  727 | #define ev_is_active(ev)                     (0 + ((ev_watcher *)(void *)(ev))->active) /* ro, true when the watcher has been started */
      |                                                   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
../libev/ev.c:3392:7: note: in expansion of macro 'ev_is_active'
 3392 |   if (ev_is_active (&sigfd_w))
      |       ^~~~~~~~~~~~
../libev/ev.h:727:52: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
  727 | #define ev_is_active(ev)                     (0 + ((ev_watcher *)(void *)(ev))->active) /* ro, true when the watcher has been started */
      |                                                   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
../libev/ev.c:3397:7: note: in expansion of macro 'ev_is_active'
 3397 |   if (ev_is_active (&timerfd_w))
      |       ^~~~~~~~~~~~
../libev/ev.c: In function 'loop_fork':
../libev/ev.h:727:52: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
  727 | #define ev_is_active(ev)                     (0 + ((ev_watcher *)(void *)(ev))->active) /* ro, true when the watcher has been started */
      |                                                   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
../libev/ev.c:3508:13: note: in expansion of macro 'ev_is_active'
 3508 |         if (ev_is_active (&timerfd_w))
      |             ^~~~~~~~~~~~
../libev/ev.h:727:52: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
  727 | #define ev_is_active(ev)                     (0 + ((ev_watcher *)(void *)(ev))->active) /* ro, true when the watcher has been started */
      |                                                   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
../libev/ev.c:3523:13: note: in expansion of macro 'ev_is_active'
 3523 |         if (ev_is_active (&pipe_w))
      |             ^~~~~~~~~~~~
../libev/ev.c: In function 'ev_default_loop':
../libev/ev.h:691:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
  691 |   ((ev_watcher *)(void *)(ev))->active  =       \
      |   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
../libev/ev.h:715:51: note: in expansion of macro 'ev_init'
  715 | #define ev_signal_init(ev,cb,signum)         do { ev_init ((ev), (cb)); ev_signal_set ((ev), (signum)); } while (0)
      |                                                   ^~~~~~~
../libev/ev.c:3710:11: note: in expansion of macro 'ev_signal_init'
 3710 |           ev_signal_init (&childev, childcb, SIGCHLD);
      |           ^~~~~~~~~~~~~~
../libev/ev.h:692:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
  692 |   ((ev_watcher *)(void *)(ev))->pending = 0;    \
      |   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
../libev/ev.h:715:51: note: in expansion of macro 'ev_init'
  715 | #define ev_signal_init(ev,cb,signum)         do { ev_init ((ev), (cb)); ev_signal_set ((ev), (signum)); } while (0)
      |                                                   ^~~~~~~
../libev/ev.c:3710:11: note: in expansion of macro 'ev_signal_init'
 3710 |           ev_signal_init (&childev, childcb, SIGCHLD);
      |           ^~~~~~~~~~~~~~
../libev/ev.h:737:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
  737 | # define ev_set_priority(ev,pri)             (   (ev_watcher *)(void *)(ev))->priority = (pri)
      |                                              ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
../libev/ev.h:693:3: note: in expansion of macro 'ev_set_priority'
  693 |   ev_set_priority ((ev), 0);                    \
      |   ^~~~~~~~~~~~~~~
../libev/ev.h:715:51: note: in expansion of macro 'ev_init'
  715 | #define ev_signal_init(ev,cb,signum)         do { ev_init ((ev), (cb)); ev_signal_set ((ev), (signum)); } while (0)
      |                                                   ^~~~~~~
../libev/ev.c:3710:11: note: in expansion of macro 'ev_signal_init'
 3710 |           ev_signal_init (&childev, childcb, SIGCHLD);
      |           ^~~~~~~~~~~~~~
../libev/ev.h:744:79: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
  744 | # define ev_set_cb(ev,cb_)                   (ev_cb_ (ev) = (cb_), memmove (&((ev_watcher *)(ev))->cb, &ev_cb_ (ev), sizeof (ev_cb_ (ev))))
      |                                                                              ~^~~~~~~~~~~~~~~~~~~
../libev/ev.h:694:3: note: in expansion of macro 'ev_set_cb'
  694 |   ev_set_cb ((ev), cb_);                        \
      |   ^~~~~~~~~
../libev/ev.h:715:51: note: in expansion of macro 'ev_init'
  715 | #define ev_signal_init(ev,cb,signum)         do { ev_init ((ev), (cb)); ev_signal_set ((ev), (signum)); } while (0)
      |                                                   ^~~~~~~
../libev/ev.c:3710:11: note: in expansion of macro 'ev_signal_init'
 3710 |           ev_signal_init (&childev, childcb, SIGCHLD);
      |           ^~~~~~~~~~~~~~
../libev/ev.h:737:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
  737 | # define ev_set_priority(ev,pri)             (   (ev_watcher *)(void *)(ev))->priority = (pri)
      |                                              ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
../libev/ev.c:3711:11: note: in expansion of macro 'ev_set_priority'
 3711 |           ev_set_priority (&childev, EV_MAXPRI);
      |           ^~~~~~~~~~~~~~~
../libev/ev.c: In function 'ev_io_start':
../libev/ev.c:4417:34: warning: suggest parentheses around arithmetic in operand of '|' [-Wparentheses]
 4417 |   fd_change (EV_A_ fd, w->events & EV__IOFDSET | EV_ANFD_REIFY);
      |                        ~~~~~~~~~~^~~~~~~~~~~~~
../libev/ev.c: In function 'ev_signal_start':
../libev/ev.h:691:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
  691 |   ((ev_watcher *)(void *)(ev))->active  =       \
      |   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
../libev/ev.h:712:51: note: in expansion of macro 'ev_init'
  712 | #define ev_io_init(ev,cb,fd,events)          do { ev_init ((ev), (cb)); ev_io_set ((ev),(fd),(events)); } while (0)
      |                                                   ^~~~~~~
../libev/ev.c:4650:11: note: in expansion of macro 'ev_io_init'
 4650 |           ev_io_init (&sigfd_w, sigfdcb, sigfd, EV_READ);
      |           ^~~~~~~~~~
../libev/ev.h:692:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
  692 |   ((ev_watcher *)(void *)(ev))->pending = 0;    \
      |   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
../libev/ev.h:712:51: note: in expansion of macro 'ev_init'
  712 | #define ev_io_init(ev,cb,fd,events)          do { ev_init ((ev), (cb)); ev_io_set ((ev),(fd),(events)); } while (0)
      |                                                   ^~~~~~~
../libev/ev.c:4650:11: note: in expansion of macro 'ev_io_init'
 4650 |           ev_io_init (&sigfd_w, sigfdcb, sigfd, EV_READ);
      |           ^~~~~~~~~~
../libev/ev.h:737:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
  737 | # define ev_set_priority(ev,pri)             (   (ev_watcher *)(void *)(ev))->priority = (pri)
      |                                              ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
../libev/ev.h:693:3: note: in expansion of macro 'ev_set_priority'
  693 |   ev_set_priority ((ev), 0);                    \
      |   ^~~~~~~~~~~~~~~
../libev/ev.h:712:51: note: in expansion of macro 'ev_init'
  712 | #define ev_io_init(ev,cb,fd,events)          do { ev_init ((ev), (cb)); ev_io_set ((ev),(fd),(events)); } while (0)
      |                                                   ^~~~~~~
../libev/ev.c:4650:11: note: in expansion of macro 'ev_io_init'
 4650 |           ev_io_init (&sigfd_w, sigfdcb, sigfd, EV_READ);
      |           ^~~~~~~~~~
../libev/ev.h:744:79: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
  744 | # define ev_set_cb(ev,cb_)                   (ev_cb_ (ev) = (cb_), memmove (&((ev_watcher *)(ev))->cb, &ev_cb_ (ev), sizeof (ev_cb_ (ev))))
      |                                                                              ~^~~~~~~~~~~~~~~~~~~
../libev/ev.h:694:3: note: in expansion of macro 'ev_set_cb'
  694 |   ev_set_cb ((ev), cb_);                        \
      |   ^~~~~~~~~
../libev/ev.h:712:51: note: in expansion of macro 'ev_init'
  712 | #define ev_io_init(ev,cb,fd,events)          do { ev_init ((ev), (cb)); ev_io_set ((ev),(fd),(events)); } while (0)
      |                                                   ^~~~~~~
../libev/ev.c:4650:11: note: in expansion of macro 'ev_io_init'
 4650 |           ev_io_init (&sigfd_w, sigfdcb, sigfd, EV_READ);
      |           ^~~~~~~~~~
../libev/ev.h:737:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
  737 | # define ev_set_priority(ev,pri)             (   (ev_watcher *)(void *)(ev))->priority = (pri)
      |                                              ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
../libev/ev.c:4651:11: note: in expansion of macro 'ev_set_priority'
 4651 |           ev_set_priority (&sigfd_w, EV_MAXPRI);
      |           ^~~~~~~~~~~~~~~
../libev/ev.c: In function 'infy_add':
../libev/ev.h:727:52: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
  727 | #define ev_is_active(ev)                     (0 + ((ev_watcher *)(void *)(ev))->active) /* ro, true when the watcher has been started */
      |                                                   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
../libev/ev.c:4865:7: note: in expansion of macro 'ev_is_active'
 4865 |   if (ev_is_active (&w->timer)) ev_ref (EV_A);
      |       ^~~~~~~~~~~~
../libev/ev.h:727:52: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
  727 | #define ev_is_active(ev)                     (0 + ((ev_watcher *)(void *)(ev))->active) /* ro, true when the watcher has been started */
      |                                                   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
../libev/ev.c:4867:7: note: in expansion of macro 'ev_is_active'
 4867 |   if (ev_is_active (&w->timer)) ev_unref (EV_A);
      |       ^~~~~~~~~~~~
../libev/ev.c: In function 'infy_init':
../libev/ev.h:691:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
  691 |   ((ev_watcher *)(void *)(ev))->active  =       \
      |   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
../libev/ev.h:712:51: note: in expansion of macro 'ev_init'
  712 | #define ev_io_init(ev,cb,fd,events)          do { ev_init ((ev), (cb)); ev_io_set ((ev),(fd),(events)); } while (0)
      |                                                   ^~~~~~~
../libev/ev.c:4974:7: note: in expansion of macro 'ev_io_init'
 4974 |       ev_io_init (&fs_w, infy_cb, fs_fd, EV_READ);
      |       ^~~~~~~~~~
../libev/ev.h:692:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
  692 |   ((ev_watcher *)(void *)(ev))->pending = 0;    \
      |   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
../libev/ev.h:712:51: note: in expansion of macro 'ev_init'
  712 | #define ev_io_init(ev,cb,fd,events)          do { ev_init ((ev), (cb)); ev_io_set ((ev),(fd),(events)); } while (0)
      |                                                   ^~~~~~~
../libev/ev.c:4974:7: note: in expansion of macro 'ev_io_init'
 4974 |       ev_io_init (&fs_w, infy_cb, fs_fd, EV_READ);
      |       ^~~~~~~~~~
../libev/ev.h:737:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
  737 | # define ev_set_priority(ev,pri)             (   (ev_watcher *)(void *)(ev))->priority = (pri)
      |                                              ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
../libev/ev.h:693:3: note: in expansion of macro 'ev_set_priority'
  693 |   ev_set_priority ((ev), 0);                    \
      |   ^~~~~~~~~~~~~~~
../libev/ev.h:712:51: note: in expansion of macro 'ev_init'
  712 | #define ev_io_init(ev,cb,fd,events)          do { ev_init ((ev), (cb)); ev_io_set ((ev),(fd),(events)); } while (0)
      |                                                   ^~~~~~~
../libev/ev.c:4974:7: note: in expansion of macro 'ev_io_init'
 4974 |       ev_io_init (&fs_w, infy_cb, fs_fd, EV_READ);
      |       ^~~~~~~~~~
../libev/ev.h:744:79: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
  744 | # define ev_set_cb(ev,cb_)                   (ev_cb_ (ev) = (cb_), memmove (&((ev_watcher *)(ev))->cb, &ev_cb_ (ev), sizeof (ev_cb_ (ev))))
      |                                                                              ~^~~~~~~~~~~~~~~~~~~
../libev/ev.h:694:3: note: in expansion of macro 'ev_set_cb'
  694 |   ev_set_cb ((ev), cb_);                        \
      |   ^~~~~~~~~
../libev/ev.h:712:51: note: in expansion of macro 'ev_init'
  712 | #define ev_io_init(ev,cb,fd,events)          do { ev_init ((ev), (cb)); ev_io_set ((ev),(fd),(events)); } while (0)
      |                                                   ^~~~~~~
../libev/ev.c:4974:7: note: in expansion of macro 'ev_io_init'
 4974 |       ev_io_init (&fs_w, infy_cb, fs_fd, EV_READ);
      |       ^~~~~~~~~~
../libev/ev.h:737:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
  737 | # define ev_set_priority(ev,pri)             (   (ev_watcher *)(void *)(ev))->priority = (pri)
      |                                              ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
../libev/ev.c:4975:7: note: in expansion of macro 'ev_set_priority'
 4975 |       ev_set_priority (&fs_w, EV_MAXPRI);
      |       ^~~~~~~~~~~~~~~
../libev/ev.c: In function 'infy_fork':
../libev/ev.h:727:52: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
  727 | #define ev_is_active(ev)                     (0 + ((ev_watcher *)(void *)(ev))->active) /* ro, true when the watcher has been started */
      |                                                   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
../libev/ev.c:5019:19: note: in expansion of macro 'ev_is_active'
 5019 |               if (ev_is_active (&w->timer)) ev_ref (EV_A);
      |                   ^~~~~~~~~~~~
../libev/ev.h:727:52: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
  727 | #define ev_is_active(ev)                     (0 + ((ev_watcher *)(void *)(ev))->active) /* ro, true when the watcher has been started */
      |                                                   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
../libev/ev.c:5021:19: note: in expansion of macro 'ev_is_active'
 5021 |               if (ev_is_active (&w->timer)) ev_unref (EV_A);
      |                   ^~~~~~~~~~~~
../libev/ev.c: In function 'ev_stat_start':
../libev/ev.h:691:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
  691 |   ((ev_watcher *)(void *)(ev))->active  =       \
      |   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
../libev/ev.h:713:51: note: in expansion of macro 'ev_init'
  713 | #define ev_timer_init(ev,cb,after,repeat)    do { ev_init ((ev), (cb)); ev_timer_set ((ev),(after),(repeat)); } while (0)
      |                                                   ^~~~~~~
../libev/ev.c:5096:3: note: in expansion of macro 'ev_timer_init'
 5096 |   ev_timer_init (&w->timer, stat_timer_cb, 0., w->interval ? w->interval : DEF_STAT_INTERVAL);
      |   ^~~~~~~~~~~~~
../libev/ev.h:692:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
  692 |   ((ev_watcher *)(void *)(ev))->pending = 0;    \
      |   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
../libev/ev.h:713:51: note: in expansion of macro 'ev_init'
  713 | #define ev_timer_init(ev,cb,after,repeat)    do { ev_init ((ev), (cb)); ev_timer_set ((ev),(after),(repeat)); } while (0)
      |                                                   ^~~~~~~
../libev/ev.c:5096:3: note: in expansion of macro 'ev_timer_init'
 5096 |   ev_timer_init (&w->timer, stat_timer_cb, 0., w->interval ? w->interval : DEF_STAT_INTERVAL);
      |   ^~~~~~~~~~~~~
../libev/ev.h:737:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
  737 | # define ev_set_priority(ev,pri)             (   (ev_watcher *)(void *)(ev))->priority = (pri)
      |                                              ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
../libev/ev.h:693:3: note: in expansion of macro 'ev_set_priority'
  693 |   ev_set_priority ((ev), 0);                    \
      |   ^~~~~~~~~~~~~~~
../libev/ev.h:713:51: note: in expansion of macro 'ev_init'
  713 | #define ev_timer_init(ev,cb,after,repeat)    do { ev_init ((ev), (cb)); ev_timer_set ((ev),(after),(repeat)); } while (0)
      |                                                   ^~~~~~~
../libev/ev.c:5096:3: note: in expansion of macro 'ev_timer_init'
 5096 |   ev_timer_init (&w->timer, stat_timer_cb, 0., w->interval ? w->interval : DEF_STAT_INTERVAL);
      |   ^~~~~~~~~~~~~
../libev/ev.h:744:79: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
  744 | # define ev_set_cb(ev,cb_)                   (ev_cb_ (ev) = (cb_), memmove (&((ev_watcher *)(ev))->cb, &ev_cb_ (ev), sizeof (ev_cb_ (ev))))
      |                                                                              ~^~~~~~~~~~~~~~~~~~~
../libev/ev.h:694:3: note: in expansion of macro 'ev_set_cb'
  694 |   ev_set_cb ((ev), cb_);                        \
      |   ^~~~~~~~~
../libev/ev.h:713:51: note: in expansion of macro 'ev_init'
  713 | #define ev_timer_init(ev,cb,after,repeat)    do { ev_init ((ev), (cb)); ev_timer_set ((ev),(after),(repeat)); } while (0)
      |                                                   ^~~~~~~
../libev/ev.c:5096:3: note: in expansion of macro 'ev_timer_init'
 5096 |   ev_timer_init (&w->timer, stat_timer_cb, 0., w->interval ? w->interval : DEF_STAT_INTERVAL);
      |   ^~~~~~~~~~~~~
../libev/ev.h:699:52: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
  699 | #define ev_timer_set(ev,after_,repeat_)      do { ((ev_watcher_time *)(ev))->at = (after_); (ev)->repeat = (repeat_); } while (0)
      |                                                   ~^~~~~~~~~~~~~~~~~~~~~~~~
../libev/ev.h:713:73: note: in expansion of macro 'ev_timer_set'
  713 | #define ev_timer_init(ev,cb,after,repeat)    do { ev_init ((ev), (cb)); ev_timer_set ((ev),(after),(repeat)); } while (0)
      |                                                                         ^~~~~~~~~~~~
../libev/ev.c:5096:3: note: in expansion of macro 'ev_timer_init'
 5096 |   ev_timer_init (&w->timer, stat_timer_cb, 0., w->interval ? w->interval : DEF_STAT_INTERVAL);
      |   ^~~~~~~~~~~~~
../libev/ev.h:737:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
  737 | # define ev_set_priority(ev,pri)             (   (ev_watcher *)(void *)(ev))->priority = (pri)
      |                                              ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
../libev/ev.c:5097:3: note: in expansion of macro 'ev_set_priority'
 5097 |   ev_set_priority (&w->timer, ev_priority (w));
      |   ^~~~~~~~~~~~~~~
../libev/ev.c: In function 'ev_stat_stop':
../libev/ev.h:727:52: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
  727 | #define ev_is_active(ev)                     (0 + ((ev_watcher *)(void *)(ev))->active) /* ro, true when the watcher has been started */
      |                                                   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
../libev/ev.c:5129:7: note: in expansion of macro 'ev_is_active'
 5129 |   if (ev_is_active (&w->timer))
      |       ^~~~~~~~~~~~
../libev/ev.c: In function 'ev_embed_start':
../libev/ev.h:691:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
  691 |   ((ev_watcher *)(void *)(ev))->active  =       \
      |   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
../libev/ev.h:712:51: note: in expansion of macro 'ev_init'
  712 | #define ev_io_init(ev,cb,fd,events)          do { ev_init ((ev), (cb)); ev_io_set ((ev),(fd),(events)); } while (0)
      |                                                   ^~~~~~~
../libev/ev.c:5335:5: note: in expansion of macro 'ev_io_init'
 5335 |     ev_io_init (&w->io, embed_io_cb, backend_fd, EV_READ);
      |     ^~~~~~~~~~
../libev/ev.h:692:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
  692 |   ((ev_watcher *)(void *)(ev))->pending = 0;    \
      |   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
../libev/ev.h:712:51: note: in expansion of macro 'ev_init'
  712 | #define ev_io_init(ev,cb,fd,events)          do { ev_init ((ev), (cb)); ev_io_set ((ev),(fd),(events)); } while (0)
      |                                                   ^~~~~~~
../libev/ev.c:5335:5: note: in expansion of macro 'ev_io_init'
 5335 |     ev_io_init (&w->io, embed_io_cb, backend_fd, EV_READ);
      |     ^~~~~~~~~~
../libev/ev.h:737:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
  737 | # define ev_set_priority(ev,pri)             (   (ev_watcher *)(void *)(ev))->priority = (pri)
      |                                              ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
../libev/ev.h:693:3: note: in expansion of macro 'ev_set_priority'
  693 |   ev_set_priority ((ev), 0);                    \
      |   ^~~~~~~~~~~~~~~
../libev/ev.h:712:51: note: in expansion of macro 'ev_init'
  712 | #define ev_io_init(ev,cb,fd,events)          do { ev_init ((ev), (cb)); ev_io_set ((ev),(fd),(events)); } while (0)
      |                                                   ^~~~~~~
../libev/ev.c:5335:5: note: in expansion of macro 'ev_io_init'
 5335 |     ev_io_init (&w->io, embed_io_cb, backend_fd, EV_READ);
      |     ^~~~~~~~~~
../libev/ev.h:744:79: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
  744 | # define ev_set_cb(ev,cb_)                   (ev_cb_ (ev) = (cb_), memmove (&((ev_watcher *)(ev))->cb, &ev_cb_ (ev), sizeof (ev_cb_ (ev))))
      |                                                                              ~^~~~~~~~~~~~~~~~~~~
../libev/ev.h:694:3: note: in expansion of macro 'ev_set_cb'
  694 |   ev_set_cb ((ev), cb_);                        \
      |   ^~~~~~~~~
../libev/ev.h:712:51: note: in expansion of macro 'ev_init'
  712 | #define ev_io_init(ev,cb,fd,events)          do { ev_init ((ev), (cb)); ev_io_set ((ev),(fd),(events)); } while (0)
      |                                                   ^~~~~~~
../libev/ev.c:5335:5: note: in expansion of macro 'ev_io_init'
 5335 |     ev_io_init (&w->io, embed_io_cb, backend_fd, EV_READ);
      |     ^~~~~~~~~~
../libev/ev.h:737:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
  737 | # define ev_set_priority(ev,pri)             (   (ev_watcher *)(void *)(ev))->priority = (pri)
      |                                              ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
../libev/ev.c:5340:3: note: in expansion of macro 'ev_set_priority'
 5340 |   ev_set_priority (&w->io, ev_priority (w));
      |   ^~~~~~~~~~~~~~~
../libev/ev.h:691:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
  691 |   ((ev_watcher *)(void *)(ev))->active  =       \
      |   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
../libev/ev.h:719:51: note: in expansion of macro 'ev_init'
  719 | #define ev_prepare_init(ev,cb)               do { ev_init ((ev), (cb)); ev_prepare_set ((ev)); } while (0)
      |                                                   ^~~~~~~
../libev/ev.c:5343:3: note: in expansion of macro 'ev_prepare_init'
 5343 |   ev_prepare_init (&w->prepare, embed_prepare_cb);
      |   ^~~~~~~~~~~~~~~
../libev/ev.h:692:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
  692 |   ((ev_watcher *)(void *)(ev))->pending = 0;    \
      |   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
../libev/ev.h:719:51: note: in expansion of macro 'ev_init'
  719 | #define ev_prepare_init(ev,cb)               do { ev_init ((ev), (cb)); ev_prepare_set ((ev)); } while (0)
      |                                                   ^~~~~~~
../libev/ev.c:5343:3: note: in expansion of macro 'ev_prepare_init'
 5343 |   ev_prepare_init (&w->prepare, embed_prepare_cb);
      |   ^~~~~~~~~~~~~~~
../libev/ev.h:737:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
  737 | # define ev_set_priority(ev,pri)             (   (ev_watcher *)(void *)(ev))->priority = (pri)
      |                                              ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
../libev/ev.h:693:3: note: in expansion of macro 'ev_set_priority'
  693 |   ev_set_priority ((ev), 0);                    \
      |   ^~~~~~~~~~~~~~~
../libev/ev.h:719:51: note: in expansion of macro 'ev_init'
  719 | #define ev_prepare_init(ev,cb)               do { ev_init ((ev), (cb)); ev_prepare_set ((ev)); } while (0)
      |                                                   ^~~~~~~
../libev/ev.c:5343:3: note: in expansion of macro 'ev_prepare_init'
 5343 |   ev_prepare_init (&w->prepare, embed_prepare_cb);
      |   ^~~~~~~~~~~~~~~
../libev/ev.h:744:79: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
  744 | # define ev_set_cb(ev,cb_)                   (ev_cb_ (ev) = (cb_), memmove (&((ev_watcher *)(ev))->cb, &ev_cb_ (ev), sizeof (ev_cb_ (ev))))
      |                                                                              ~^~~~~~~~~~~~~~~~~~~
../libev/ev.h:694:3: note: in expansion of macro 'ev_set_cb'
  694 |   ev_set_cb ((ev), cb_);                        \
      |   ^~~~~~~~~
../libev/ev.h:719:51: note: in expansion of macro 'ev_init'
  719 | #define ev_prepare_init(ev,cb)               do { ev_init ((ev), (cb)); ev_prepare_set ((ev)); } while (0)
      |                                                   ^~~~~~~
../libev/ev.c:5343:3: note: in expansion of macro 'ev_prepare_init'
 5343 |   ev_prepare_init (&w->prepare, embed_prepare_cb);
      |   ^~~~~~~~~~~~~~~
../libev/ev.h:737:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
  737 | # define ev_set_priority(ev,pri)             (   (ev_watcher *)(void *)(ev))->priority = (pri)
      |                                              ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
../libev/ev.c:5344:3: note: in expansion of macro 'ev_set_priority'
 5344 |   ev_set_priority (&w->prepare, EV_MINPRI);
      |   ^~~~~~~~~~~~~~~
../libev/ev.h:691:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
  691 |   ((ev_watcher *)(void *)(ev))->active  =       \
      |   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
../libev/ev.h:722:51: note: in expansion of macro 'ev_init'
  722 | #define ev_fork_init(ev,cb)                  do { ev_init ((ev), (cb)); ev_fork_set ((ev)); } while (0)
      |                                                   ^~~~~~~
../libev/ev.c:5348:3: note: in expansion of macro 'ev_fork_init'
 5348 |   ev_fork_init (&w->fork, embed_fork_cb);
      |   ^~~~~~~~~~~~
../libev/ev.h:692:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
  692 |   ((ev_watcher *)(void *)(ev))->pending = 0;    \
      |   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
../libev/ev.h:722:51: note: in expansion of macro 'ev_init'
  722 | #define ev_fork_init(ev,cb)                  do { ev_init ((ev), (cb)); ev_fork_set ((ev)); } while (0)
      |                                                   ^~~~~~~
../libev/ev.c:5348:3: note: in expansion of macro 'ev_fork_init'
 5348 |   ev_fork_init (&w->fork, embed_fork_cb);
      |   ^~~~~~~~~~~~
../libev/ev.h:737:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
  737 | # define ev_set_priority(ev,pri)             (   (ev_watcher *)(void *)(ev))->priority = (pri)
      |                                              ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
../libev/ev.h:693:3: note: in expansion of macro 'ev_set_priority'
  693 |   ev_set_priority ((ev), 0);                    \
      |   ^~~~~~~~~~~~~~~
../libev/ev.h:722:51: note: in expansion of macro 'ev_init'
  722 | #define ev_fork_init(ev,cb)                  do { ev_init ((ev), (cb)); ev_fork_set ((ev)); } while (0)
      |                                                   ^~~~~~~
../libev/ev.c:5348:3: note: in expansion of macro 'ev_fork_init'
 5348 |   ev_fork_init (&w->fork, embed_fork_cb);
      |   ^~~~~~~~~~~~
../libev/ev.h:744:79: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
  744 | # define ev_set_cb(ev,cb_)                   (ev_cb_ (ev) = (cb_), memmove (&((ev_watcher *)(ev))->cb, &ev_cb_ (ev), sizeof (ev_cb_ (ev))))
      |                                                                              ~^~~~~~~~~~~~~~~~~~~
../libev/ev.h:694:3: note: in expansion of macro 'ev_set_cb'
  694 |   ev_set_cb ((ev), cb_);                        \
      |   ^~~~~~~~~
../libev/ev.h:722:51: note: in expansion of macro 'ev_init'
  722 | #define ev_fork_init(ev,cb)                  do { ev_init ((ev), (cb)); ev_fork_set ((ev)); } while (0)
      |                                                   ^~~~~~~
../libev/ev.c:5348:3: note: in expansion of macro 'ev_fork_init'
 5348 |   ev_fork_init (&w->fork, embed_fork_cb);
      |   ^~~~~~~~~~~~
../libev/ev.c: In function 'ev_once':
../libev/ev.h:691:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
  691 |   ((ev_watcher *)(void *)(ev))->active  =       \
      |   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
../libev/ev.c:5555:3: note: in expansion of macro 'ev_init'
 5555 |   ev_init (&once->io, once_cb_io);
      |   ^~~~~~~
../libev/ev.h:692:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
  692 |   ((ev_watcher *)(void *)(ev))->pending = 0;    \
      |   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
../libev/ev.c:5555:3: note: in expansion of macro 'ev_init'
 5555 |   ev_init (&once->io, once_cb_io);
      |   ^~~~~~~
../libev/ev.h:737:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
  737 | # define ev_set_priority(ev,pri)             (   (ev_watcher *)(void *)(ev))->priority = (pri)
      |                                              ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
../libev/ev.h:693:3: note: in expansion of macro 'ev_set_priority'
  693 |   ev_set_priority ((ev), 0);                    \
      |   ^~~~~~~~~~~~~~~
../libev/ev.c:5555:3: note: in expansion of macro 'ev_init'
 5555 |   ev_init (&once->io, once_cb_io);
      |   ^~~~~~~
../libev/ev.h:744:79: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
  744 | # define ev_set_cb(ev,cb_)                   (ev_cb_ (ev) = (cb_), memmove (&((ev_watcher *)(ev))->cb, &ev_cb_ (ev), sizeof (ev_cb_ (ev))))
      |                                                                              ~^~~~~~~~~~~~~~~~~~~
../libev/ev.h:694:3: note: in expansion of macro 'ev_set_cb'
  694 |   ev_set_cb ((ev), cb_);                        \
      |   ^~~~~~~~~
../libev/ev.c:5555:3: note: in expansion of macro 'ev_init'
 5555 |   ev_init (&once->io, once_cb_io);
      |   ^~~~~~~
../libev/ev.h:691:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
  691 |   ((ev_watcher *)(void *)(ev))->active  =       \
      |   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
../libev/ev.c:5562:3: note: in expansion of macro 'ev_init'
 5562 |   ev_init (&once->to, once_cb_to);
      |   ^~~~~~~
../libev/ev.h:692:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
  692 |   ((ev_watcher *)(void *)(ev))->pending = 0;    \
      |   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
../libev/ev.c:5562:3: note: in expansion of macro 'ev_init'
 5562 |   ev_init (&once->to, once_cb_to);
      |   ^~~~~~~
../libev/ev.h:737:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
  737 | # define ev_set_priority(ev,pri)             (   (ev_watcher *)(void *)(ev))->priority = (pri)
      |                                              ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
../libev/ev.h:693:3: note: in expansion of macro 'ev_set_priority'
  693 |   ev_set_priority ((ev), 0);                    \
      |   ^~~~~~~~~~~~~~~
../libev/ev.c:5562:3: note: in expansion of macro 'ev_init'
 5562 |   ev_init (&once->to, once_cb_to);
      |   ^~~~~~~
../libev/ev.h:744:79: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
  744 | # define ev_set_cb(ev,cb_)                   (ev_cb_ (ev) = (cb_), memmove (&((ev_watcher *)(ev))->cb, &ev_cb_ (ev), sizeof (ev_cb_ (ev))))
      |                                                                              ~^~~~~~~~~~~~~~~~~~~
../libev/ev.h:694:3: note: in expansion of macro 'ev_set_cb'
  694 |   ev_set_cb ((ev), cb_);                        \
      |   ^~~~~~~~~
../libev/ev.c:5562:3: note: in expansion of macro 'ev_init'
 5562 |   ev_init (&once->to, once_cb_to);
      |   ^~~~~~~
../libev/ev.h:699:52: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
  699 | #define ev_timer_set(ev,after_,repeat_)      do { ((ev_watcher_time *)(ev))->at = (after_); (ev)->repeat = (repeat_); } while (0)
      |                                                   ~^~~~~~~~~~~~~~~~~~~~~~~~
../libev/ev.c:5565:7: note: in expansion of macro 'ev_timer_set'
 5565 |       ev_timer_set (&once->to, timeout, 0.);
      |       ^~~~~~~~~~~~
../libev/ev.c: At top level:
../libev/ev.c:5682:27: warning: "/*" within comment [-Wcomment]
 5682 | /* EV_STAT     0x00001000 /* stat data changed */
      |                            
../libev/ev.c:5683:27: warning: "/*" within comment [-Wcomment]
 5683 | /* EV_EMBED    0x00010000 /* embedded event loop needs sweep */
      |                            
../libev/ev.c: In function 'evpipe_write':
../libev/ev.c:2798:11: warning: ignoring return value of 'write' declared with attribute 'warn_unused_result' [-Wunused-result]
 2798 |           write (evpipe [1], &counter, sizeof (uint64_t));
      |           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libev/ev.c:2810:11: warning: ignoring return value of 'write' declared with attribute 'warn_unused_result' [-Wunused-result]
 2810 |           write (evpipe [1], &(evpipe [1]), 1);
      |           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libev/ev.c: In function 'pipecb':
../libev/ev.c:2831:11: warning: ignoring return value of 'read' declared with attribute 'warn_unused_result' [-Wunused-result]
 2831 |           read (evpipe [1], &counter, sizeof (uint64_t));
      |           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
../libev/ev.c:2845:11: warning: ignoring return value of 'read' declared with attribute 'warn_unused_result' [-Wunused-result]
 2845 |           read (evpipe [0], &dummy, sizeof (dummy));
      |           ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
gcc -I. -I/usr/include -I/usr/include/ruby/backward -I/usr/include -I. -DHAVE_UNISTD_H -DHAVE_LINUX_AIO_ABI_H -DEV_USE_LINUXAIO -DHAVE_LINUX_IO_URING_H -DEV_USE_IOURING -DHAVE_SYS_SELECT_H -DEV_USE_SELECT -DHAVE_SYS_EPOLL_H -DEV_USE_EPOLL -DHAVE_SYS_RESOURCE_H -DHAVE_SYS_RESOURCE_H -DEV_STANDALONE    -fPIC -O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -m64 -o selector.o -c selector.c
In file included from libev.h:7,
                 from nio4r.h:9,
                 from selector.c:6:
selector.c: In function 'NIO_Selector_allocate':
../libev/ev.h:691:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
  691 |   ((ev_watcher *)(void *)(ev))->active  =       \
      |   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
selector.c:112:5: note: in expansion of macro 'ev_init'
  112 |     ev_init(&selector->timer, NIO_Selector_timeout_callback);
      |     ^~~~~~~
../libev/ev.h:692:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
  692 |   ((ev_watcher *)(void *)(ev))->pending = 0;    \
      |   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
selector.c:112:5: note: in expansion of macro 'ev_init'
  112 |     ev_init(&selector->timer, NIO_Selector_timeout_callback);
      |     ^~~~~~~
../libev/ev.h:737:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
  737 | # define ev_set_priority(ev,pri)             (   (ev_watcher *)(void *)(ev))->priority = (pri)
      |                                              ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
../libev/ev.h:693:3: note: in expansion of macro 'ev_set_priority'
  693 |   ev_set_priority ((ev), 0);                    \
      |   ^~~~~~~~~~~~~~~
selector.c:112:5: note: in expansion of macro 'ev_init'
  112 |     ev_init(&selector->timer, NIO_Selector_timeout_callback);
      |     ^~~~~~~
../libev/ev.h:744:79: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
  744 | # define ev_set_cb(ev,cb_)                   (ev_cb_ (ev) = (cb_), memmove (&((ev_watcher *)(ev))->cb, &ev_cb_ (ev), sizeof (ev_cb_ (ev))))
      |                                                                              ~^~~~~~~~~~~~~~~~~~~
../libev/ev.h:694:3: note: in expansion of macro 'ev_set_cb'
  694 |   ev_set_cb ((ev), cb_);                        \
      |   ^~~~~~~~~
selector.c:112:5: note: in expansion of macro 'ev_init'
  112 |     ev_init(&selector->timer, NIO_Selector_timeout_callback);
      |     ^~~~~~~
../libev/ev.h:691:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
  691 |   ((ev_watcher *)(void *)(ev))->active  =       \
      |   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
../libev/ev.h:712:51: note: in expansion of macro 'ev_init'
  712 | #define ev_io_init(ev,cb,fd,events)          do { ev_init ((ev), (cb)); ev_io_set ((ev),(fd),(events)); } while (0)
      |                                                   ^~~~~~~
selector.c:117:5: note: in expansion of macro 'ev_io_init'
  117 |     ev_io_init(&selector->wakeup, NIO_Selector_wakeup_callback, selector->wakeup_reader, EV_READ);
      |     ^~~~~~~~~~
../libev/ev.h:692:4: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
  692 |   ((ev_watcher *)(void *)(ev))->pending = 0;    \
      |   ~^~~~~~~~~~~~~~~~~~~~~~~~~~~
../libev/ev.h:712:51: note: in expansion of macro 'ev_init'
  712 | #define ev_io_init(ev,cb,fd,events)          do { ev_init ((ev), (cb)); ev_io_set ((ev),(fd),(events)); } while (0)
      |                                                   ^~~~~~~
selector.c:117:5: note: in expansion of macro 'ev_io_init'
  117 |     ev_io_init(&selector->wakeup, NIO_Selector_wakeup_callback, selector->wakeup_reader, EV_READ);
      |     ^~~~~~~~~~
../libev/ev.h:737:50: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
  737 | # define ev_set_priority(ev,pri)             (   (ev_watcher *)(void *)(ev))->priority = (pri)
      |                                              ~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
../libev/ev.h:693:3: note: in expansion of macro 'ev_set_priority'
  693 |   ev_set_priority ((ev), 0);                    \
      |   ^~~~~~~~~~~~~~~
../libev/ev.h:712:51: note: in expansion of macro 'ev_init'
  712 | #define ev_io_init(ev,cb,fd,events)          do { ev_init ((ev), (cb)); ev_io_set ((ev),(fd),(events)); } while (0)
      |                                                   ^~~~~~~
selector.c:117:5: note: in expansion of macro 'ev_io_init'
  117 |     ev_io_init(&selector->wakeup, NIO_Selector_wakeup_callback, selector->wakeup_reader, EV_READ);
      |     ^~~~~~~~~~
../libev/ev.h:744:79: warning: dereferencing type-punned pointer will break strict-aliasing rules [-Wstrict-aliasing]
  744 | # define ev_set_cb(ev,cb_)                   (ev_cb_ (ev) = (cb_), memmove (&((ev_watcher *)(ev))->cb, &ev_cb_ (ev), sizeof (ev_cb_ (ev))))
      |                                                                              ~^~~~~~~~~~~~~~~~~~~
../libev/ev.h:694:3: note: in expansion of macro 'ev_set_cb'
  694 |   ev_set_cb ((ev), cb_);                        \
      |   ^~~~~~~~~
../libev/ev.h:712:51: note: in expansion of macro 'ev_init'
  712 | #define ev_io_init(ev,cb,fd,events)          do { ev_init ((ev), (cb)); ev_io_set ((ev),(fd),(events)); } while (0)
      |                                                   ^~~~~~~
selector.c:117:5: note: in expansion of macro 'ev_io_init'
  117 |     ev_io_init(&selector->wakeup, NIO_Selector_wakeup_callback, selector->wakeup_reader, EV_READ);
      |     ^~~~~~~~~~
selector.c: In function 'NIO_Selector_synchronize':
selector.c:301:26: warning: passing argument 1 of 'rb_ensure' from incompatible pointer type [-Wincompatible-pointer-types]
  301 |         return rb_ensure(func, (VALUE)args, NIO_Selector_unlock, self);
      |                          ^~~~
      |                          |
      |                          VALUE (*)(VALUE *) {aka long unsigned int (*)(long unsigned int *)}
In file included from /usr/include/ruby/ruby.h:40,
                 from /usr/include/ruby.h:38,
                 from nio4r.h:10:
/usr/include/ruby/internal/iterator.h:425:25: note: expected 'VALUE (*)(VALUE)' {aka 'long unsigned int (*)(long unsigned int)'} but argument is of type 'VALUE (*)(VALUE *)' {aka 'long unsigned int (*)(long unsigned int *)'}
  425 | VALUE rb_ensure(VALUE (*b_proc)(VALUE), VALUE data1, VALUE (*e_proc)(VALUE), VALUE data2);
      |                 ~~~~~~~~^~~~~~~~~~~~~~
selector.c: In function 'NIO_Selector_wakeup':
selector.c:499:5: warning: ignoring return value of 'write' declared with attribute 'warn_unused_result' [-Wunused-result]
  499 |     write(selector->wakeup_writer, "\0", 1);
      |     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
rm -f nio4r_ext.so
gcc -shared -o nio4r_ext.so bytebuffer.o monitor.o nio4r_ext.o selector.o -L. -L/usr/lib64 -Wl,-z,relro -Wl,--as-needed  -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes -Wl,-z,relro -Wl,--as-needed  -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -Wl,--build-id=sha1   -m64  -lruby  -lm  -lc
current directory: /builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/ext/nio4r
["make", "DESTDIR=", "sitearchdir=./.gem.20221229-36-o0revl", "sitelibdir=./.gem.20221229-36-o0revl", "install"]
/usr/bin/mkdir -p . ./.gem.20221229-36-o0revl
exit > .sitearchdir.time
/usr/bin/install -c -m 0755 nio4r_ext.so ./.gem.20221229-36-o0revl
current directory: /builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/ext/nio4r
/usr/bin/ruby -I /usr/share/rubygems extconf.rb
current directory: /builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/ext/nio4r
make DESTDIR\= sitearchdir\=./.gem.20221229-36-o0revl sitelibdir\=./.gem.20221229-36-o0revl clean
current directory: /builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/ext/nio4r
make DESTDIR\= sitearchdir\=./.gem.20221229-36-o0revl sitelibdir\=./.gem.20221229-36-o0revl
current directory: /builddir/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8/ext/nio4r
make DESTDIR\= sitearchdir\=./.gem.20221229-36-o0revl sitelibdir\=./.gem.20221229-36-o0revl install
Successfully installed nio4r-2.5.8
Parsing documentation for nio4r-2.5.8
Parsing sources...
  2% [ 1/37]  ext/libev/Changes
  5% [ 2/37]  ext/libev/LICENSE
  8% [ 3/37]  ext/libev/README
 10% [ 4/37]  ext/libev/ev.c
 13% [ 5/37]  ext/libev/ev.h
 16% [ 6/37]  ext/libev/ev_epoll.c
 18% [ 7/37]  ext/libev/ev_iouring.c
 21% [ 8/37]  ext/libev/ev_kqueue.c
 24% [ 9/37]  ext/libev/ev_linuxaio.c
 27% [10/37]  ext/libev/ev_poll.c
 29% [11/37]  ext/libev/ev_port.c
 32% [12/37]  ext/libev/ev_select.c
 35% [13/37]  ext/libev/ev_vars.h
 37% [14/37]  ext/libev/ev_win32.c
 40% [15/37]  ext/libev/ev_wrap.h
 43% [16/37]  ext/nio4r/Makefile
 45% [17/37]  ext/nio4r/bytebuffer.c
 48% [18/37]  ext/nio4r/bytebuffer.o
 51% [19/37]  ext/nio4r/extconf.rb
 54% [20/37]  ext/nio4r/libev.h
 56% [21/37]  ext/nio4r/monitor.c
 59% [22/37]  ext/nio4r/monitor.o
 62% [23/37]  ext/nio4r/nio4r.h
 64% [24/37]  ext/nio4r/nio4r_ext.c
 67% [25/37]  ext/nio4r/nio4r_ext.o
 70% [26/37]  ext/nio4r/nio4r_ext.so
 72% [27/37]  ext/nio4r/org/nio4r/ByteBuffer.java
 75% [28/37]  ext/nio4r/org/nio4r/Monitor.java
 78% [29/37]  ext/nio4r/org/nio4r/Nio4r.java
 81% [30/37]  ext/nio4r/org/nio4r/Selector.java
 83% [31/37]  ext/nio4r/selector.c
 86% [32/37]  ext/nio4r/selector.o
 89% [33/37]  lib/nio.rb
 91% [34/37]  lib/nio/bytebuffer.rb
 94% [35/37]  lib/nio/monitor.rb
 97% [36/37]  lib/nio/selector.rb
100% [37/37]  lib/nio/version.rb
Installing ri documentation for nio4r-2.5.8
Installing darkfish documentation for nio4r-2.5.8
Done installing documentation for nio4r after 0 seconds
1 gem installed
+ RPM_EC=0
++ jobs -p
+ exit 0
Executing(%install): /bin/sh -e /var/tmp/rpm-tmp.bITOyb
+ umask 022
+ cd /builddir/build/BUILD
+ '[' /builddir/build/BUILDROOT/rubygem-nio4r-2.5.8-1.fc38.ppc64le '!=' / ']'
+ rm -rf /builddir/build/BUILDROOT/rubygem-nio4r-2.5.8-1.fc38.ppc64le
++ dirname /builddir/build/BUILDROOT/rubygem-nio4r-2.5.8-1.fc38.ppc64le
+ mkdir -p /builddir/build/BUILDROOT
+ mkdir /builddir/build/BUILDROOT/rubygem-nio4r-2.5.8-1.fc38.ppc64le
+ CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection'
+ export CFLAGS
+ CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection'
+ export CXXFLAGS
+ FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -I/usr/lib64/gfortran/modules'
+ export FFLAGS
+ FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -I/usr/lib64/gfortran/modules'
+ export FCFLAGS
+ VALAFLAGS=-g
+ export VALAFLAGS
+ LDFLAGS='-Wl,-z,relro -Wl,--as-needed  -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes'
+ export LDFLAGS
+ LT_SYS_LIBRARY_PATH=/usr/lib64:
+ export LT_SYS_LIBRARY_PATH
+ CC=gcc
+ export CC
+ CXX=g++
+ export CXX
+ cd nio4r-2.5.8
+ mkdir -p /builddir/build/BUILDROOT/rubygem-nio4r-2.5.8-1.fc38.ppc64le/usr/share/gems
+ cp -a ./usr/share/gems/build_info ./usr/share/gems/cache ./usr/share/gems/doc ./usr/share/gems/extensions ./usr/share/gems/gems ./usr/share/gems/plugins ./usr/share/gems/specifications /builddir/build/BUILDROOT/rubygem-nio4r-2.5.8-1.fc38.ppc64le/usr/share/gems/
+ mkdir -p /builddir/build/BUILDROOT/rubygem-nio4r-2.5.8-1.fc38.ppc64le/usr/lib64/gems/ruby/nio4r-2.5.8
+ cp -a ./usr/lib64/gems/ruby/nio4r-2.5.8/gem.build_complete ./usr/lib64/gems/ruby/nio4r-2.5.8/nio4r_ext.so /builddir/build/BUILDROOT/rubygem-nio4r-2.5.8-1.fc38.ppc64le/usr/lib64/gems/ruby/nio4r-2.5.8/
+ rm -rf /builddir/build/BUILDROOT/rubygem-nio4r-2.5.8-1.fc38.ppc64le/usr/share/gems/gems/nio4r-2.5.8/ext/
+ /usr/bin/find-debuginfo -j5 --strict-build-id -m -i --build-id-seed 2.5.8-1.fc38 --unique-debug-suffix -2.5.8-1.fc38.ppc64le --unique-debug-src-base rubygem-nio4r-2.5.8-1.fc38.ppc64le --run-dwz --dwz-low-mem-die-limit 10000000 --dwz-max-die-limit 50000000 -S debugsourcefiles.list /builddir/build/BUILD/nio4r-2.5.8
extracting debug info from /builddir/build/BUILDROOT/rubygem-nio4r-2.5.8-1.fc38.ppc64le/usr/lib64/gems/ruby/nio4r-2.5.8/nio4r_ext.so
original debug info size: 384kB, size after compression: 384kB
/usr/bin/sepdebugcrcfix: Updated 1 CRC32s, 0 CRC32s did match.
588 blocks
+ /usr/lib/rpm/check-buildroot
+ /usr/lib/rpm/redhat/brp-ldconfig
+ /usr/lib/rpm/brp-compress
+ /usr/lib/rpm/redhat/brp-strip-lto /usr/bin/strip
+ /usr/lib/rpm/brp-strip-static-archive /usr/bin/strip
+ /usr/lib/rpm/check-rpaths
+ /usr/lib/rpm/redhat/brp-mangle-shebangs
mangling shebang in /usr/share/gems/gems/nio4r-2.5.8/examples/echo_server.rb from /usr/bin/env ruby to #!/usr/bin/ruby
+ /usr/lib/rpm/brp-remove-la-files
+ /usr/lib/rpm/redhat/brp-python-bytecompile '' 1 0
+ /usr/lib/rpm/redhat/brp-python-hardlink
Executing(%check): /bin/sh -e /var/tmp/rpm-tmp.rIB7Pm
+ umask 022
+ cd /builddir/build/BUILD
+ CFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection'
+ export CFLAGS
+ CXXFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection'
+ export CXXFLAGS
+ FFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -I/usr/lib64/gfortran/modules'
+ export FFLAGS
+ FCFLAGS='-O2 -flto=auto -ffat-lto-objects -fexceptions -g -grecord-gcc-switches -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -fstack-protector-strong -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -m64 -mcpu=power8 -mtune=power8 -fasynchronous-unwind-tables -fstack-clash-protection -I/usr/lib64/gfortran/modules'
+ export FCFLAGS
+ VALAFLAGS=-g
+ export VALAFLAGS
+ LDFLAGS='-Wl,-z,relro -Wl,--as-needed  -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1  -Wl,--build-id=sha1 -specs=/usr/lib/rpm/redhat/redhat-package-notes'
+ export LDFLAGS
~/build/BUILD/nio4r-2.5.8/usr/share/gems/gems/nio4r-2.5.8 ~/build/BUILD/nio4r-2.5.8
+ LT_SYS_LIBRARY_PATH=/usr/lib64:
+ export LT_SYS_LIBRARY_PATH
+ CC=gcc
+ export CC
+ CXX=g++
+ export CXX
+ cd nio4r-2.5.8
+ pushd ./usr/share/gems/gems/nio4r-2.5.8
++ grep EV_VERSION_MAJOR ext/libev/ev.h
++ cut -d ' ' -f3
+ EV_VERSION_MAJOR=4
++ grep EV_VERSION_MINOR ext/libev/ev.h
++ cut -d ' ' -f3
+ EV_VERSION_MINOR=33
+ '[' 4.33 = 4.33 ']'
+ sed -i '/require "coveralls"/ s/^/#/' spec/spec_helper.rb
+ sed -i '/Coveralls.wear!/ s/^/#/' spec/spec_helper.rb
++ dirs +1
+ rspec -I~/build/BUILD/nio4r-2.5.8/usr/lib64/gems/ruby/nio4r-2.5.8 -ropenssl spec
Randomized with seed 35000
NIO::ByteBuffer
  #[]
    raises ArgumentError if the index exceeds the limit
    raises ArgumentError if the index is less than zero
    obtains bytes at a given index without altering position
  #initialize
    raises TypeError if given a bogus argument
  #get
    reads zeroes from a newly initialized buffer
    reads all remaining data if no length is given
    raises NIO::ByteBuffer::UnderflowError if there is not enough data in the buffer
    advances position as data is read
  #inspect
    inspects the buffer offsets
  #each
    iterates over data in the buffer
  #position=
    sets the buffer's position to a valid value
    raises ArgumentError if the specified position is less than zero
    raises ArgumentError if the specified position exceeds the limit
  #<<
    raises NIO::ByteBuffer::OverflowError if the buffer is full
    adds strings to the buffer
    raises TypeError if given a non-String type
  #position
    defaults to zero
  #limit
    defaults to the buffer's capacity
  #full?
    returns false when there is space remaining in the buffer
    returns true when the buffer is full
  #clear
    clears the buffer
  #compact
    copies data from the current position to the beginning of the buffer
  #limit=
    clears the mark if the new limit is before the current mark
    sets position to the new limit if the previous position is beyond the limit
    raises ArgumentError if specified limit exceeds capacity
    sets the buffer's limit to a valid value
    preserves position and mark if they're less than the new limit
    raises ArgumentError if specified limit is less than zero
  #flip
    sets limit to the previous position
    flips the bytebuffer
    sets remaining to the previous position
  #rewind
    rewinds the buffer leaving the limit intact
  #reset
    raises NIO::ByteBuffer::MarkUnsetError unless mark has been set
    returns to a previously marked position
  #remaining
    calculates the number of bytes remaining
  #mark
    returns self
  #capacity
    has the requested capacity
  I/O
    #read_from
      returns 0 if no data is available
      raises NIO::ByteBuffer::OverflowError if the buffer is already full
      reads data into the buffer
    #write_to
      raises NIO::ByteBuffer::UnderflowError if the buffer is out of data
      writes data from the buffer
IO.pipe
  behaves like an NIO selectable stream
    selects readable when the other end closes
  behaves like an NIO selectable
    does not select unreadable objects
    selects writable objects
    does not select unwritable objects
    selects readable objects
NIO acceptables
  TCPServer
    behaves like an NIO acceptable
      selects for read readiness
UDPSocket
  behaves like an NIO selectable
    selects readable objects
    selects writable objects
    does not select unreadable objects
    does not select unwritable objects (PENDING: come up with a UDPSocket that's blocked on writing)
OpenSSL::SSL::SSLSocket
  using TLS 1.3
    behaves like an NIO selectable stream
      selects readable when the other end closes
    behaves like an NIO selectable
      does not select unreadable objects
      selects readable objects
      does not select unwritable objects
      selects writable objects
  using TLS 1.2
    behaves like an NIO selectable stream
      selects readable when the other end closes
    behaves like an NIO selectable
      does not select unwritable objects
      selects readable objects
      does not select unreadable objects
      selects writable objects
TCPSocket
  connect
    selects writable when connected
  behaves like an NIO bidirectional stream
    selects readable and writable
    keeps readiness after the selectable has been closed
  behaves like an NIO selectable
    does not select unwritable objects (PENDING: Failed to produce an unwritable socket)
    selects readable objects
    selects writable objects
    does not select unreadable objects
  behaves like an NIO selectable stream
    selects readable when the other end closes
NIO::Selector
  deregisters IO objects
  allows deregistering closed IO objects
  knows which IO objects are registered
  closes
  allows reregistration of the same IO object across select calls
  reports if it is empty
  wakeup
    wakes up if signaled to from another thread
    raises IOError if asked to wake up a closed selector
  .backends
    knows all supported backends
  backend
    knows its backend
      Current backend: epoll
  #initialize
    raises TypeError if given a non-Symbol parameter
    allows explicitly specifying a backend
      Supported backends: [:epoll, :poll, :select, :linuxaio, :io_uring]
    automatically selects a backend if none or nil is specified
    raises ArgumentError if given an invalid backend
  select
    does not block on super small precision intervals
    selects IO objects
    selects closed IO objects
    raises IOError if asked to select on a closed selector
    iterates across selected objects with a block
  register
    registers IO objects
    raises when asked to register after closing
    raises TypeError if asked to register non-IO objects
  timeouts
    raises ArgumentError if given a negative timeout
    waits for timeout when selecting from empty selector
    waits for a timeout when selecting with reader
NIO::Monitor
  #readiness
    knows what operations IO objects are ready for
  #io
    knows its IO object
  #interests=
    can set interests to nil
    raises EOFError if interests are changed after the monitor is closed
    changes the interest set
  #value=
    stores arbitrary values
  #add_interest
    raises ArgumentError if given a bogus option
    sets a new interest if it isn't currently registered
    acts idempotently
  #remove_interest
    acts idempotently
    raises ArgumentError if given a bogus option
    can clear the last interest
    removes an interest from the set
  #interests
    knows its interests
  #close
    closes
    closes even if the selector has been shutdown
  #selector
    knows its selector
Pending: (Failures listed here are expected and do not affect your suite's status)
  1) UDPSocket behaves like an NIO selectable does not select unwritable objects
     # come up with a UDPSocket that's blocked on writing
     Failure/Error: selector.register(unwritable_subject, :w)
     TypeError:
       no implicit conversion of false into IO
     Shared Example Group: "an NIO selectable" called from ./spec/nio/selectables/udp_socket_spec.rb:47
     # ./spec/support/selectable_examples.rb:36:in `initialize'
     # ./spec/support/selectable_examples.rb:36:in `register'
     # ./spec/support/selectable_examples.rb:36:in `block (2 levels) in <top (required)>'
  2) TCPSocket behaves like an NIO selectable does not select unwritable objects
     # Failed to produce an unwritable socket
     Failure/Error: expect(ready).to be_nil
       expected: nil
            got: [#<NIO::Monitor:0x000000012d238330>]
     Shared Example Group: "an NIO selectable" called from ./spec/nio/selectables/tcp_socket_spec.rb:72
     # ./spec/support/selectable_examples.rb:38:in `block (2 levels) in <top (required)>'
Finished in 11.09 seconds (files took 0.25349 seconds to load)
112 examples, 0 failures, 2 pending
Randomized with seed 35000
++ dirs +1
+ NIO4R_PURE=true
+ rspec -I~/build/BUILD/nio4r-2.5.8/usr/lib64/gems/ruby/nio4r-2.5.8 -ropenssl spec
Randomized with seed 38449
UDPSocket
  behaves like an NIO selectable
    does not select unreadable objects
    does not select unwritable objects (PENDING: come up with a UDPSocket that's blocked on writing)
    selects readable objects
    selects writable objects
TCPSocket
  connect
    selects writable when connected
  behaves like an NIO selectable
    selects writable objects
    does not select unwritable objects (PENDING: Failed to produce an unwritable socket)
    does not select unreadable objects
    selects readable objects
  behaves like an NIO bidirectional stream
    keeps readiness after the selectable has been closed
    selects readable and writable
  behaves like an NIO selectable stream
    selects readable when the other end closes
NIO::ByteBuffer
  #full?
    returns false when there is space remaining in the buffer
    returns true when the buffer is full
  #inspect
    inspects the buffer offsets
  #each
    iterates over data in the buffer
  #[]
    raises ArgumentError if the index is less than zero
    raises ArgumentError if the index exceeds the limit
    obtains bytes at a given index without altering position
  #initialize
    raises TypeError if given a bogus argument
  #rewind
    rewinds the buffer leaving the limit intact
  #clear
    clears the buffer
  #<<
    adds strings to the buffer
    raises TypeError if given a non-String type
    raises NIO::ByteBuffer::OverflowError if the buffer is full
  #limit=
    raises ArgumentError if specified limit exceeds capacity
    raises ArgumentError if specified limit is less than zero
    sets the buffer's limit to a valid value
    clears the mark if the new limit is before the current mark
    preserves position and mark if they're less than the new limit
    sets position to the new limit if the previous position is beyond the limit
  #mark
    returns self
  #reset
    returns to a previously marked position
    raises NIO::ByteBuffer::MarkUnsetError unless mark has been set
  #capacity
    has the requested capacity
  #flip
    flips the bytebuffer
    sets limit to the previous position
    sets remaining to the previous position
  #compact
    copies data from the current position to the beginning of the buffer
  #position=
    sets the buffer's position to a valid value
    raises ArgumentError if the specified position is less than zero
    raises ArgumentError if the specified position exceeds the limit
  #position
    defaults to zero
  #get
    reads all remaining data if no length is given
    advances position as data is read
    raises NIO::ByteBuffer::UnderflowError if there is not enough data in the buffer
    reads zeroes from a newly initialized buffer
  #remaining
    calculates the number of bytes remaining
  I/O
    #write_to
      raises NIO::ByteBuffer::UnderflowError if the buffer is out of data
      writes data from the buffer
    #read_from
      reads data into the buffer
      returns 0 if no data is available
      raises NIO::ByteBuffer::OverflowError if the buffer is already full
  #limit
    defaults to the buffer's capacity
NIO::Selector
  deregisters IO objects
  allows deregistering closed IO objects
  closes
  knows which IO objects are registered
  reports if it is empty
  allows reregistration of the same IO object across select calls
  .backends
    knows all supported backends
  select
    raises IOError if asked to select on a closed selector
    selects IO objects
    iterates across selected objects with a block
    does not block on super small precision intervals
    selects closed IO objects
  wakeup
    raises IOError if asked to wake up a closed selector
    wakes up if signaled to from another thread
  backend
    knows its backend
      Current backend: ruby
  timeouts
    raises ArgumentError if given a negative timeout
    waits for a timeout when selecting with reader
    waits for timeout when selecting from empty selector
  #initialize
    raises ArgumentError if given an invalid backend
    raises TypeError if given a non-Symbol parameter
    allows explicitly specifying a backend
      Supported backends: [:ruby]
    automatically selects a backend if none or nil is specified
  register
    raises TypeError if asked to register non-IO objects
    raises when asked to register after closing
    registers IO objects
OpenSSL::SSL::SSLSocket
  using TLS 1.2
    behaves like an NIO selectable stream
      selects readable when the other end closes
    behaves like an NIO selectable
      does not select unwritable objects
      does not select unreadable objects
      selects writable objects
      selects readable objects
  using TLS 1.3
    behaves like an NIO selectable
      does not select unwritable objects
      selects readable objects
      does not select unreadable objects
      selects writable objects
    behaves like an NIO selectable stream
      selects readable when the other end closes
IO.pipe
  behaves like an NIO selectable stream
    selects readable when the other end closes
  behaves like an NIO selectable
    selects writable objects
    selects readable objects
    does not select unreadable objects
    does not select unwritable objects
NIO acceptables
  TCPServer
    behaves like an NIO acceptable
      selects for read readiness
NIO::Monitor
  #readiness
    knows what operations IO objects are ready for
  #remove_interest
    acts idempotently
    can clear the last interest
    removes an interest from the set
    raises ArgumentError if given a bogus option
  #io
    knows its IO object
  #selector
    knows its selector
  #interests
    knows its interests
  #close
    closes
    closes even if the selector has been shutdown
  #interests=
    raises EOFError if interests are changed after the monitor is closed
    changes the interest set
    can set interests to nil
  #value=
    stores arbitrary values
  #add_interest
    acts idempotently
    sets a new interest if it isn't currently registered
    raises ArgumentError if given a bogus option
Pending: (Failures listed here are expected and do not affect your suite's status)
  1) UDPSocket behaves like an NIO selectable does not select unwritable objects
     # come up with a UDPSocket that's blocked on writing
     Failure/Error: raise TypeError, "can't convert #{io.class} into IO" unless io.is_a? IO
     TypeError:
       can't convert NilClass into IO
     Shared Example Group: "an NIO selectable" called from ./spec/nio/selectables/udp_socket_spec.rb:47
     # ./lib/nio/monitor.rb:19:in `initialize'
     # ./lib/nio/selector.rb:59:in `new'
     # ./lib/nio/selector.rb:59:in `block in register'
     # ./lib/nio/selector.rb:53:in `synchronize'
     # ./lib/nio/selector.rb:53:in `register'
     # ./spec/support/selectable_examples.rb:36:in `block (2 levels) in <top (required)>'
  2) TCPSocket behaves like an NIO selectable does not select unwritable objects
     # Failed to produce an unwritable socket
     Failure/Error: expect(ready).to be_nil
       expected: nil
            got: [#<NIO::Monitor:0x00000001520db620 @io=#<TCPSocket:fd 16, AF_INET, 127.0.0.1, 60634>, @interests=:w, ...00151baf4f8>, @wakeup=#<IO:fd 5>, @waker=#<IO:fd 12>, @closed=false>, @closed=false, @readiness=:w>]
     Shared Example Group: "an NIO selectable" called from ./spec/nio/selectables/tcp_socket_spec.rb:72
     # ./spec/support/selectable_examples.rb:38:in `block (2 levels) in <top (required)>'
Finished in 10.64 seconds (files took 0.26376 seconds to load)
112 examples, 0 failures, 2 pending
Randomized with seed 38449
~/build/BUILD/nio4r-2.5.8
+ popd
+ RPM_EC=0
++ jobs -p
+ exit 0
Processing files: rubygem-nio4r-2.5.8-1.fc38.ppc64le
Provides: bundled(libev) = 4.33 rubygem(nio4r) = 2.5.8 rubygem-nio4r = 2.5.8-1.fc38 rubygem-nio4r(ppc-64) = 2.5.8-1.fc38
Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
Requires: libc.so.6()(64bit) libc.so.6(GLIBC_2.17)(64bit) libc.so.6(GLIBC_2.32)(64bit) libc.so.6(GLIBC_2.33)(64bit) libruby.so.3.1()(64bit) rtld(GNU_HASH) ruby(rubygems)
Processing files: rubygem-nio4r-doc-2.5.8-1.fc38.noarch
Provides: rubygem-nio4r-doc = 2.5.8-1.fc38
Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
Requires: /usr/bin/ruby
Processing files: rubygem-nio4r-debugsource-2.5.8-1.fc38.ppc64le
Provides: rubygem-nio4r-debugsource = 2.5.8-1.fc38 rubygem-nio4r-debugsource(ppc-64) = 2.5.8-1.fc38
Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
Processing files: rubygem-nio4r-debuginfo-2.5.8-1.fc38.ppc64le
Provides: debuginfo(build-id) = 2755103f645676001285887569a35e1ebb36c64d rubygem-nio4r-debuginfo = 2.5.8-1.fc38 rubygem-nio4r-debuginfo(ppc-64) = 2.5.8-1.fc38
Requires(rpmlib): rpmlib(CompressedFileNames) <= 3.0.4-1 rpmlib(FileDigests) <= 4.6.0-1 rpmlib(PayloadFilesHavePrefix) <= 4.0-1
Recommends: rubygem-nio4r-debugsource(ppc-64) = 2.5.8-1.fc38
Checking for unpackaged file(s): /usr/lib/rpm/check-files /builddir/build/BUILDROOT/rubygem-nio4r-2.5.8-1.fc38.ppc64le
Wrote: /builddir/build/RPMS/rubygem-nio4r-2.5.8-1.fc38.ppc64le.rpm
Wrote: /builddir/build/RPMS/rubygem-nio4r-debugsource-2.5.8-1.fc38.ppc64le.rpm
Wrote: /builddir/build/RPMS/rubygem-nio4r-debuginfo-2.5.8-1.fc38.ppc64le.rpm
Wrote: /builddir/build/RPMS/rubygem-nio4r-doc-2.5.8-1.fc38.noarch.rpm
Executing(%clean): /bin/sh -e /var/tmp/rpm-tmp.6wPDOx
+ umask 022
+ cd /builddir/build/BUILD
+ cd nio4r-2.5.8
+ /usr/bin/rm -rf /builddir/build/BUILDROOT/rubygem-nio4r-2.5.8-1.fc38.ppc64le
+ RPM_EC=0
++ jobs -p
+ exit 0
Executing(rmbuild): /bin/sh -e /var/tmp/rpm-tmp.yaGYYh
+ umask 022
+ cd /builddir/build/BUILD
+ rm -rf nio4r-2.5.8 nio4r-2.5.8.gemspec
+ RPM_EC=0
++ jobs -p
+ exit 0
Child return code was: 0