Error installing on M1 Mac

I tried to install rage-rb on a Mac an got this error:
$ gem install rage-rb
Fetching rage-iodine-3.0.4.gem
Fetching rage-rb-0.7.0.gem
Building native extensions. This could take a while...
ERROR:  Error installing rage-rb:
	ERROR: Failed to build gem native extension.

    current directory: /Users/paul/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/gems/rage-iodine-3.0.4/ext/iodine
/Users/paul/.rbenv/versions/3.3.0/bin/ruby extconf.rb
detected `kqueue`
checking for -lcrypto... yes
checking for -lssl... yes
detected OpenSSL library, testing for version and required functions.
confirmed OpenSSL to be version 1.1.0 or above (OpenSSL 3.0.7 1 Nov 2022)...
* compiling with HAVE_OPENSSL.
creating Makefile

current directory: /Users/paul/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/gems/rage-iodine-3.0.4/ext/iodine
make DESTDIR\= sitearchdir\=./.gem.20240313-81054-x8yfmh sitelibdir\=./.gem.20240313-81054-x8yfmh clean

current directory: /Users/paul/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/gems/rage-iodine-3.0.4/ext/iodine
make DESTDIR\= sitearchdir\=./.gem.20240313-81054-x8yfmh sitelibdir\=./.gem.20240313-81054-x8yfmh
compiling fio.c
In file included from fio.c:13:
./fio.h:346:5: warning: 'FIO_FORCE_MALLOC' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC
    ^
./fio.h:531:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
./fio.h:2245:5: warning: '__BIG_ENDIAN__' is not defined, evaluates to 0 [-Wundef]
#if __BIG_ENDIAN__
    ^
./fio.h:2482:5: warning: 'FIO_USE_RISKY_HASH' is not defined, evaluates to 0 [-Wundef]
#if FIO_USE_RISKY_HASH
    ^
./fio.h:2865:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
./fio.h:3069:5: warning: 'DEBUG_SPINLOCK' is not defined, evaluates to 0 [-Wundef]
#if DEBUG_SPINLOCK
    ^
./fio.h:3133:5: warning: 'FIO_FORCE_MALLOC' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
    ^
./fio.h:3133:25: warning: 'FIO_FORCE_MALLOC_TMP' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
                        ^
In file included from fio.c:16:
./fio.h:3133:5: warning: 'FIO_FORCE_MALLOC' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
    ^
./fio.h:3133:25: warning: 'FIO_FORCE_MALLOC_TMP' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
                        ^
In file included from fio.c:20:
./fio.h:3133:5: warning: 'FIO_FORCE_MALLOC' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
    ^
fio.c:73:26: warning: 'FIO_ENGINE_EPOLL' is not defined, evaluates to 0 [-Wundef]
#if !FIO_ENGINE_POLL && !FIO_ENGINE_EPOLL && !FIO_ENGINE_KQUEUE && !FIO_ENGINE_WSAPOLL
                         ^
In file included from fio.c:321:
./fio.h:3133:5: warning: 'FIO_FORCE_MALLOC' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
    ^
fio.c:406:24: warning: 'FIO_ENGINE_WSAPOLL' is not defined, evaluates to 0 [-Wundef]
#if FIO_ENGINE_POLL || FIO_ENGINE_WSAPOLL
                       ^
