Skip to content
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

Linux Build: #21

Open
frank-dspeed opened this issue Oct 1, 2020 · 5 comments
Open

Linux Build: #21

frank-dspeed opened this issue Oct 1, 2020 · 5 comments

Comments

@frank-dspeed
Copy link
Member

frank-dspeed commented Oct 1, 2020

## Install MX
mkdir direktspeed
cd direktspeed
git clone https://github.com/graalvm/mx
export PATH=$PWD/mx:$PATH

## Install labs OpenJDK
https://github.com/graalvm/labs-openjdk-15/releases

#Verify
./build/labsjdk/images/graal-builder-jdk/bin/java --version

# expose
export JAVA_HOME=$PWD/build/labsjdk/images/graal-builder-jdk
export PATH=$PWD/build/labsjdk/images/graal-builder-jdk/bin;$PATH

## Compile graal
cd /direktspeed/
git clone https://github.com/oracle/graal/
cd graal

## Checkout dependencies
git checkout https://github.com/graalvm/graaljs.git

https://github.com/oracle/graal/tree/master/vm
sudo apt install zlib1g-dev build-essential zip unzip file cmake

cd graal/vm
git checkout vm-1.0.0-rc5
if you already checked out the graaljs or the sulong repositories: mx --env ce sforceimports, else skip this step
mx --env ce build

@frank-dspeed
Copy link
Member Author

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-key C99B11DEB97541F0
sudo apt-add-repository https://cli.github.com/packages
sudo apt update
sudo apt install gh

@frank-dspeed
Copy link
Member Author

$GRAALVM/jre/languages/js/graaljs.jar - core component of GraalVM JavaScript (always required)
$GRAALVM/jre/tools/regex/tregex.jar - Graal’s regular expression engine (always required)
$GRAALVM/jre/lib/boot/graal-sdk.jar - Graal’s SDK to implement languages (always required)
$GRAALVM/jre/lib/truffle/truffle-api.jar - Graal’s Truffle API, to implement language interpreters (always required)
$GRAALVM/jre/lib/graalvm/graaljs-launcher.jar - GraalVM JavaScript’s command line interpreter (optional)
$GRAALVM/jre/lib/graalvm/launcher-common.jar - Common launcher code shared by all languages (required by graaljs-launcher.jar)
$GRAALVM/jre/lib/boot/graaljs-scriptengine.jar - GraalVM JavaScript’s ScriptEngine/JSR 223 support (optional)

/path/to/jdk-11/bin/java -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -XX:+UseJVMCICompiler --module-path=$GRAAL_JDK11/graal/sdk/mxbuild/dists/modules/org.graalvm.graal_sdk.jar:$GRAAL_JDK11/graal/truffle/mxbuild/modules/com.oracle.truffle.truffle_api.jar --upgrade-module-path=$GRAAL_HOME/graal/compiler/mxbuild/dists/jdk15/jdk.internal.vm.compiler.jar:$GRAAL_HOME/graal/compiler/mxbuild/modules/jdk.internal.vm.compiler.management.jar -cp $GRAALVM/jre/lib/graalvm/launcher-common.jar:$GRAALVM/jre/lib/graalvm/graaljs-launcher.jar:$GRAALVM/jre/languages/js/graaljs.jar:$GRAALVM/jre/lib/truffle/truffle-api.jar:$GRAALVM/jre/lib/boot/graal-sdk.jar:$GRAALVM/jre/lib/boot/graaljs-scriptengine.jar:$GRAALVM/jre/tools/regex/tregex.jar com.oracle.truffle.js.shell.JSLauncher

run with jdk 11
compiler/mxbuild/dists/jdk11/

/path/to/jdk-11/bin/java -XX:+UnlockExperimentalVMOptions -XX:+EnableJVMCI -XX:+UseJVMCICompiler --module-path=$GRAAL_JDK11/graal/sdk/mxbuild/modules/org.graalvm.graal_sdk.jar:$GRAAL_JDK11/graal/truffle/mxbuild/modules/com.oracle.truffle.truffle_api.jar --upgrade-module-path=$GRAAL_HOME/graal/compiler/mxbuild/modules/jdk.internal.vm.compiler.jar:$GRAAL_HOME/graal/compiler/mxbuild/modules/jdk.internal.vm.compiler.management.jar -cp $GRAALVM/jre/lib/graalvm/launcher-common.jar:$GRAALVM/jre/lib/graalvm/graaljs-launcher.jar:$GRAALVM/jre/languages/js/graaljs.jar:$GRAALVM/jre/lib/truffle/truffle-api.jar:$GRAALVM/jre/lib/boot/graal-sdk.jar:$GRAALVM/jre/lib/boot/graaljs-scriptengine.jar:$GRAALVM/jre/tools/regex/tregex.jar com.oracle.truffle.js.shell.JSLauncher

@frank-dspeed
Copy link
Member Author

"java.configuration.runtimes": [
{
"name": "JavaSE-1.8",
"path": "/path/to/jdk-8",
},
{
"name": "JavaSE-11",
"path": "/path/to/jdk-11",
},
{
"name": "JavaSE-14",
"path": "/path/to/jdk-14",
"default": true
},
]

vscode

@frank-dspeed
Copy link
Member Author

# https://github.com/shyiko/jabba
# This file is intended to be "sourced" (i.e. ". ~/.jabba/jabba.sh")

export JABBA_HOME="$HOME/.open-pwa"

jabba() {
    #local fd3=$(mktemp /tmp/jabba-fd3.XXXXXX)
    #(JABBA_SHELL_INTEGRATION=ON $HOME/.jabba/bin/jabba "$@" 3>| ${fd3})
    #local exit_code=$?
    #eval $(cat ${fd3})
    #rm -f ${fd3}
    #return ${exit_code}
}

if [ ! -z "$(jabba alias default)" ]; then
    #jabba use default
fi

fish file

# https://github.com/shyiko/jabba
# This file is intended to be "sourced" (i.e. ". ~/.jabba/jabba.fish")

#set -xg JABBA_HOME "$HOME/.jabba"

#function jabba
#    set fd3 (mktemp /tmp/jabba-fd3.XXXXXX)
#    env JABBA_SHELL_INTEGRATION=ON $HOME/.jabba/bin/jabba $argv 3> $fd3
#    set exit_code $status
#    eval (cat $fd3 | sed "s/^export/set -xg/g" | sed "s/^unset/set -e/g" | tr '=' ' ' | sed "s/:/\" \"/g" | tr '\\n' ';')
#    rm -f $fd3
#    return $exit_code
#end

[ ! -z (echo (jabba alias default)) ]; and jabba use default

in bash rc
[ -s "/home/frank/.open-pwa/open-pwa.sh" ] && source "/home/frank/.open-pwa/open-pwa.sh"

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant