Version 3.14 installs and runs just fine on Win98, from what I can tell so far. It's possible something like KernelEx might allow the newer installer to run, but that's not something I've installed or worked with yet.
Installer not opening on Windows 98
usage of `date` does not work on macOS / BSD
Also, the current gensio seems to be setting USE_UUCP_LOCKING correctly, because I can connect to my current build with telnet localhost 2001 using this config: connection: &con01 accepter: telnet(rfc2217),tcp,2001 connector: serialdev,/dev/tty.usbserial-12345678,115200n81,local
I couldn't get it to link to either built-in TCL or the tcl-tk formula, so I just disabled it. The latest gensio is now building on my machine using the Homebrew formula changes here; once a new gensio is out I'll update the resource block and remove the autoreconf. Take note of this patch that was added to fix flat_namespace usage. The patch isn't needed when I run autoreconf, but it may still be in the released version.
Getting close. Just some missing Tcl symbols now: Making all in tcl Making all in . CC libgensiotcl_la-gensio_tcl.lo CCLD libgensiotcl.la clang: warning: argument unused during compilation: '-pthread' [-Wunused-command-line-argument] clang: warning: argument unused during compilation: '-pthread' [-Wunused-command-line-argument] Undefined symbols for architecture x86_64: "_Tcl_CancelIdleCall", referenced from: _timeout_wait in libgensiotcl_la-gensio_tcl.o "_Tcl_CreateFileHandler", referenced from:...
Seeing on 10.15: ../../c++/include/gensio/gensio:722:10: error: exception specification of overriding function is more lax than base version virtual ~Serial_Event() = default; ^ ../../c++/include/gensio/gensio:249:10: note: overridden virtual function is here virtual ~Event() = default; ^ gensio.cc:432:52: error: non-aggregate type 'std::map<std::string, gensio_allocator>' (aka 'map<basic_string<char, char_traits<char>, allocator<char> >, gensio::Gensio *(*)(gensio::Os_Funcs &, struct gensio *)>')...
It looks like I should use FIONREAD. Can you verify that works? Replacing TIOCINQ with FIONREAD seems to work. Then it stops on SO_DOMAIN, which appears to be Linux-only (although SO_TYPE should work): CC gensio_stdsock.lo gensio_stdsock.c:1363:53: error: use of undeclared identifier 'SO_DOMAIN' rv = getsockopt(o->iod_get_fd(iod), SOL_SOCKET, SO_DOMAIN, family, &len);