fio.c:413:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
fio.c:500:33: warning: implicit conversion loses integer precision: 'intptr_t' (aka 'long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32]
    fio_data->max_protocol_fd = fd;
                              ~ ^~
fio.c:953:13: warning: implicit conversion loses integer precision: 'ssize_t' (aka 'long') to 'int' [-Wshorten-64-to-32]
    int r = read(fio_thread_data->fd_wait, &data, sizeof(data));
        ~   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fio.c:986:13: warning: implicit conversion loses integer precision: 'ssize_t' (aka 'long') to 'int' [-Wshorten-64-to-32]
    int r = write(fd, (void *)&data, sizeof(data));
        ~   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fio.c:1135:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
fio.c:1623:6: warning: 'FIO_DISABLE_HOT_RESTART' is not defined, evaluates to 0 [-Wundef]
#if !FIO_DISABLE_HOT_RESTART
     ^
fio.c:1671:6: warning: 'FIO_DISABLE_HOT_RESTART' is not defined, evaluates to 0 [-Wundef]
#if !FIO_DISABLE_HOT_RESTART
     ^
fio.c:1740:6: warning: 'FIO_DISABLE_HOT_RESTART' is not defined, evaluates to 0 [-Wundef]
#if !FIO_DISABLE_HOT_RESTART
     ^
fio.c:1771:6: warning: 'FIO_DISABLE_HOT_RESTART' is not defined, evaluates to 0 [-Wundef]
#if !FIO_DISABLE_HOT_RESTART
     ^
fio.c:1945:5: warning: 'FIO_ENGINE_EPOLL' is not defined, evaluates to 0 [-Wundef]
#if FIO_ENGINE_EPOLL
    ^
fio.c:2205:29: error: incompatible function pointer types initializing 'void (*)(void *, void *)' with an expression of type 'void (intptr_t)' (aka 'void (long)') [-Wincompatible-function-pointer-types]
        fio_defer_push_task(fio_force_close_in_poll,
                            ^~~~~~~~~~~~~~~~~~~~~~~
fio.c:1189:36: note: expanded from macro 'fio_defer_push_task'
        (fio_defer_task_s){.func = func_, .arg1 = arg1_, .arg2 = arg2_},       \
                                   ^~~~~
fio.c:2400:5: warning: 'FIO_ENGINE_WSAPOLL' is not defined, evaluates to 0 [-Wundef]
#if FIO_ENGINE_WSAPOLL
    ^
fio.c:2184:26: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  int timeout_millisec = fio_timer_calc_first_interval();
      ~~~~~~~~~~~~~~~~   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fio.c:3318:60: warning: implicit conversion loses integer precision: 'intptr_t' (aka 'long') to 'int' [-Wshorten-64-to-32]
static void fio_sock_perform_close_fd(intptr_t fd) { close(fd); }
                                                     ~~~~~ ^~
fio.c:3335:17: warning: implicit conversion loses integer precision: 'ssize_t' (aka 'long') to 'int' [-Wshorten-64-to-32]
  int written = fd_data(fd).rw_hooks->write(
      ~~~~~~~   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
fio.c:432:21: note: expanded from macro 'fd_data'
#define fd_data(fd) (fio_data->info[(uintptr_t)(fd)])
                    ^
fio.c:3388:5: warning: 'USE_SENDFILE_LINUX' is not defined, evaluates to 0 [-Wundef]
#if USE_SENDFILE_LINUX /* linux sendfile API */
    ^
fio.c:3403:7: warning: 'USE_SENDFILE_BSD' is not defined, evaluates to 0 [-Wundef]
#elif USE_SENDFILE_BSD || USE_SENDFILE_APPLE /* FreeBSD / Apple API */
      ^
fio.c:3357:32: warning: implicit conversion loses integer precision: 'intptr_t' (aka 'long') to 'int' [-Wshorten-64-to-32]
    asked = pread(packet->data.fd, buff,
            ~~~~~ ~~~~~~~~~~~~~^~
fio.c:3376:10: warning: implicit conversion loses integer precision: 'ssize_t' (aka 'long') to 'int' [-Wshorten-64-to-32]
  return total;
  ~~~~~~ ^~~~~
fio.c:3412:33: warning: implicit conversion loses integer precision: 'intptr_t' (aka 'long') to 'int' [-Wshorten-64-to-32]
    ret = sendfile(packet->data.fd, fd, packet->offset, &act_sent, NULL, 0);
          ~~~~~~~~ ~~~~~~~~~~~~~^~
fio.c:3423:10: warning: implicit conversion loses integer precision: 'off_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
  return act_sent;
  ~~~~~~ ^~~~~~~~
fio.c:3677:24: warning: 'FIO_ENGINE_WSAPOLL' is not defined, evaluates to 0 [-Wundef]
#if FIO_ENGINE_POLL || FIO_ENGINE_WSAPOLL
                       ^
fio.c:4438:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
fio.c:4471:24: warning: 'FIO_ENGINE_WSAPOLL' is not defined, evaluates to 0 [-Wundef]
#if FIO_ENGINE_POLL || FIO_ENGINE_WSAPOLL
                       ^
fio.c:4494:24: warning: 'FIO_ENGINE_WSAPOLL' is not defined, evaluates to 0 [-Wundef]
#if FIO_ENGINE_POLL || FIO_ENGINE_WSAPOLL
                       ^
fio.c:4483:20: warning: implicit conversion loses integer precision: 'ssize_t' (aka 'long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32]
  fio_data->capa = capa;
                 ~ ^~~~
fio.c:4590:16: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  int events = fio_poll();
      ~~~~~~   ^~~~~~~~~~
fio.c:4728:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
In file included from fio.c:6107:
./fio.h:3133:5: warning: 'FIO_FORCE_MALLOC' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
    ^
In file included from fio.c:6112:
./fio.h:3133:5: warning: 'FIO_FORCE_MALLOC' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
    ^
./fio.h:5281:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
In file included from fio.c:6118:
./fio.h:3133:5: warning: 'FIO_FORCE_MALLOC' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
    ^
In file included from fio.c:6775:
./fio.h:3133:5: warning: 'FIO_FORCE_MALLOC' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
    ^
./fio.h:3133:25: warning: 'FIO_FORCE_MALLOC_TMP' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
                        ^
fio.c:6807:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
fio.c:7156:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
fio.c:7319:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
fio.c:7749:5: warning: 'FIO_FORCE_MALLOC' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC
    ^
fio.c:7991:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
fio.c:8247:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
fio.c:8321:5: warning: 'FIO_MEM_DUMP' is not defined, evaluates to 0 [-Wundef]
#if FIO_MEM_DUMP
    ^
fio.c:8333:5: warning: 'FIO_OVERRIDE_MALLOC' is not defined, evaluates to 0 [-Wundef]
#if FIO_OVERRIDE_MALLOC
    ^
fio.c:8425:5: warning: 'FIO_OVERRIDE_MALLOC' is not defined, evaluates to 0 [-Wundef]
#if FIO_OVERRIDE_MALLOC
    ^
fio.c:8596:5: warning: '__BIG_ENDIAN__' is not defined, evaluates to 0 [-Wundef]
#if __BIG_ENDIAN__ /* SipHash is Little Endian */
    ^
fio.c:9335:6: warning: '__BIG_ENDIAN__' is not defined, evaluates to 0 [-Wundef]
#if !__BIG_ENDIAN__
     ^
fio.c:9721:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
59 warnings and 1 error generated.
make: *** [fio.o] Error 1

make failed, exit code 2

Gem files will remain installed in /Users/paul/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/gems/rage-iodine-3.0.4 for inspection.
Results logged to /Users/paul/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/extensions/arm64-darwin-23/3.3.0/rage-iodine-3.0.4/gem_make.out

Hey @pjb3, thank you for sharing the error log.
This should be fixed now. Do you mind trying again?

@rsamoilov Got a similar error with version 1.0.0 of the gem:
$ gem install rage-rb
Fetching rage-rb-1.0.0.gem
Fetching rage-iodine-3.0.5.gem
Building native extensions. This could take a while...
ERROR:  Error installing rage-rb:
	ERROR: Failed to build gem native extension.

    current directory: /Users/paul/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/gems/rage-iodine-3.0.5/ext/iodine
/Users/paul/.rbenv/versions/3.3.0/bin/ruby extconf.rb
detected `kqueue`
checking for -lcrypto... yes
checking for -lssl... yes
detected OpenSSL library, testing for version and required functions.
confirmed OpenSSL to be version 1.1.0 or above (OpenSSL 3.0.7 1 Nov 2022)...
* compiling with HAVE_OPENSSL.
creating Makefile

current directory: /Users/paul/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/gems/rage-iodine-3.0.5/ext/iodine
make DESTDIR\= sitearchdir\=./.gem.20240313-66661-1rg435 sitelibdir\=./.gem.20240313-66661-1rg435 clean

current directory: /Users/paul/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/gems/rage-iodine-3.0.5/ext/iodine
make DESTDIR\= sitearchdir\=./.gem.20240313-66661-1rg435 sitelibdir\=./.gem.20240313-66661-1rg435
compiling fio.c
In file included from fio.c:13:
./fio.h:346:5: warning: 'FIO_FORCE_MALLOC' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC
    ^
./fio.h:531:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
./fio.h:2245:5: warning: '__BIG_ENDIAN__' is not defined, evaluates to 0 [-Wundef]
#if __BIG_ENDIAN__
    ^
./fio.h:2482:5: warning: 'FIO_USE_RISKY_HASH' is not defined, evaluates to 0 [-Wundef]
#if FIO_USE_RISKY_HASH
    ^
./fio.h:2865:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
./fio.h:3069:5: warning: 'DEBUG_SPINLOCK' is not defined, evaluates to 0 [-Wundef]
#if DEBUG_SPINLOCK
    ^
./fio.h:3133:5: warning: 'FIO_FORCE_MALLOC' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
    ^
./fio.h:3133:25: warning: 'FIO_FORCE_MALLOC_TMP' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
                        ^
In file included from fio.c:16:
./fio.h:3133:5: warning: 'FIO_FORCE_MALLOC' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
    ^
./fio.h:3133:25: warning: 'FIO_FORCE_MALLOC_TMP' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
                        ^
In file included from fio.c:20:
./fio.h:3133:5: warning: 'FIO_FORCE_MALLOC' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
    ^
fio.c:73:26: warning: 'FIO_ENGINE_EPOLL' is not defined, evaluates to 0 [-Wundef]
#if !FIO_ENGINE_POLL && !FIO_ENGINE_EPOLL && !FIO_ENGINE_KQUEUE && !FIO_ENGINE_WSAPOLL
                         ^
In file included from fio.c:322:
./fio.h:3133:5: warning: 'FIO_FORCE_MALLOC' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
    ^
fio.c:407:24: warning: 'FIO_ENGINE_WSAPOLL' is not defined, evaluates to 0 [-Wundef]
#if FIO_ENGINE_POLL || FIO_ENGINE_WSAPOLL
                       ^
fio.c:414:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
fio.c:501:33: warning: implicit conversion loses integer precision: 'intptr_t' (aka 'long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32]
    fio_data->max_protocol_fd = fd;
                              ~ ^~
fio.c:958:13: warning: implicit conversion loses integer precision: 'ssize_t' (aka 'long') to 'int' [-Wshorten-64-to-32]
    int r = read(fio_thread_data->fd_wait, &data, sizeof(data));
        ~   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fio.c:991:13: warning: implicit conversion loses integer precision: 'ssize_t' (aka 'long') to 'int' [-Wshorten-64-to-32]
    int r = write(fd, (void *)&data, sizeof(data));
        ~   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fio.c:1140:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
fio.c:1628:6: warning: 'FIO_DISABLE_HOT_RESTART' is not defined, evaluates to 0 [-Wundef]
#if !FIO_DISABLE_HOT_RESTART
     ^
fio.c:1676:6: warning: 'FIO_DISABLE_HOT_RESTART' is not defined, evaluates to 0 [-Wundef]
#if !FIO_DISABLE_HOT_RESTART
     ^
fio.c:1745:6: warning: 'FIO_DISABLE_HOT_RESTART' is not defined, evaluates to 0 [-Wundef]
#if !FIO_DISABLE_HOT_RESTART
     ^
fio.c:1776:6: warning: 'FIO_DISABLE_HOT_RESTART' is not defined, evaluates to 0 [-Wundef]
#if !FIO_DISABLE_HOT_RESTART
     ^
fio.c:1950:5: warning: 'FIO_ENGINE_EPOLL' is not defined, evaluates to 0 [-Wundef]
#if FIO_ENGINE_EPOLL
    ^
fio.c:2405:5: warning: 'FIO_ENGINE_WSAPOLL' is not defined, evaluates to 0 [-Wundef]
#if FIO_ENGINE_WSAPOLL
    ^
fio.c:2189:26: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  int timeout_millisec = fio_timer_calc_first_interval();
      ~~~~~~~~~~~~~~~~   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
fio.c:3323:60: warning: implicit conversion loses integer precision: 'intptr_t' (aka 'long') to 'int' [-Wshorten-64-to-32]
static void fio_sock_perform_close_fd(intptr_t fd) { close(fd); }
                                                     ~~~~~ ^~
fio.c:3340:17: warning: implicit conversion loses integer precision: 'ssize_t' (aka 'long') to 'int' [-Wshorten-64-to-32]
  int written = fd_data(fd).rw_hooks->write(
      ~~~~~~~   ^~~~~~~~~~~~~~~~~~~~~~~~~~~~
fio.c:433:21: note: expanded from macro 'fd_data'
#define fd_data(fd) (fio_data->info[(uintptr_t)(fd)])
                    ^
fio.c:3393:5: warning: 'USE_SENDFILE_LINUX' is not defined, evaluates to 0 [-Wundef]
#if USE_SENDFILE_LINUX /* linux sendfile API */
    ^
fio.c:3408:7: warning: 'USE_SENDFILE_BSD' is not defined, evaluates to 0 [-Wundef]
#elif USE_SENDFILE_BSD || USE_SENDFILE_APPLE /* FreeBSD / Apple API */
      ^
fio.c:3362:32: warning: implicit conversion loses integer precision: 'intptr_t' (aka 'long') to 'int' [-Wshorten-64-to-32]
    asked = pread(packet->data.fd, buff,
            ~~~~~ ~~~~~~~~~~~~~^~
fio.c:3381:10: warning: implicit conversion loses integer precision: 'ssize_t' (aka 'long') to 'int' [-Wshorten-64-to-32]
  return total;
  ~~~~~~ ^~~~~
fio.c:3417:33: warning: implicit conversion loses integer precision: 'intptr_t' (aka 'long') to 'int' [-Wshorten-64-to-32]
    ret = sendfile(packet->data.fd, fd, packet->offset, &act_sent, NULL, 0);
          ~~~~~~~~ ~~~~~~~~~~~~~^~
fio.c:3428:10: warning: implicit conversion loses integer precision: 'off_t' (aka 'long long') to 'int' [-Wshorten-64-to-32]
  return act_sent;
  ~~~~~~ ^~~~~~~~
fio.c:3682:24: warning: 'FIO_ENGINE_WSAPOLL' is not defined, evaluates to 0 [-Wundef]
#if FIO_ENGINE_POLL || FIO_ENGINE_WSAPOLL
                       ^
fio.c:4443:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
fio.c:4476:24: warning: 'FIO_ENGINE_WSAPOLL' is not defined, evaluates to 0 [-Wundef]
#if FIO_ENGINE_POLL || FIO_ENGINE_WSAPOLL
                       ^
fio.c:4499:24: warning: 'FIO_ENGINE_WSAPOLL' is not defined, evaluates to 0 [-Wundef]
#if FIO_ENGINE_POLL || FIO_ENGINE_WSAPOLL
                       ^
fio.c:4488:20: warning: implicit conversion loses integer precision: 'ssize_t' (aka 'long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32]
  fio_data->capa = capa;
                 ~ ^~~~
fio.c:4595:16: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  int events = fio_poll();
      ~~~~~~   ^~~~~~~~~~
fio.c:4733:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
fio.c:5282:73: warning: function 'fio_tls_accept' could be declared with attribute 'noreturn' [-Wmissing-noreturn]
void FIO_TLS_WEAK fio_tls_accept(intptr_t uuid, void *tls, void *udata) {
                                                                        ^
fio.c:5301:74: warning: function 'fio_tls_connect' could be declared with attribute 'noreturn' [-Wmissing-noreturn]
void FIO_TLS_WEAK fio_tls_connect(intptr_t uuid, void *tls, void *udata) {
                                                                         ^
fio.c:5315:42: warning: function 'fio_tls_dup' could be declared with attribute 'noreturn' [-Wmissing-noreturn]
void FIO_TLS_WEAK fio_tls_dup(void *tls) {
                                         ^
fio.c:5326:46: warning: function 'fio_tls_destroy' could be declared with attribute 'noreturn' [-Wmissing-noreturn]
void FIO_TLS_WEAK fio_tls_destroy(void *tls) {
                                             ^
In file included from fio.c:6112:
./fio.h:3133:5: warning: 'FIO_FORCE_MALLOC' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
    ^
In file included from fio.c:6117:
./fio.h:3133:5: warning: 'FIO_FORCE_MALLOC' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
    ^
./fio.h:5281:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
In file included from fio.c:6123:
./fio.h:3133:5: warning: 'FIO_FORCE_MALLOC' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
    ^
In file included from fio.c:6780:
./fio.h:3133:5: warning: 'FIO_FORCE_MALLOC' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
    ^
./fio.h:3133:25: warning: 'FIO_FORCE_MALLOC_TMP' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
                        ^
fio.c:6812:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
fio.c:7161:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
fio.c:7324:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
fio.c:7754:5: warning: 'FIO_FORCE_MALLOC' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC
    ^
fio.c:7996:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
fio.c:8252:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
fio.c:8326:5: warning: 'FIO_MEM_DUMP' is not defined, evaluates to 0 [-Wundef]
#if FIO_MEM_DUMP
    ^
fio.c:8338:5: warning: 'FIO_OVERRIDE_MALLOC' is not defined, evaluates to 0 [-Wundef]
#if FIO_OVERRIDE_MALLOC
    ^
fio.c:8430:5: warning: 'FIO_OVERRIDE_MALLOC' is not defined, evaluates to 0 [-Wundef]
#if FIO_OVERRIDE_MALLOC
    ^
fio.c:8601:5: warning: '__BIG_ENDIAN__' is not defined, evaluates to 0 [-Wundef]
#if __BIG_ENDIAN__ /* SipHash is Little Endian */
    ^
fio.c:9340:6: warning: '__BIG_ENDIAN__' is not defined, evaluates to 0 [-Wundef]
#if !__BIG_ENDIAN__
     ^
fio.c:9726:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
63 warnings generated.
compiling fio_cli.c
In file included from fio_cli.c:7:
./fio.h:346:5: warning: 'FIO_FORCE_MALLOC' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC
    ^
./fio.h:531:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
./fio.h:2245:5: warning: '__BIG_ENDIAN__' is not defined, evaluates to 0 [-Wundef]
#if __BIG_ENDIAN__
    ^
./fio.h:2482:5: warning: 'FIO_USE_RISKY_HASH' is not defined, evaluates to 0 [-Wundef]
#if FIO_USE_RISKY_HASH
    ^
./fio.h:2865:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
./fio.h:3069:5: warning: 'DEBUG_SPINLOCK' is not defined, evaluates to 0 [-Wundef]
#if DEBUG_SPINLOCK
    ^
./fio.h:3133:5: warning: 'FIO_FORCE_MALLOC' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
    ^
./fio.h:3133:25: warning: 'FIO_FORCE_MALLOC_TMP' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
                        ^
In file included from fio_cli.c:32:
./fio.h:3133:5: warning: 'FIO_FORCE_MALLOC' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
    ^
./fio.h:3133:25: warning: 'FIO_FORCE_MALLOC_TMP' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
                        ^
fio_cli.c:269:31: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
      int padding = first_len - (tmp - start);
          ~~~~~~~   ~~~~~~~~~~^~~~~~~~~~~~~~~
11 warnings generated.
compiling fio_siphash.c
In file included from fio_siphash.c:5:
./fio_siphash.h:31:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
fio_siphash.c:138:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
2 warnings generated.
compiling fio_tls_missing.c
In file included from fio_tls_missing.c:14:
./fio.h:346:5: warning: 'FIO_FORCE_MALLOC' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC
    ^
./fio.h:531:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
./fio.h:2245:5: warning: '__BIG_ENDIAN__' is not defined, evaluates to 0 [-Wundef]
#if __BIG_ENDIAN__
    ^
./fio.h:2482:5: warning: 'FIO_USE_RISKY_HASH' is not defined, evaluates to 0 [-Wundef]
#if FIO_USE_RISKY_HASH
    ^
./fio.h:2865:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
./fio.h:3069:5: warning: 'DEBUG_SPINLOCK' is not defined, evaluates to 0 [-Wundef]
#if DEBUG_SPINLOCK
    ^
./fio.h:3133:5: warning: 'FIO_FORCE_MALLOC' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
    ^
./fio.h:3133:25: warning: 'FIO_FORCE_MALLOC_TMP' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
                        ^
fio_tls_missing.c:37:6: warning: 'FIO_IGNORE_TLS_IF_MISSING' is not defined, evaluates to 0 [-Wundef]
#if !FIO_IGNORE_TLS_IF_MISSING
     ^
In file included from fio_tls_missing.c:55:
./fio.h:3133:5: warning: 'FIO_FORCE_MALLOC' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
    ^
In file included from fio_tls_missing.c:88:
./fio.h:3133:5: warning: 'FIO_FORCE_MALLOC' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
    ^
./fio.h:5034:5: warning: 'FIO_ARY_COPY_IS_SIMPLE' is not defined, evaluates to 0 [-Wundef]
#if FIO_ARY_COPY_IS_SIMPLE
    ^
./fio.h:5281:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
In file included from fio_tls_missing.c:113:
./fio.h:3133:5: warning: 'FIO_FORCE_MALLOC' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
    ^
./fio.h:5034:5: warning: 'FIO_ARY_COPY_IS_SIMPLE' is not defined, evaluates to 0 [-Wundef]
#if FIO_ARY_COPY_IS_SIMPLE
    ^
./fio.h:5281:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
In file included from fio_tls_missing.c:146:
./fio.h:3133:5: warning: 'FIO_FORCE_MALLOC' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
    ^
fio_tls_missing.c:504:61: warning: function 'fio_tls_cert_add' could be declared with attribute 'noreturn' [-Wmissing-noreturn]
                                   const char *pk_password) {
                                                            ^
fio_tls_missing.c:551:59: warning: function 'fio_tls_alpn_add' could be declared with attribute 'noreturn' [-Wmissing-noreturn]
    void *udata_tls, void (*on_cleanup)(void *udata_tls)) {
                                                          ^
fio_tls_missing.c:575:79: warning: function 'fio_tls_trust' could be declared with attribute 'noreturn' [-Wmissing-noreturn]
void FIO_TLS_WEAK fio_tls_trust(fio_tls_s *tls, const char *public_cert_file) {
                                                                              ^
fio_tls_missing.c:603:78: warning: function 'fio_tls_accept' could be declared with attribute 'noreturn' [-Wmissing-noreturn]
void FIO_TLS_WEAK fio_tls_accept(intptr_t uuid, fio_tls_s *tls, void *udata) {
                                                                             ^
fio_tls_missing.c:619:79: warning: function 'fio_tls_connect' could be declared with attribute 'noreturn' [-Wmissing-noreturn]
void FIO_TLS_WEAK fio_tls_connect(intptr_t uuid, fio_tls_s *tls, void *udata) {
                                                                              ^
22 warnings generated.
compiling fio_tls_openssl.c
In file included from fio_tls_openssl.c:14:
./fio.h:346:5: warning: 'FIO_FORCE_MALLOC' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC
    ^
./fio.h:531:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
./fio.h:2245:5: warning: '__BIG_ENDIAN__' is not defined, evaluates to 0 [-Wundef]
#if __BIG_ENDIAN__
    ^
./fio.h:2482:5: warning: 'FIO_USE_RISKY_HASH' is not defined, evaluates to 0 [-Wundef]
#if FIO_USE_RISKY_HASH
    ^
./fio.h:2865:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
./fio.h:3069:5: warning: 'DEBUG_SPINLOCK' is not defined, evaluates to 0 [-Wundef]
#if DEBUG_SPINLOCK
    ^
./fio.h:3133:5: warning: 'FIO_FORCE_MALLOC' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
    ^
./fio.h:3133:25: warning: 'FIO_FORCE_MALLOC_TMP' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
                        ^
In file included from fio_tls_openssl.c:37:
./fio.h:3133:5: warning: 'FIO_FORCE_MALLOC' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
    ^
In file included from fio_tls_openssl.c:74:
./fio.h:3133:5: warning: 'FIO_FORCE_MALLOC' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
    ^
./fio.h:5034:5: warning: 'FIO_ARY_COPY_IS_SIMPLE' is not defined, evaluates to 0 [-Wundef]
#if FIO_ARY_COPY_IS_SIMPLE
    ^
./fio.h:5281:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
In file included from fio_tls_openssl.c:99:
./fio.h:3133:5: warning: 'FIO_FORCE_MALLOC' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
    ^
./fio.h:5034:5: warning: 'FIO_ARY_COPY_IS_SIMPLE' is not defined, evaluates to 0 [-Wundef]
#if FIO_ARY_COPY_IS_SIMPLE
    ^
./fio.h:5281:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
In file included from fio_tls_openssl.c:132:
./fio.h:3133:5: warning: 'FIO_FORCE_MALLOC' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
    ^
fio_tls_openssl.c:251:14: warning: 'RSA_new' is deprecated [-Wdeprecated-declarations]
  RSA *rsa = RSA_new();
             ^
/opt/homebrew/opt/openssl@3/include/openssl/rsa.h:201:1: note: 'RSA_new' has been explicitly marked deprecated here
OSSL_DEPRECATEDIN_3_0 RSA *RSA_new(void);
^
/opt/homebrew/opt/openssl@3/include/openssl/macros.h:182:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
#   define OSSL_DEPRECATEDIN_3_0                OSSL_DEPRECATED(3.0)
                                                ^
/opt/homebrew/opt/openssl@3/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED'
#     define OSSL_DEPRECATED(since) __attribute__((deprecated))
                                                   ^
fio_tls_openssl.c:256:14: warning: 'RSA_generate_key_ex' is deprecated [-Wdeprecated-declarations]
  FIO_ASSERT(RSA_generate_key_ex(rsa, 2048, e, NULL),
             ^
/opt/homebrew/opt/openssl@3/include/openssl/rsa.h:260:1: note: 'RSA_generate_key_ex' has been explicitly marked deprecated here
OSSL_DEPRECATEDIN_3_0 int RSA_generate_key_ex(RSA *rsa, int bits, BIGNUM *e,
^
/opt/homebrew/opt/openssl@3/include/openssl/macros.h:182:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
#   define OSSL_DEPRECATEDIN_3_0                OSSL_DEPRECATED(3.0)
                                                ^
/opt/homebrew/opt/openssl@3/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED'
#     define OSSL_DEPRECATED(since) __attribute__((deprecated))
                                                   ^
fio_tls_openssl.c:259:3: warning: 'EVP_PKEY_assign' is deprecated [-Wdeprecated-declarations]
  EVP_PKEY_assign_RSA(fio_tls_pkey, rsa);
  ^
/opt/homebrew/opt/openssl@3/include/openssl/evp.h:496:41: note: expanded from macro 'EVP_PKEY_assign_RSA'
#  define EVP_PKEY_assign_RSA(pkey,rsa) EVP_PKEY_assign((pkey),EVP_PKEY_RSA,\
                                        ^
/opt/homebrew/opt/openssl@3/include/openssl/evp.h:1327:1: note: 'EVP_PKEY_assign' has been explicitly marked deprecated here
OSSL_DEPRECATEDIN_3_0
^
/opt/homebrew/opt/openssl@3/include/openssl/macros.h:182:49: note: expanded from macro 'OSSL_DEPRECATEDIN_3_0'
#   define OSSL_DEPRECATEDIN_3_0                OSSL_DEPRECATED(3.0)
                                                ^
/opt/homebrew/opt/openssl@3/include/openssl/macros.h:62:52: note: expanded from macro 'OSSL_DEPRECATED'
#     define OSSL_DEPRECATED(since) __attribute__((deprecated))
                                                   ^
fio_tls_openssl.c:288:30: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
                             srv_name_len, -1, 0);
                             ^~~~~~~~~~~~
fio_tls_openssl.c:290:60: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
                             (unsigned char *)server_name, srv_name_len, -1, 0);
                                                           ^~~~~~~~~~~~
fio_tls_openssl.c:292:60: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
                             (unsigned char *)server_name, srv_name_len, -1, 0);
                                                           ^~~~~~~~~~~~
fio_tls_openssl.c:417:58: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
        BIO *bio = BIO_new_mem_buf(keys[0].data, keys[0].len);
                   ~~~~~~~~~~~~~~~               ~~~~~~~~^~~
fio_tls_openssl.c:431:60: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
        BIO *bio = BIO_new_mem_buf(keys[ki].data, keys[ki].len);
                   ~~~~~~~~~~~~~~~                ~~~~~~~~~^~~
fio_tls_openssl.c:488:21: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
    tls->alpn_len = alpn_pos;
                  ~ ^~~~~~~~
fio_tls_openssl.c:502:48: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
      BIO *bio = BIO_new_mem_buf(pem.data, pem.len);
                 ~~~~~~~~~~~~~~~           ~~~~^~~
fio_tls_openssl.c:547:39: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  ssize_t ret = SSL_read(c->ssl, buf, count);
                ~~~~~~~~              ^~~~~
fio_tls_openssl.c:550:31: warning: implicit conversion loses integer precision: 'ssize_t' (aka 'long') to 'int' [-Wshorten-64-to-32]
  ret = SSL_get_error(c->ssl, ret);
        ~~~~~~~~~~~~~         ^~~
fio_tls_openssl.c:603:40: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int' [-Wshorten-64-to-32]
  ssize_t ret = SSL_write(c->ssl, buf, count);
                ~~~~~~~~~              ^~~~~
fio_tls_openssl.c:606:31: warning: implicit conversion loses integer precision: 'ssize_t' (aka 'long') to 'int' [-Wshorten-64-to-32]
  ret = SSL_get_error(c->ssl, ret);
        ~~~~~~~~~~~~~         ^~~
30 warnings generated.
compiling fiobj_ary.c
In file included from fiobj_ary.c:5:
./fio.h:346:5: warning: 'FIO_FORCE_MALLOC' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC
    ^
./fio.h:531:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
./fio.h:2245:5: warning: '__BIG_ENDIAN__' is not defined, evaluates to 0 [-Wundef]
#if __BIG_ENDIAN__
    ^
./fio.h:2482:5: warning: 'FIO_USE_RISKY_HASH' is not defined, evaluates to 0 [-Wundef]
#if FIO_USE_RISKY_HASH
    ^
./fio.h:2865:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
./fio.h:3069:5: warning: 'DEBUG_SPINLOCK' is not defined, evaluates to 0 [-Wundef]
#if DEBUG_SPINLOCK
    ^
./fio.h:3133:5: warning: 'FIO_FORCE_MALLOC' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
    ^
./fio.h:3133:25: warning: 'FIO_FORCE_MALLOC_TMP' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
                        ^
In file included from fiobj_ary.c:6:
In file included from ./fiobject.h:28:
./fio_siphash.h:31:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
In file included from fiobj_ary.c:6:
In file included from ./fiobject.h:30:
./fio.h:3133:5: warning: 'FIO_FORCE_MALLOC' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
    ^
./fio.h:3133:25: warning: 'FIO_FORCE_MALLOC_TMP' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
                        ^
In file included from fiobj_ary.c:6:
./fiobject.h:647:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
In file included from fiobj_ary.c:13:
./fio.h:3133:5: warning: 'FIO_FORCE_MALLOC' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
    ^
./fio.h:3133:25: warning: 'FIO_FORCE_MALLOC_TMP' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
                        ^
./fio.h:5281:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
fiobj_ary.c:258:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
16 warnings generated.
compiling fiobj_data.c
In file included from fiobj_data.c:21:
In file included from ./fiobj_data.h:20:
In file included from ./fiobject.h:28:
./fio_siphash.h:31:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
In file included from fiobj_data.c:21:
In file included from ./fiobj_data.h:20:
In file included from ./fiobject.h:30:
./fio.h:346:5: warning: 'FIO_FORCE_MALLOC' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC
    ^
./fio.h:531:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
./fio.h:2245:5: warning: '__BIG_ENDIAN__' is not defined, evaluates to 0 [-Wundef]
#if __BIG_ENDIAN__
    ^
./fio.h:2482:5: warning: 'FIO_USE_RISKY_HASH' is not defined, evaluates to 0 [-Wundef]
#if FIO_USE_RISKY_HASH
    ^
./fio.h:2865:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
./fio.h:3069:5: warning: 'DEBUG_SPINLOCK' is not defined, evaluates to 0 [-Wundef]
#if DEBUG_SPINLOCK
    ^
./fio.h:3133:5: warning: 'FIO_FORCE_MALLOC' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
    ^
./fio.h:3133:25: warning: 'FIO_FORCE_MALLOC_TMP' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
                        ^
In file included from fiobj_data.c:21:
In file included from ./fiobj_data.h:20:
./fiobject.h:647:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
In file included from fiobj_data.c:21:
./fiobj_data.h:159:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
In file included from fiobj_data.c:22:
./fiobj_str.h:164:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
In file included from fiobj_data.c:32:
./fio.h:3133:5: warning: 'FIO_FORCE_MALLOC' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
    ^
./fio.h:3133:25: warning: 'FIO_FORCE_MALLOC_TMP' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
                        ^
fiobj_data.c:251:5: warning: 'FIO_MEMCHAR' is not defined, evaluates to 0 [-Wundef]
#if FIO_MEMCHAR
    ^
fiobj_data.c:1020:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
16 warnings generated.
compiling fiobj_hash.c
In file included from fiobj_hash.c:6:
In file included from ./fiobject.h:28:
./fio_siphash.h:31:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
In file included from fiobj_hash.c:6:
In file included from ./fiobject.h:30:
./fio.h:346:5: warning: 'FIO_FORCE_MALLOC' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC
    ^
./fio.h:531:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
./fio.h:2245:5: warning: '__BIG_ENDIAN__' is not defined, evaluates to 0 [-Wundef]
#if __BIG_ENDIAN__
    ^
./fio.h:2482:5: warning: 'FIO_USE_RISKY_HASH' is not defined, evaluates to 0 [-Wundef]
#if FIO_USE_RISKY_HASH
    ^
./fio.h:2865:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
./fio.h:3069:5: warning: 'DEBUG_SPINLOCK' is not defined, evaluates to 0 [-Wundef]
#if DEBUG_SPINLOCK
    ^
./fio.h:3133:5: warning: 'FIO_FORCE_MALLOC' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
    ^
./fio.h:3133:25: warning: 'FIO_FORCE_MALLOC_TMP' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
                        ^
In file included from fiobj_hash.c:6:
./fiobject.h:647:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
In file included from fiobj_hash.c:9:
In file included from ./fiobj_hash.h:22:
./fiobj_str.h:164:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
In file included from fiobj_hash.c:9:
./fiobj_hash.h:168:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
In file included from fiobj_hash.c:35:
./fio.h:3133:5: warning: 'FIO_FORCE_MALLOC' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
    ^
./fio.h:3133:25: warning: 'FIO_FORCE_MALLOC_TMP' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
                        ^
fiobj_hash.c:364:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
15 warnings generated.
compiling fiobj_json.c
In file included from fiobj_json.c:5:
In file included from ./fiobj_json.h:9:
In file included from ./fiobj_ary.h:12:
In file included from ./fiobject.h:28:
./fio_siphash.h:31:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
In file included from fiobj_json.c:5:
In file included from ./fiobj_json.h:9:
In file included from ./fiobj_ary.h:12:
In file included from ./fiobject.h:30:
./fio.h:346:5: warning: 'FIO_FORCE_MALLOC' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC
    ^
./fio.h:531:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
./fio.h:2245:5: warning: '__BIG_ENDIAN__' is not defined, evaluates to 0 [-Wundef]
#if __BIG_ENDIAN__
    ^
./fio.h:2482:5: warning: 'FIO_USE_RISKY_HASH' is not defined, evaluates to 0 [-Wundef]
#if FIO_USE_RISKY_HASH
    ^
./fio.h:2865:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
./fio.h:3069:5: warning: 'DEBUG_SPINLOCK' is not defined, evaluates to 0 [-Wundef]
#if DEBUG_SPINLOCK
    ^
./fio.h:3133:5: warning: 'FIO_FORCE_MALLOC' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
    ^
./fio.h:3133:25: warning: 'FIO_FORCE_MALLOC_TMP' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
                        ^
In file included from fiobj_json.c:5:
In file included from ./fiobj_json.h:9:
In file included from ./fiobj_ary.h:12:
./fiobject.h:647:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
In file included from fiobj_json.c:5:
In file included from ./fiobj_json.h:9:
./fiobj_ary.h:131:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
In file included from fiobj_json.c:5:
In file included from ./fiobj_json.h:10:
In file included from ./fiobj_hash.h:22:
./fiobj_str.h:164:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
In file included from fiobj_json.c:5:
In file included from ./fiobj_json.h:10:
./fiobj_hash.h:168:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
In file included from fiobj_json.c:5:
In file included from ./fiobj_json.h:11:
./fiobj_numbers.h:119:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
In file included from fiobj_json.c:5:
./fiobj_json.h:60:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
In file included from fiobj_json.c:8:
./fio.h:3133:5: warning: 'FIO_FORCE_MALLOC' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
    ^
./fio.h:3133:25: warning: 'FIO_FORCE_MALLOC_TMP' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
                        ^
./fio.h:5281:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
In file included from fiobj_json.c:10:
./fio_json_parser.h:25:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
./fio_json_parser.h:201:6: warning: 'ALLOW_UNALIGNED_MEMORY_ACCESS' is not defined, evaluates to 0 [-Wundef]
#if !ALLOW_UNALIGNED_MEMORY_ACCESS || (!__x86_64__ && !__aarch64__)
     ^
./fio_json_parser.h:238:6: warning: 'ALLOW_UNALIGNED_MEMORY_ACCESS' is not defined, evaluates to 0 [-Wundef]
#if !ALLOW_UNALIGNED_MEMORY_ACCESS || (!__x86_64__ && !__aarch64__)
     ^
./fio_json_parser.h:348:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
./fio_json_parser.h:363:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
./fio_json_parser.h:369:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
./fio_json_parser.h:382:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
./fio_json_parser.h:644:6: warning: '__x86_64__' is not defined, evaluates to 0 [-Wundef]
#if !__x86_64__ && !__aarch64__
     ^
fiobj_json.c:153:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
fiobj_json.c:449:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
28 warnings generated.
compiling fiobj_mustache.c
In file included from fiobj_mustache.c:6:
./mustache_parser.h:577:61: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32]
      if (mustache_on_text(&s->stack[s->index].sec, buffer, pos) == -1)
          ~~~~~~~~~~~~~~~~                                  ^~~
./mustache_parser.h:588:63: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32]
        if (mustache_on_text(&s->stack[s->index].sec, buffer, pos) == -1)
            ~~~~~~~~~~~~~~~~                                  ^~~
./mustache_parser.h:597:59: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32]
    if (mustache_on_text(&s->stack[s->index].sec, buffer, pos) == -1)
        ~~~~~~~~~~~~~~~~                                  ^~~
./mustache_parser.h:617:36: warning: implicit conversion loses integer precision: 'long' to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32]
    const uint32_t slice_len = end - text;
                   ~~~~~~~~~   ~~~~^~~~~~
./mustache_parser.h:824:38: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32]
              s->data_len + data_len + mustache__data_segment_length(name_len),
              ~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./mustache_parser.h:842:15: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32]
      old_len + mustache__data_segment_length(name_len);
      ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./mustache_parser.h:843:35: warning: implicit conversion loses integer precision: 'const size_t' (aka 'const unsigned long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32]
  s->stack[s->index].data_start = old_len;
                                ~ ^~~~~~~
./mustache_parser.h:903:31: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32]
      old_path_len = name_len + seg.path_len;
                   ~ ~~~~~~~~~^~~~~~~~~~~~~~
./mustache_parser.h:911:46: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32]
      old_path_len = name_len + seg.path_len + 9;
                   ~ ~~~~~~~~~~~~~~~~~~~~~~~~^~~
./mustache_parser.h:1239:50: warning: implicit conversion loses integer precision: 'long' to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32]
      s.stack[s.index].data_pos = (end - s.data) + s.stack[s.index].del_end_len;
                                ~ ~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./mustache_parser.h:1252:33: warning: implicit conversion loses integer precision: 'long' to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32]
          stand_alone_pos = pad - s.data;
                          ~ ~~~~^~~~~~~~
./mustache_parser.h:1254:69: warning: implicit conversion loses integer precision: 'long' to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32]
              ((beg - (pad + s.stack[s.index].del_start_len)) << 1) | 1;
              ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~
./mustache_parser.h:1346:41: warning: implicit conversion loses integer precision: 'long' to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32]
                        .name_pos = beg - s.data,
                                    ~~~~^~~~~~~~
./mustache_parser.h:1430:45: warning: implicit conversion loses integer precision: 'long' to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32]
                s.i[pos].data.len = org_beg - (s.data + s.i[pos].data.name_pos +
                                  ~ ~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./mustache_parser.h:1476:46: warning: implicit conversion loses integer precision: 'long' to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32]
                    .data = {.name_pos = beg - s.data, .name_len = end - beg}});
                            ~            ~~~~^~~~~~~~
In file included from fiobj_mustache.c:8:
In file included from ./fiobj_ary.h:12:
In file included from ./fiobject.h:28:
./fio_siphash.h:31:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
In file included from fiobj_mustache.c:8:
In file included from ./fiobj_ary.h:12:
In file included from ./fiobject.h:30:
./fio.h:346:5: warning: 'FIO_FORCE_MALLOC' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC
    ^
./fio.h:531:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
./fio.h:2245:5: warning: '__BIG_ENDIAN__' is not defined, evaluates to 0 [-Wundef]
#if __BIG_ENDIAN__
    ^
./fio.h:2482:5: warning: 'FIO_USE_RISKY_HASH' is not defined, evaluates to 0 [-Wundef]
#if FIO_USE_RISKY_HASH
    ^
./fio.h:2865:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
./fio.h:3069:5: warning: 'DEBUG_SPINLOCK' is not defined, evaluates to 0 [-Wundef]
#if DEBUG_SPINLOCK
    ^
./fio.h:3133:5: warning: 'FIO_FORCE_MALLOC' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
    ^
./fio.h:3133:25: warning: 'FIO_FORCE_MALLOC_TMP' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
                        ^
In file included from fiobj_mustache.c:8:
In file included from ./fiobj_ary.h:12:
./fiobject.h:647:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
In file included from fiobj_mustache.c:8:
./fiobj_ary.h:131:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
In file included from fiobj_mustache.c:9:
In file included from ./fiobj_hash.h:22:
./fiobj_str.h:164:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
In file included from fiobj_mustache.c:9:
./fiobj_hash.h:168:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
In file included from fiobj_mustache.c:10:
./fiobj_mustache.h:58:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
fiobj_mustache.c:162:49: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32]
  return mustache_write_text(section, i.data, i.len, escape);
         ~~~~~~~~~~~~~~~~~~~                  ~~^~~
