-
Notifications
You must be signed in to change notification settings - Fork 0
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Generate a native executable via GraalVM #4 #11
Conversation
Trial n°1, fails with The native executable cannot be generated, visibly because of oracle/graal#366:
|
Trial n°2 with kraal, fails due to
|
276024d
to
c590137
Compare
Trial n°3 without
Related resources: |
7e8ca6c
to
283b305
Compare
Trial n°4 (added the missing $ ./generate-executable.sh 9:07 nkosinski@VID01971
Build nicokosi/pullpitoK JAR file:
BUILD SUCCESSFUL in 0s
2 actionable tasks: 2 up-to-date
Install GraalVM via SDKMAN!:
-+syyyyyyys:
`/yho:` -yd.
`/yh/` +m.
.oho. hy .`
.sh/` :N` `-/o` `+dyyo:.
.yh:` `M- `-/osysoym :hs` `-+sys: hhyssssssssy+
.sh:` `N: ms/-`` yy.yh- -hy. `.N-````````+N.
`od/` `N- -/oM- ddd+` `sd: hNNm -N:
:do` .M. dMMM- `ms. /d+` `NMMs `do
.yy- :N` ```mMMM. - -hy. /MMM: yh
`+d+` `:/oo/` `-/osyh/ossssssdNMM` .sh: yMMN` /m.
-dh- :ymNMMMMy `-/shmNm-`:N/-.`` `.sN /N- `NMMy .m/
`oNs` -hysosmMMMMydmNmds+-.:ohm : sd` :MMM/ yy
.hN+ /d: -MMMmhs/-.` .MMMh .ss+- `yy` sMMN` :N.
:mN/ `N/ `o/-` :MMMo +MMMN- .` `ds mMMh do
/NN/ `N+....--:/+oooosooo+:sMMM: hMMMM: `my .m+ -MMM+ :N.
/NMo -+ooooo+/:-....`...:+hNMN. `NMMMd` .MM/ -m: oMMN. hs
-NMd` :mm -MMMm- .s/ -MMm. /m- mMMd -N.
`mMM/ .- /MMh. -dMo -MMMy od. .MMMs..---yh
+MMM. sNo`.sNMM+ :MMMM/ sh`+MMMNmNm+++-
mMMM- /--ohmMMM+ :MMMMm. `hyymmmdddo
MMMMh. ```` `-+yy/`yMMM/ :MMMMMy -sm:.``..-:-.`
dMMMMmo-.``````..-:/osyhddddho. `+shdh+. hMMM: :MmMMMM/ ./yy/` `:sys+/+sh/
.dMMMMMMmdddddmmNMMMNNNNNMMMMMs sNdo- dMMM- `-/yd/MMMMm-:sy+. :hs- /N`
`/ymNNNNNNNmmdys+/::----/dMMm: +m- mMMM+ohmo/.` sMMMMdo- .om: `sh
`.-----+/.` `.-+hh/` `od. NMMNmds/ `mmy:` +mMy `:yy.
/moyso+//+ossso:. .yy` `dy+:` .. :MMMN+---/oys:
/+m: `.-:::-` /d+ +MMMMMMMNh:`
+MN/ -yh. `+hddhy+.
/MM+ .sh:
:NMo -sh/
-NMs `/yy:
.NMy `:sh+.
`mMm` ./yds-
`dMMMmyo:-.````.-:oymNy:`
+NMMMMMMMMMMMMMMMMms:`
-+shmNMMMNmdy+:`
Now attempting installation...
Looking for a previous installation of SDKMAN...
SDKMAN found.
======================================================================================================
You already have SDKMAN installed.
SDKMAN was found at:
/home/nkosinski/.sdkman
Please consider running the following if you need to upgrade.
$ sdk selfupdate force
======================================================================================================
Stop! java 1.0.0-rc-15-grl is already installed.
Using java version 1.0.0-rc-15-grl in this shell.
Copy 'libsunec' shared library (Sun Elliptic Curve crypto):
Build nicokosi/pullpitoK's executable from JAR via GraalVM:
[pullpitoK:27859] classlist: 1,514.37 ms
[pullpitoK:27859] (cap): 939.72 ms
[pullpitoK:27859] setup: 2,223.83 ms
[pullpitoK:27859] (typeflow): 10,693.98 ms
[pullpitoK:27859] (objects): 10,319.45 ms
[pullpitoK:27859] (features): 478.82 ms
[pullpitoK:27859] analysis: 21,901.45 ms
[pullpitoK:27859] universe: 667.78 ms
[pullpitoK:27859] (parse): 1,876.36 ms
[pullpitoK:27859] (inline): 2,805.87 ms
[pullpitoK:27859] (compile): 15,609.01 ms
[pullpitoK:27859] compile: 21,401.64 ms
[pullpitoK:27859] image: 1,613.72 ms
[pullpitoK:27859] write: 305.11 ms
[pullpitoK:27859] [total]: 49,825.60 ms
=> Check the executable:
Usage: pullpitoK <repository> <token>
A command line tool to display a summary of GitHub pull requests.
<repository>: a GitHub repository.
Example: python/peps
<token>: an optional GitHub personal access token
\nExecutable has been generated in local directory, try it copy/pasting this command:
$> ./pullpitoK python/peps
Executable can also be run from an other directory via a 'PULLPITOK_LIBSUNEC'
environment variable in order to load the 'libsunec' shared library (Sun
Elliptic Curve crypto) bundled in the Java Development Kit.
For instance, on a 64-bit Linux:
$> PULLPITOK_LIBSUNEC=/home/nkosinski/.sdkman/candidates/java/1.0.0-rc-15-grl/jre/lib/amd64/ ./pullpitoK python/peps then: $ time ./pullpitoK --help 9:07 nkosinski@VID01971
Usage: pullpitoK <repository> <token>
A command line tool to display a summary of GitHub pull requests.
<repository>: a GitHub repository.
Example: python/peps
<token>: an optional GitHub personal access token
./pullpitoK --help 0.00s user 0.00s system 88% cpu 0.002 total and: PULLPITOK_LIBSUNEC=/home/nkosinski/.sdkman/candidates/java/1.0.0-rc-15-grl/jre/lib/amd64 ./pullpitoK python/peps
$ PULLPITOK_LIBSUNEC=/home/nkosinski/.sdkman/candidates/java/1.0.0-rc-15-grl/jre/lib/amd64 ./pullpitoK python/peps
pull requests for "python/peps" ->
opened per author
brettcannon: 1
ncoghlan: 1
gvanrossum: 4
markshannon: 3
jdemeyer: 2
BTaskaya: 1
pablogsal: 2
willingc: 1
vstinner: 1
ericvw: 1
yaroslav-semeniuk: 1
jimbo1qaz: 1
pganssle: 1
zooba: 2
RazerM: 1
mcfarke311: 1
uranusjr: 1
JukkaL: 1
commented per author
brettcannon: 8
ncoghlan: 2
gvanrossum: 6
markshannon: 1
jdemeyer: 7
ilevkivskyi: 1
pablogsal: 5
willingc: 8
vstinner: 4
ericvw: 8
pganssle: 4
encukou: 5
mariocj89: 3
uranusjr: 1
pfmoore: 1
JelleZijlstra: 7
closed per author
brettcannon: 5
ncoghlan: 3
gvanrossum: 10
markshannon: 1
ilevkivskyi: 1
pablogsal: 4
Rosuav: 1
zooba: 2
Mariatta: 1 |
Commit b18ee18 missed this!
A fat JAR is needed to generate an executale via GraalVM.
4fd6fec
to
168a051
Compare
Install GraalVM (https://www.graalvm.org/) via SDKMAN! (https://sdkman.io/). GraalVM is used to build a native image (executable) from the fat JAR. Note: 'libsunec' native library (Sun Elliptic Curve crypto) needs to be in java.library.path, it is copied in current directory).
Implement #4.