Mandrel adalah distribusi hilir dari edisi komunitas GraalVM. Tujuan utama Mandrel adalah menyediakan rilis native-image
khusus untuk mendukung Quarkus. Tujuannya adalah untuk menyelaraskan kemampuan native-image
dari GraalVM dengan pustaka OpenJDK dan Red Hat Enterprise Linux guna meningkatkan kemampuan pemeliharaan aplikasi Quarkus asli. Mandrel dapat digambarkan sebagai distribusi OpenJDK biasa dengan pembuat GraalVM Native Image yang dikemas khusus ( native-image
).
Rilis Mandrel dibuat dari basis kode yang berasal dari basis kode GraalVM hulu, dengan hanya sedikit perubahan tetapi beberapa pengecualian signifikan. Distribusi penuh GraalVM lebih dari sekadar native-image
: ia memiliki dukungan poliglot, kerangka kerja Truffle yang memungkinkan implementasi penerjemah yang efisien, ujung belakang kompiler LLVM untuk gambar asli, kompiler JIT libgraal sebagai pengganti kompiler server C2 Hotspot dan banyak lagi. Mandrel adalah bagian kecil dari fungsi yang kami dukung untuk kasus penggunaan native-image
.
native-image
Mandrel juga tidak menyertakan fitur berikut:
--experimental-build-server
.-H:CompilerBackend=llvm
.--libc=musl
.--static
.--language:
.Mandrel juga dibuat sedikit berbeda dengan GraalVM, menggunakan rilis proyek OpenJDK standar jdk17u. Artinya, mereka tidak mendapatkan keuntungan dari beberapa peningkatan kecil yang ditambahkan Oracle ke versi OpenJDK yang digunakan untuk membuat unduhan GraalVM mereka sendiri. Sebagian besar peningkatan ini terjadi pada modul JVMCI yang memungkinkan kompiler Graal dijalankan di dalam OpenJDK. Yang lainnya adalah perubahan kecil pada perilaku. Peningkatan ini dalam beberapa kasus mungkin menyebabkan perbedaan kecil dalam kemajuan pembuatan gambar asli. Mereka tidak boleh menyebabkan gambar yang dihasilkan dieksekusi dengan cara yang sangat berbeda.
#mandrel
di ruang kerja slack graalvmSilakan laporkan kerentanan keamanan sesuai dengan panduan Pelaporan Kerentanan.
Distribusi Mandrel dapat diunduh dari rilis repositori dan gambar kontainer tersedia di quay.io.
native-image
Mandrel bergantung pada paket berikut:
Di Fedora/CentOS/RHEL mereka dapat diinstal dengan:
dnf install glibc-devel zlib-devel gcc freetype-devel libstdc++-static
Catatan : Paket ini mungkin disebut glibc-static
atau libstdc++-devel
daripada libstdc++-static
tergantung pada sistem Anda. Jika sistem tidak memiliki stdc++, paket gcc-c++
juga diperlukan.
Pada sistem mirip Ubuntu dengan:
apt install g++ zlib1g-dev libfreetype6-dev
Untuk membangun Mandrel dari sumber, silakan lihat kemasan mandrel dan lihat Struktur Repositori di CONTRIBUTING.md mengenai cabang Mandrel mana yang akan digunakan.
Memberdayakan Pengembangan Perangkat Lunak dengan Inisiatif Works on Arm Works on Arm adalah inisiatif strategis untuk mengaktifkan dan mempercepat ekosistem perangkat lunak untuk Arm64.
Distribusi Mandrel GraalVM yang mendukung Quarkus Native dengan bangga menganggap dirinya sebagai salah satu perpustakaan dan alat yang berhasil memanfaatkan sumber daya dari Works on Arm.