fiobj_mustache.c:198:12: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'int32_t' (aka 'int') [-Wshorten-64-to-32]
    return fiobj_ary_count(o);
    ~~~~~~ ^~~~~~~~~~~~~~~~~~
fiobj_mustache.c:240:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
32 warnings generated.
compiling fiobj_numbers.c
In file included from fiobj_numbers.c:6:
In file included from ./fiobj_numbers.h:8:
In file included from ./fiobject.h:28:
./fio_siphash.h:31:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
In file included from fiobj_numbers.c:6:
In file included from ./fiobj_numbers.h:8:
In file included from ./fiobject.h:30:
./fio.h:346:5: warning: 'FIO_FORCE_MALLOC' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC
    ^
./fio.h:531:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
./fio.h:2245:5: warning: '__BIG_ENDIAN__' is not defined, evaluates to 0 [-Wundef]
#if __BIG_ENDIAN__
    ^
./fio.h:2482:5: warning: 'FIO_USE_RISKY_HASH' is not defined, evaluates to 0 [-Wundef]
#if FIO_USE_RISKY_HASH
    ^
./fio.h:2865:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
./fio.h:3069:5: warning: 'DEBUG_SPINLOCK' is not defined, evaluates to 0 [-Wundef]
#if DEBUG_SPINLOCK
    ^
