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]

Reply via email to