gnodet commented on issue #11545: URL: https://github.com/apache/maven/issues/11545#issuecomment-5443630582
This was a missing AIX support issue in JLine's FFM terminal provider, tracked upstream as [jline/jline3#1984](https://github.com/jline/jline3/issues/1984) and fixed in [jline/jline3#1985](https://github.com/jline/jline3/pull/1985). **What was wrong:** JLine's FFM provider tried to find `openpty` in `libutil` (the Linux convention), but on AIX `openpty` lives in `libbsd`. The FFM provider also lacked the AIX-specific `termios` struct layout, so it would have thrown `IllegalStateException("Unsupported system!")` if it got past the library loading stage. **What was fixed (JLine 4.3.0):** - Added AIX `termios` struct layout (32-bit fields, 16 cc bytes, no `c_ispeed`/`c_ospeed`) - Added `System.loadLibrary("bsd")` fallback when `OSUtils.IS_AIX` is true - Added AIX-specific `TIOCGWINSZ`/`TIOCSWINSZ` ioctl constants - Added AIX signal handling fallback to `sun.misc.Signal` (FFM signal handler only supports x86_64/aarch64) **Current Maven status:** Maven 4.0.0-rc-6 ships JLine **4.3.1**, which includes this fix. The warning should no longer appear if `libbsd` is available on the AIX system. If `libbsd` is not installed or not on `java.library.path`, the workaround is: ``` -Dorg.jline.ffm.libutil=/path/to/libbsd.a ``` Either way, this is cosmetic — JLine falls back through `ffm → jni → exec` providers, and the exec provider already has AIX-specific handling (it prepends `/opt/freeware/bin` to PATH for `stty`). -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. To unsubscribe, e-mail: [email protected] For queries about this service, please contact Infrastructure at: [email protected]