./fio.h:3133:5: warning: 'FIO_FORCE_MALLOC' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
    ^
./fio.h:3133:25: warning: 'FIO_FORCE_MALLOC_TMP' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
                        ^
In file included from fiobj_numbers.c:6:
In file included from ./fiobj_numbers.h:8:
./fiobject.h:647:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
In file included from fiobj_numbers.c:6:
./fiobj_numbers.h:119:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
In file included from fiobj_numbers.c:9:
./fio.h:3133:5: warning: 'FIO_FORCE_MALLOC' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
    ^
./fio.h:3133:25: warning: 'FIO_FORCE_MALLOC_TMP' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
                        ^
fiobj_numbers.c:278:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
14 warnings generated.
compiling fiobj_str.c
In file included from fiobj_str.c:19:
In file included from ./fiobject.h:28:
./fio_siphash.h:31:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
In file included from fiobj_str.c:19:
In file included from ./fiobject.h:30:
./fio.h:346:5: warning: 'FIO_FORCE_MALLOC' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC
    ^
./fio.h:531:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
./fio.h:2245:5: warning: '__BIG_ENDIAN__' is not defined, evaluates to 0 [-Wundef]
#if __BIG_ENDIAN__
    ^
./fio.h:2482:5: warning: 'FIO_USE_RISKY_HASH' is not defined, evaluates to 0 [-Wundef]
#if FIO_USE_RISKY_HASH
    ^
