FS#48385 - [gradle] upstream provided gradle-native-2.10.jar links against ncurses5 instead of ncurses6
Attached to Project:
Community Packages
Opened by Dan (drmoose) - Tuesday, 01 March 2016, 16:05 GMT
Last edited by freswa (frederik) - Tuesday, 06 October 2020, 17:09 GMT
Opened by Dan (drmoose) - Tuesday, 01 March 2016, 16:05 GMT
Last edited by freswa (frederik) - Tuesday, 06 October 2020, 17:09 GMT
|
Details
Gradle 2.11-1 is built against ncurses 5 (which I suspect is
an upstream problem), but when libncurses.so.5 isn't
present, gradle silently assumes you have a dumb terminal.
It can be forced to try to use ansi escape sequences with
the --console=rich flag, but that has line wrapping
issues.
For those unfamiliar with how it's supposed to look, the only evidence one might have that something is wrong comes from the first few lines of gradle --debug: ----- 10:05:12.001 [DEBUG] [org.gradle.internal.nativeintegration.services.NativeServices] Unable to load from native-platform backed ConsoleDetector. Continuing with fallback. Failure: net.rubygrapefruit.platform.NativeException: Failed to load native library 'libnative-platform-curses.so' for Linux amd64. caused by: java.lang.UnsatisfiedLinkError: /home/drmoose/.gradle/native/19/linux-amd64/libnative-platform-curses.so: libncurses.so.5: cannot open shared object file: No such file or directory ----- The ncurses5-compat-libs PKGBUILD in aur supplies a version of libncurses.so.5 that is compatible with gradle. Since gradle works without it (and there's no wiki page for gradle), I suggest adding something like this to the PKGBUILD for gradle: ---- optdepends=('ncurses-5-compat-libs: colored output, progress indicators') ---- |
This task depends upon
Closed by freswa (frederik)
Tuesday, 06 October 2020, 17:09 GMT
Reason for closing: Upstream
Additional comments about closing: https://github.com/gradle/gradle/issues/ 825
Tuesday, 06 October 2020, 17:09 GMT
Reason for closing: Upstream
Additional comments about closing: https://github.com/gradle/gradle/issues/ 825
Can you report this issue to gradle and reference the bug report in this ticket?
gradle ships the problematic library as lib/gradle-native-2.10.jar and that jar is linked against ncurses5. They should somehow provide such dependency that is linked against ncurses6 (I assume gradle-native-2.10 just needs to be builds against ncurses6)
a references discussion: https://discuss.gradle.org/t/how-do-i-always-force-console-auto-in-a-gradle-properties-or-environment-variable/12039
Adding org.gradle.console=rich to ~/.gradle/gradle.properties restored the expected output. Maybe this should be added to the pacman output.