./fio.h:2865:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
./fio.h:3069:5: warning: 'DEBUG_SPINLOCK' is not defined, evaluates to 0 [-Wundef]
#if DEBUG_SPINLOCK
    ^
./fio.h:3133:5: warning: 'FIO_FORCE_MALLOC' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
    ^
./fio.h:3133:25: warning: 'FIO_FORCE_MALLOC_TMP' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
                        ^
In file included from fiobj_str.c:19:
./fiobject.h:647:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
In file included from fiobj_str.c:22:
./fiobj_numbers.h:119:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
In file included from fiobj_str.c:23:
./fiobj_str.h:164:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
In file included from fiobj_str.c:34:
./fio.h:3133:5: warning: 'FIO_FORCE_MALLOC' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
    ^
./fio.h:3133:25: warning: 'FIO_FORCE_MALLOC_TMP' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
                        ^
fiobj_str.c:354:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
15 warnings generated.
compiling fiobject.c
In file included from fiobject.c:11:
In file included from ./fiobject.h:28:
./fio_siphash.h:31:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
In file included from fiobject.c:11:
In file included from ./fiobject.h:30:
./fio.h:346:5: warning: 'FIO_FORCE_MALLOC' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC
    ^
./fio.h:531:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
./fio.h:2245:5: warning: '__BIG_ENDIAN__' is not defined, evaluates to 0 [-Wundef]
#if __BIG_ENDIAN__
    ^
./fio.h:2482:5: warning: 'FIO_USE_RISKY_HASH' is not defined, evaluates to 0 [-Wundef]
#if FIO_USE_RISKY_HASH
    ^
./fio.h:2865:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
./fio.h:3069:5: warning: 'DEBUG_SPINLOCK' is not defined, evaluates to 0 [-Wundef]
#if DEBUG_SPINLOCK
    ^
./fio.h:3133:5: warning: 'FIO_FORCE_MALLOC' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
    ^
./fio.h:3133:25: warning: 'FIO_FORCE_MALLOC_TMP' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
                        ^
In file included from fiobject.c:11:
./fiobject.h:647:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
In file included from fiobject.c:17:
./fio.h:3133:5: warning: 'FIO_FORCE_MALLOC' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
    ^
./fio.h:3133:25: warning: 'FIO_FORCE_MALLOC_TMP' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
                        ^
./fio.h:5281:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
fiobject.c:62:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
In file included from fiobject.c:421:
In file included from ./fiobj_hash.h:22:
./fiobj_str.h:164:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
In file included from fiobject.c:421:
./fiobj_hash.h:168:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
fiobject.c:524:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
17 warnings generated.
compiling http.c
In file included from http.c:8:
./fio.h:346:5: warning: 'FIO_FORCE_MALLOC' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC
    ^
./fio.h:531:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
./fio.h:2245:5: warning: '__BIG_ENDIAN__' is not defined, evaluates to 0 [-Wundef]
#if __BIG_ENDIAN__
    ^
./fio.h:2482:5: warning: 'FIO_USE_RISKY_HASH' is not defined, evaluates to 0 [-Wundef]
#if FIO_USE_RISKY_HASH
    ^
./fio.h:2865:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
./fio.h:3069:5: warning: 'DEBUG_SPINLOCK' is not defined, evaluates to 0 [-Wundef]
#if DEBUG_SPINLOCK
    ^
./fio.h:3133:5: warning: 'FIO_FORCE_MALLOC' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
    ^
./fio.h:3133:25: warning: 'FIO_FORCE_MALLOC_TMP' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
                        ^
In file included from http.c:10:
In file included from ./http1.h:8:
In file included from ./http.h:10:
In file included from /Users/paul/.rbenv/versions/3.3.0/include/ruby-3.3.0/ruby.h:38:
In file included from /Users/paul/.rbenv/versions/3.3.0/include/ruby-3.3.0/ruby/ruby.h:15:
In file included from /Users/paul/.rbenv/versions/3.3.0/include/ruby-3.3.0/ruby/internal/config.h:22:
/Users/paul/.rbenv/versions/3.3.0/include/ruby-3.3.0/arm64-darwin23/ruby/config.h:17:9: warning: '_GNU_SOURCE' macro redefined [-Wmacro-redefined]
#define _GNU_SOURCE 1
        ^
./fio.h:202:9: note: previous definition is here
#define _GNU_SOURCE
        ^
In file included from http.c:10:
In file included from ./http1.h:8:
In file included from ./http.h:12:
./fio.h:3133:5: warning: 'FIO_FORCE_MALLOC' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
    ^
./fio.h:3133:25: warning: 'FIO_FORCE_MALLOC_TMP' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
                        ^
In file included from http.c:10:
In file included from ./http1.h:8:
In file included from ./http.h:14:
In file included from ./fiobj.h:8:
In file included from ./fiobj_ary.h:12:
In file included from ./fiobject.h:28:
./fio_siphash.h:31:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
In file included from http.c:10:
In file included from ./http1.h:8:
In file included from ./http.h:14:
In file included from ./fiobj.h:8:
In file included from ./fiobj_ary.h:12:
In file included from ./fiobject.h:30:
./fio.h:3133:5: warning: 'FIO_FORCE_MALLOC' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
    ^
./fio.h:3133:25: warning: 'FIO_FORCE_MALLOC_TMP' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
                        ^
In file included from http.c:10:
In file included from ./http1.h:8:
In file included from ./http.h:14:
In file included from ./fiobj.h:8:
In file included from ./fiobj_ary.h:12:
./fiobject.h:647:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
In file included from http.c:10:
In file included from ./http1.h:8:
In file included from ./http.h:14:
In file included from ./fiobj.h:8:
./fiobj_ary.h:131:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
In file included from http.c:10:
In file included from ./http1.h:8:
In file included from ./http.h:14:
In file included from ./fiobj.h:9:
./fiobj_data.h:159:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
In file included from http.c:10:
In file included from ./http1.h:8:
In file included from ./http.h:14:
In file included from ./fiobj.h:10:
In file included from ./fiobj_hash.h:22:
./fiobj_str.h:164:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
In file included from http.c:10:
In file included from ./http1.h:8:
In file included from ./http.h:14:
In file included from ./fiobj.h:10:
./fiobj_hash.h:168:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
In file included from http.c:10:
In file included from ./http1.h:8:
In file included from ./http.h:14:
In file included from ./fiobj.h:11:
In file included from ./fiobj_json.h:11:
./fiobj_numbers.h:119:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
In file included from http.c:10:
In file included from ./http1.h:8:
In file included from ./http.h:14:
In file included from ./fiobj.h:11:
./fiobj_json.h:60:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
In file included from http.c:10:
In file included from ./http1.h:8:
In file included from ./http.h:14:
In file included from ./fiobj.h:12:
In file included from ./fiobj_mustache.h:10:
./mustache_parser.h:114:5: warning: 'INCLUDE_MUSTACHE_IMPLEMENTATION' is not defined, evaluates to 0 [-Wundef]
#if INCLUDE_MUSTACHE_IMPLEMENTATION
    ^
In file included from http.c:10:
In file included from ./http1.h:8:
In file included from ./http.h:14:
In file included from ./fiobj.h:12:
./fiobj_mustache.h:58:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
In file included from http.c:10:
In file included from ./http1.h:8:
In file included from ./http.h:14:
In file included from ./fiobj.h:20:
In file included from ./fiobj4fio.h:7:
./fio.h:3133:5: warning: 'FIO_FORCE_MALLOC' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
    ^
./fio.h:3133:25: warning: 'FIO_FORCE_MALLOC_TMP' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
                        ^
In file included from http.c:10:
In file included from ./http1.h:8:
In file included from ./http.h:14:
./fiobj.h:23:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
./fiobj.h:38:34: warning: function 'fiobj_test' could be declared with attribute 'noreturn' [-Wmissing-noreturn]
FIO_INLINE void fiobj_test(void) {
                                 ^
In file included from http.c:10:
In file included from ./http1.h:8:
./http.h:1005:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
In file included from http.c:11:
In file included from ./http_internal.h:13:
./fio.h:3133:5: warning: 'FIO_FORCE_MALLOC' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
    ^
./fio.h:3133:25: warning: 'FIO_FORCE_MALLOC_TMP' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
                        ^
In file included from http.c:11:
In file included from ./http_internal.h:17:
./fio.h:3133:5: warning: 'FIO_FORCE_MALLOC' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
    ^
http.c:53:72: warning: function 'fio_tls_alpn_add' could be declared with attribute 'noreturn' [-Wmissing-noreturn]
                 void *udata_tls, void (*on_cleanup)(void *udata_tls)) {
                                                                       ^
http.c:199:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
http.c:1201:10: warning: implicit conversion loses integer precision: 'intptr_t' (aka 'long') to 'int' [-Wshorten-64-to-32]
  return http_connect(address, NULL, .on_request = on_websocket_http_connected,
  ~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
./http.h:475:3: note: expanded from macro 'http_connect'
  http_connect((url), (unix_address), (struct http_settings_s){__VA_ARGS__})
  ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
In file included from http.c:1803:
./http_mime_parser.h:235:26: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32]
              name_len = (size_t)(end - name);
                       ~ ^~~~~~~~~~~~~~~~~~~~
./http_mime_parser.h:239:26: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32]
              name_len = (size_t)(start - name);
                       ~ ^~~~~~~~~~~~~~~~~~~~~~
./http_mime_parser.h:265:30: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32]
              filename_len = (size_t)((end - filename));
                           ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~
./http_mime_parser.h:270:30: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32]
              filename_len = (size_t)(start - filename);
                           ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~
./http_mime_parser.h:278:32: warning: implicit conversion loses integer precision: 'ssize_t' (aka 'long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32]
                filename_len = new_len;
                             ~ ^~~~~~~
./http_mime_parser.h:292:22: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32]
          mime_len = (size_t)(end - mime);
                   ~ ^~~~~~~~~~~~~~~~~~~~
./http_mime_parser.h:296:22: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32]
          mime_len = (size_t)(start - mime);
                   ~ ^~~~~~~~~~~~~~~~~~~~~~
./http_mime_parser.h:331:17: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32]
    value_len = (size_t)((end - value) - 1);
              ~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~
http.c:2246:20: warning: implicit conversion loses integer precision: 'ssize_t' (aka 'long') to 'int' [-Wshorten-64-to-32]
    tm->tm_sec = a - (b * 60);
               ~ ~~^~~~~~~~~~
http.c:2248:20: warning: implicit conversion loses integer precision: 'ssize_t' (aka 'long') to 'int' [-Wshorten-64-to-32]
    tm->tm_min = b - (a * 60);
               ~ ~~^~~~~~~~~~
http.c:2250:21: warning: implicit conversion loses integer precision: 'ssize_t' (aka 'long') to 'int' [-Wshorten-64-to-32]
    tm->tm_hour = a - (b * 24);
                ~ ~~^~~~~~~~~~
http.c:2260:35: warning: implicit conversion loses integer precision: 'ssize_t' (aka 'long') to 'int' [-Wshorten-64-to-32]
      tm->tm_sec = (a - (b * 60)) + 60;
                 ~ ~~~~~~~~~~~~~~~^~~~
http.c:2269:35: warning: implicit conversion loses integer precision: 'ssize_t' (aka 'long') to 'int' [-Wshorten-64-to-32]
      tm->tm_min = (b - (a * 60)) + 60;
                 ~ ~~~~~~~~~~~~~~~^~~~
http.c:2278:36: warning: implicit conversion loses integer precision: 'ssize_t' (aka 'long') to 'int' [-Wshorten-64-to-32]
      tm->tm_hour = (a - (b * 24)) + 24;
                  ~ ~~~~~~~~~~~~~~~^~~~
http.c:2298:29: warning: implicit conversion loses integer precision: 'size_t' (aka 'unsigned long') to 'uint32_t' (aka 'unsigned int') [-Wshorten-64-to-32]
    const uint32_t doe = (b - (era * 146097)); // day of era
                   ~~~    ~~^~~~~~~~~~~~~~~~
http.c:2308:21: warning: implicit conversion loses integer precision: 'ssize_t' (aka 'long') to 'int' [-Wshorten-64-to-32]
    tm->tm_year = a - 1900; // tm_year == years since 1900
                ~ ~~^~~~~~
In file included from http.c:2692:
./fio.h:3133:5: warning: 'FIO_FORCE_MALLOC' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
    ^
http.c:2917:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
52 warnings generated.
compiling http1.c
In file included from http1.c:5:
./fio.h:346:5: warning: 'FIO_FORCE_MALLOC' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC
    ^
./fio.h:531:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
./fio.h:2245:5: warning: '__BIG_ENDIAN__' is not defined, evaluates to 0 [-Wundef]
#if __BIG_ENDIAN__
    ^
./fio.h:2482:5: warning: 'FIO_USE_RISKY_HASH' is not defined, evaluates to 0 [-Wundef]
#if FIO_USE_RISKY_HASH
    ^
./fio.h:2865:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
./fio.h:3069:5: warning: 'DEBUG_SPINLOCK' is not defined, evaluates to 0 [-Wundef]
#if DEBUG_SPINLOCK
    ^
./fio.h:3133:5: warning: 'FIO_FORCE_MALLOC' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
    ^
./fio.h:3133:25: warning: 'FIO_FORCE_MALLOC_TMP' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
                        ^
In file included from http1.c:7:
In file included from ./http1.h:8:
In file included from ./http.h:10:
In file included from /Users/paul/.rbenv/versions/3.3.0/include/ruby-3.3.0/ruby.h:38:
In file included from /Users/paul/.rbenv/versions/3.3.0/include/ruby-3.3.0/ruby/ruby.h:15:
In file included from /Users/paul/.rbenv/versions/3.3.0/include/ruby-3.3.0/ruby/internal/config.h:22:
/Users/paul/.rbenv/versions/3.3.0/include/ruby-3.3.0/arm64-darwin23/ruby/config.h:17:9: warning: '_GNU_SOURCE' macro redefined [-Wmacro-redefined]
#define _GNU_SOURCE 1
        ^
./fio.h:202:9: note: previous definition is here
#define _GNU_SOURCE
        ^
In file included from http1.c:7:
In file included from ./http1.h:8:
In file included from ./http.h:12:
./fio.h:3133:5: warning: 'FIO_FORCE_MALLOC' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
    ^
./fio.h:3133:25: warning: 'FIO_FORCE_MALLOC_TMP' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
                        ^
In file included from http1.c:7:
In file included from ./http1.h:8:
In file included from ./http.h:14:
In file included from ./fiobj.h:8:
In file included from ./fiobj_ary.h:12:
In file included from ./fiobject.h:28:
./fio_siphash.h:31:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
In file included from http1.c:7:
In file included from ./http1.h:8:
In file included from ./http.h:14:
In file included from ./fiobj.h:8:
In file included from ./fiobj_ary.h:12:
In file included from ./fiobject.h:30:
./fio.h:3133:5: warning: 'FIO_FORCE_MALLOC' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
    ^
./fio.h:3133:25: warning: 'FIO_FORCE_MALLOC_TMP' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
                        ^
In file included from http1.c:7:
In file included from ./http1.h:8:
In file included from ./http.h:14:
In file included from ./fiobj.h:8:
In file included from ./fiobj_ary.h:12:
./fiobject.h:647:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
In file included from http1.c:7:
In file included from ./http1.h:8:
In file included from ./http.h:14:
In file included from ./fiobj.h:8:
./fiobj_ary.h:131:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
In file included from http1.c:7:
In file included from ./http1.h:8:
In file included from ./http.h:14:
In file included from ./fiobj.h:9:
./fiobj_data.h:159:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
In file included from http1.c:7:
In file included from ./http1.h:8:
In file included from ./http.h:14:
In file included from ./fiobj.h:10:
In file included from ./fiobj_hash.h:22:
./fiobj_str.h:164:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
In file included from http1.c:7:
In file included from ./http1.h:8:
In file included from ./http.h:14:
In file included from ./fiobj.h:10:
./fiobj_hash.h:168:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
In file included from http1.c:7:
In file included from ./http1.h:8:
In file included from ./http.h:14:
In file included from ./fiobj.h:11:
In file included from ./fiobj_json.h:11:
./fiobj_numbers.h:119:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
In file included from http1.c:7:
In file included from ./http1.h:8:
In file included from ./http.h:14:
In file included from ./fiobj.h:11:
./fiobj_json.h:60:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
In file included from http1.c:7:
In file included from ./http1.h:8:
In file included from ./http.h:14:
In file included from ./fiobj.h:12:
In file included from ./fiobj_mustache.h:10:
./mustache_parser.h:114:5: warning: 'INCLUDE_MUSTACHE_IMPLEMENTATION' is not defined, evaluates to 0 [-Wundef]
#if INCLUDE_MUSTACHE_IMPLEMENTATION
    ^
In file included from http1.c:7:
In file included from ./http1.h:8:
In file included from ./http.h:14:
In file included from ./fiobj.h:12:
./fiobj_mustache.h:58:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
In file included from http1.c:7:
In file included from ./http1.h:8:
In file included from ./http.h:14:
In file included from ./fiobj.h:20:
In file included from ./fiobj4fio.h:7:
./fio.h:3133:5: warning: 'FIO_FORCE_MALLOC' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
    ^
./fio.h:3133:25: warning: 'FIO_FORCE_MALLOC_TMP' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
                        ^
In file included from http1.c:7:
In file included from ./http1.h:8:
In file included from ./http.h:14:
./fiobj.h:23:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
./fiobj.h:38:34: warning: function 'fiobj_test' could be declared with attribute 'noreturn' [-Wmissing-noreturn]
FIO_INLINE void fiobj_test(void) {
                                 ^
In file included from http1.c:7:
In file included from ./http1.h:8:
./http.h:1005:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
In file included from http1.c:8:
./http1_parser.h:822:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
In file included from http1.c:9:
In file included from ./http_internal.h:13:
./fio.h:3133:5: warning: 'FIO_FORCE_MALLOC' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
    ^
./fio.h:3133:25: warning: 'FIO_FORCE_MALLOC_TMP' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
                        ^
In file included from http1.c:9:
In file included from ./http_internal.h:17:
./fio.h:3133:5: warning: 'FIO_FORCE_MALLOC' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
    ^
http1.c:516:10: warning: implicit conversion loses integer precision: 'ssize_t' (aka 'long') to 'int' [-Wshorten-64-to-32]
  return fiobj_send_free(((http_sse_internal_s *)sse)->uuid, str);
  ~~~~~~ ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
33 warnings generated.
compiling http_internal.c
In file included from http_internal.c:7:
In file included from ./http_internal.h:10:
In file included from ./fiobj_str.h:8:
In file included from ./fiobject.h:28:
./fio_siphash.h:31:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
In file included from http_internal.c:7:
In file included from ./http_internal.h:10:
In file included from ./fiobj_str.h:8:
In file included from ./fiobject.h:30:
./fio.h:346:5: warning: 'FIO_FORCE_MALLOC' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC
    ^
./fio.h:531:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
./fio.h:2245:5: warning: '__BIG_ENDIAN__' is not defined, evaluates to 0 [-Wundef]
#if __BIG_ENDIAN__
    ^
./fio.h:2482:5: warning: 'FIO_USE_RISKY_HASH' is not defined, evaluates to 0 [-Wundef]
#if FIO_USE_RISKY_HASH
    ^
./fio.h:2865:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
./fio.h:3069:5: warning: 'DEBUG_SPINLOCK' is not defined, evaluates to 0 [-Wundef]
#if DEBUG_SPINLOCK
    ^
./fio.h:3133:5: warning: 'FIO_FORCE_MALLOC' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
    ^
./fio.h:3133:25: warning: 'FIO_FORCE_MALLOC_TMP' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
                        ^
In file included from http_internal.c:7:
In file included from ./http_internal.h:10:
In file included from ./fiobj_str.h:8:
./fiobject.h:647:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
In file included from http_internal.c:7:
In file included from ./http_internal.h:10:
./fiobj_str.h:164:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
In file included from http_internal.c:7:
In file included from ./http_internal.h:12:
In file included from ./iodine_store.h:4:
In file included from /Users/paul/.rbenv/versions/3.3.0/include/ruby-3.3.0/ruby.h:38:
In file included from /Users/paul/.rbenv/versions/3.3.0/include/ruby-3.3.0/ruby/ruby.h:15:
In file included from /Users/paul/.rbenv/versions/3.3.0/include/ruby-3.3.0/ruby/internal/config.h:22:
/Users/paul/.rbenv/versions/3.3.0/include/ruby-3.3.0/arm64-darwin23/ruby/config.h:17:9: warning: '_GNU_SOURCE' macro redefined [-Wmacro-redefined]
#define _GNU_SOURCE 1
        ^
./fiobject.h:14:9: note: previous definition is here
#define _GNU_SOURCE
        ^
In file included from http_internal.c:7:
In file included from ./http_internal.h:13:
./fio.h:3133:5: warning: 'FIO_FORCE_MALLOC' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
    ^
./fio.h:3133:25: warning: 'FIO_FORCE_MALLOC_TMP' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
                        ^
In file included from http_internal.c:7:
In file included from ./http_internal.h:17:
./fio.h:3133:5: warning: 'FIO_FORCE_MALLOC' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
    ^
In file included from http_internal.c:7:
In file included from ./http_internal.h:19:
In file included from ./http.h:12:
./fio.h:3133:5: warning: 'FIO_FORCE_MALLOC' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
    ^
In file included from http_internal.c:7:
In file included from ./http_internal.h:19:
In file included from ./http.h:14:
In file included from ./fiobj.h:8:
./fiobj_ary.h:131:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
In file included from http_internal.c:7:
In file included from ./http_internal.h:19:
In file included from ./http.h:14:
In file included from ./fiobj.h:9:
./fiobj_data.h:159:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
In file included from http_internal.c:7:
In file included from ./http_internal.h:19:
In file included from ./http.h:14:
In file included from ./fiobj.h:10:
./fiobj_hash.h:168:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
In file included from http_internal.c:7:
In file included from ./http_internal.h:19:
In file included from ./http.h:14:
In file included from ./fiobj.h:11:
In file included from ./fiobj_json.h:11:
./fiobj_numbers.h:119:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
In file included from http_internal.c:7:
In file included from ./http_internal.h:19:
In file included from ./http.h:14:
In file included from ./fiobj.h:11:
./fiobj_json.h:60:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
In file included from http_internal.c:7:
In file included from ./http_internal.h:19:
In file included from ./http.h:14:
In file included from ./fiobj.h:12:
In file included from ./fiobj_mustache.h:10:
./mustache_parser.h:114:5: warning: 'INCLUDE_MUSTACHE_IMPLEMENTATION' is not defined, evaluates to 0 [-Wundef]
#if INCLUDE_MUSTACHE_IMPLEMENTATION
    ^
In file included from http_internal.c:7:
In file included from ./http_internal.h:19:
In file included from ./http.h:14:
In file included from ./fiobj.h:12:
./fiobj_mustache.h:58:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
In file included from http_internal.c:7:
In file included from ./http_internal.h:19:
In file included from ./http.h:14:
In file included from ./fiobj.h:20:
In file included from ./fiobj4fio.h:7:
./fio.h:3133:5: warning: 'FIO_FORCE_MALLOC' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
    ^
In file included from http_internal.c:7:
In file included from ./http_internal.h:19:
In file included from ./http.h:14:
./fiobj.h:23:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
./fiobj.h:38:34: warning: function 'fiobj_test' could be declared with attribute 'noreturn' [-Wmissing-noreturn]
FIO_INLINE void fiobj_test(void) {
                                 ^
In file included from http_internal.c:7:
In file included from ./http_internal.h:19:
./http.h:1005:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
27 warnings generated.
compiling iodine.c
In file included from iodine.c:1:
In file included from ./iodine.h:6:
./fio.h:346:5: warning: 'FIO_FORCE_MALLOC' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC
    ^
./fio.h:531:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
./fio.h:2245:5: warning: '__BIG_ENDIAN__' is not defined, evaluates to 0 [-Wundef]
#if __BIG_ENDIAN__
    ^
./fio.h:2482:5: warning: 'FIO_USE_RISKY_HASH' is not defined, evaluates to 0 [-Wundef]
#if FIO_USE_RISKY_HASH
    ^
./fio.h:2865:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
./fio.h:3069:5: warning: 'DEBUG_SPINLOCK' is not defined, evaluates to 0 [-Wundef]
#if DEBUG_SPINLOCK
    ^
./fio.h:3133:5: warning: 'FIO_FORCE_MALLOC' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
    ^
./fio.h:3133:25: warning: 'FIO_FORCE_MALLOC_TMP' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
                        ^
In file included from iodine.c:1:
In file included from ./iodine.h:8:
In file included from ./fiobj.h:8:
In file included from ./fiobj_ary.h:12:
In file included from ./fiobject.h:28:
./fio_siphash.h:31:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
In file included from iodine.c:1:
In file included from ./iodine.h:8:
In file included from ./fiobj.h:8:
In file included from ./fiobj_ary.h:12:
In file included from ./fiobject.h:30:
./fio.h:3133:5: warning: 'FIO_FORCE_MALLOC' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
    ^
./fio.h:3133:25: warning: 'FIO_FORCE_MALLOC_TMP' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
                        ^
In file included from iodine.c:1:
In file included from ./iodine.h:8:
In file included from ./fiobj.h:8:
In file included from ./fiobj_ary.h:12:
./fiobject.h:647:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
In file included from iodine.c:1:
In file included from ./iodine.h:8:
In file included from ./fiobj.h:8:
./fiobj_ary.h:131:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
In file included from iodine.c:1:
In file included from ./iodine.h:8:
In file included from ./fiobj.h:9:
./fiobj_data.h:159:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
In file included from iodine.c:1:
In file included from ./iodine.h:8:
In file included from ./fiobj.h:10:
In file included from ./fiobj_hash.h:22:
./fiobj_str.h:164:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
In file included from iodine.c:1:
In file included from ./iodine.h:8:
In file included from ./fiobj.h:10:
./fiobj_hash.h:168:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
In file included from iodine.c:1:
In file included from ./iodine.h:8:
In file included from ./fiobj.h:11:
In file included from ./fiobj_json.h:11:
./fiobj_numbers.h:119:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
In file included from iodine.c:1:
In file included from ./iodine.h:8:
In file included from ./fiobj.h:11:
./fiobj_json.h:60:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
In file included from iodine.c:1:
In file included from ./iodine.h:8:
In file included from ./fiobj.h:12:
In file included from ./fiobj_mustache.h:10:
./mustache_parser.h:114:5: warning: 'INCLUDE_MUSTACHE_IMPLEMENTATION' is not defined, evaluates to 0 [-Wundef]
#if INCLUDE_MUSTACHE_IMPLEMENTATION
    ^
In file included from iodine.c:1:
In file included from ./iodine.h:8:
In file included from ./fiobj.h:12:
./fiobj_mustache.h:58:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
In file included from iodine.c:1:
In file included from ./iodine.h:8:
In file included from ./fiobj.h:20:
In file included from ./fiobj4fio.h:7:
./fio.h:3133:5: warning: 'FIO_FORCE_MALLOC' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
    ^
./fio.h:3133:25: warning: 'FIO_FORCE_MALLOC_TMP' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
                        ^
In file included from iodine.c:1:
In file included from ./iodine.h:8:
./fiobj.h:23:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
./fiobj.h:38:34: warning: function 'fiobj_test' could be declared with attribute 'noreturn' [-Wmissing-noreturn]
FIO_INLINE void fiobj_test(void) {
                                 ^
In file included from iodine.c:1:
In file included from ./iodine.h:45:
In file included from ./iodine_pubsub.h:6:
./fio.h:3133:5: warning: 'FIO_FORCE_MALLOC' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
    ^
./fio.h:3133:25: warning: 'FIO_FORCE_MALLOC_TMP' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
                        ^
In file included from iodine.c:1:
In file included from ./iodine.h:46:
In file included from ./iodine_rack_io.h:12:
In file included from ./http.h:12:
./fio.h:3133:5: warning: 'FIO_FORCE_MALLOC' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
    ^
./fio.h:3133:25: warning: 'FIO_FORCE_MALLOC_TMP' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
                        ^
In file included from iodine.c:1:
In file included from ./iodine.h:46:
In file included from ./iodine_rack_io.h:12:
./http.h:1005:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
In file included from iodine.c:6:
./fio.h:3133:5: warning: 'FIO_FORCE_MALLOC' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
    ^
./fio.h:3133:25: warning: 'FIO_FORCE_MALLOC_TMP' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
                        ^
31 warnings generated.
compiling iodine_caller.c
In file included from iodine_caller.c:6:
./fio.h:346:5: warning: 'FIO_FORCE_MALLOC' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC
    ^
./fio.h:531:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
./fio.h:2245:5: warning: '__BIG_ENDIAN__' is not defined, evaluates to 0 [-Wundef]
#if __BIG_ENDIAN__
    ^
./fio.h:2482:5: warning: 'FIO_USE_RISKY_HASH' is not defined, evaluates to 0 [-Wundef]
#if FIO_USE_RISKY_HASH
    ^
./fio.h:2865:5: warning: 'DEBUG' is not defined, evaluates to 0 [-Wundef]
#if DEBUG
    ^
./fio.h:3069:5: warning: 'DEBUG_SPINLOCK' is not defined, evaluates to 0 [-Wundef]
#if DEBUG_SPINLOCK
    ^
./fio.h:3133:5: warning: 'FIO_FORCE_MALLOC' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
    ^
./fio.h:3133:25: warning: 'FIO_FORCE_MALLOC_TMP' is not defined, evaluates to 0 [-Wundef]
#if FIO_FORCE_MALLOC || FIO_FORCE_MALLOC_TMP
                        ^
iodine_caller.c:73:24: error: incompatible function pointer types passing 'VALUE (*)(VALUE, VALUE, int, VALUE *)' (aka 'unsigned long (*)(unsigned long, unsigned long, int, unsigned long *)') to parameter of type 'rb_block_call_func_t' (aka 'unsigned long (*)(unsigned long, unsigned long, int, const unsigned long *, unsigned long)') [-Wincompatible-function-pointer-types]
                       task->each_func, task->each_udata);
                       ^~~~~~~~~~~~~~~
/Users/paul/.rbenv/versions/3.3.0/include/ruby-3.3.0/ruby/internal/iterator.h:324:90: note: passing argument to parameter 'proc' here
VALUE rb_block_call(VALUE obj, ID mid, int argc, const VALUE *argv, rb_block_call_func_t proc, VALUE data2);
                                                                                ^
8 warnings and 1 error generated.
make: *** [iodine_caller.o] Error 1

make failed, exit code 2

Gem files will remain installed in /Users/paul/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/gems/rage-iodine-3.0.5 for inspection.
Results logged to /Users/paul/.rbenv/versions/3.3.0/lib/ruby/gems/3.3.0/extensions/arm64-darwin-23/3.3.0/rage-iodine-3.0.5/gem_make.out

Installed successfully with rage-iodine 3.0.6


Multiple textareas problem -

When multiple bbcode textareas exist on a page, there is a problem. If the cursor is in the first textarea, form submissions and everything works well. However, if the cursor is in any other textareas on the page, submission fails - it never gets to the event. It does work when in source/bbcode view.
We really want to use this library but this could be a show stopper for us. Any chance you can fix?

For those who are still looking for a solution I found out that if you comment 3 rows in file jquery.wysibb.js it will fix the problem:
// file jquery.wysibb.js

...
setBodyFocus: function() {
	$.log("Set focus to WysiBB editor");
	if (this.options.bbmode) {
		if (!this.$txtArea.is(":focus")) {
			this.$txtArea.focus();
		}
	}else{
		//if (!this.$body.is(":focus")) {
		//	this.$body.focus();
		//}
	}
},
...

Also there is an issue with assigning the same id attribute to several textareas. It can be fixed by introducing and appealing to a global variable, for ex. wysibb_lastid instead of $.wysibb.prototype.lastid. The point is that variable $.wysibb is created and called for each selector match separately. That's why $.wysibb.prototype.lastid will never be incremented and always be equal to 2.
// file jquery.wysibb.js

...
$.wysibb.prototype = {
    lastid : 1,
...


Build AclGenerator to Support Author, Venue, and SIG facets

Building the acl-anthology data from the source code provides a nice directory with YAML files containing data for papers and volumes.
We want to:

Support Lucene document generation using the YAML files for papers (this contains more information than Bibtex)

It would be good to create a new AclGenerator for these YAML files in addition to the existing BibtextGenerator

Add facet fields for the author, venue, and SIG fields

Yes, please BibtextGenerator alone, as it's general-purpose for scientific collections.

For the BibtexGenerator, we should still add a doc on how would one potentially use it, right? Now that acl-anthology ingestion doc will be for AclGenerator, what's the best place and way to provide some reference for BibtexGenerator @lintool?

Let's focus on documentation for ACL (i.e., AclGenerator) for now. We'll document BibtexGenerator when we have a good public collection to demonstrate it on.

Would it help if we created a repo, something like https://github.com/castorini/acl-anthology-yaml where you directly check in the pre-compiled YAML files. So that the documentation can directly wget from it or something like that?

It could help, but might be overkill since generating them from scratch is just:

Clone the acl-anthology repo
Install dependencies pip install -r requirements.txt
Generate files with python3 bin/create_hugo_yaml.py

I can include this in documentation? Otherwise we would need to periodically update our own repository once new papers get added etc

hey @edwinzhng @nikhilro - yup, just include those invocations in our docs, and we should be good.
Also, can you refactor your unit tests using the same abstraction in your next PR?
Thanks!

Closing since this was addressed by #1005


Do not use git system config

The unit tests currently use the user config. This should be disabled. Likely the easiest way is to set GIT_CONFIG to an empty file and also set GIT_CONFIG_NOSYSTEM.

Good point, I totally agree.