Komputrobotika

Belajar Programming, AI & Teknologi Masa Depan

Instalasi Kernel C++17 di JupyterHub Menggunakan xeus-cling dan mamba

Jupyter

Ditulis oleh Reza Ervani pada 21 June 2025 05:19


Artikel ini menjelaskan langkah-langkah lengkap dan berhasil diverifikasi untuk menambahkan kernel C++17 ke dalam JupyterHub berbasis Docker/LXC menggunakan xeus-cling yang diinstal lewat mamba.


Langkah Instalasi

1. Instalasi Miniforge (Mamba)

wget https://github.com/conda-forge/miniforge/releases/latest/download/Miniforge3-Linux-x86_64.sh
bash Miniforge3-Linux-x86_64.sh

Jawab yes saat diminta menambahkan ke .bashrc, lalu jalankan ulang shell:

exec bash

2. Membuat Environment C++ Kernel

mamba create -n cpp_kernel -c conda-forge xeus-cling -y

3. Registrasi Kernel ke Jupyter

for V in 17 14 11; do
  jupyter kernelspec install --sys-prefix /root/miniforge3/envs/cpp_kernel/share/jupyter/kernels/xcpp${V}
done

4. Perbaiki Izin Akses agar Bisa Dijalankan oleh User Jupyter

chmod o+x /root
chmod -R o+rx /root/miniforge3

5. Uji Jalankan Kernel dari User Non-root

sudo -u labreza /root/miniforge3/bin/mamba run -n cpp_kernel xcpp --version

Jika berhasil, lanjut ke konfigurasi kernel.


6. Edit kernel.json untuk Gunakan mamba run

nano /srv/jupyterhub/venv/share/jupyter/kernels/xcpp17/kernel.json

Isi dengan:

{
  "display_name": "C++17",
  "language": "c++",
  "argv": [
    "/root/miniforge3/bin/mamba",
    "run", "-n", "cpp_kernel",
    "xcpp", "-std=c++17",
    "-f", "{connection_file}"
  ]
}

Lalu pastikan permission-nya terbuka:

chmod a+r /srv/jupyterhub/venv/share/jupyter/kernels/xcpp17/kernel.json

7. Restart JupyterHub

docker restart jhub

8. Uji Kernel C++17 di JupyterHub

Klik "New → C++17", lalu jalankan:

#include 
std::cout << "C++17 kernel aktif 🎉" << std::endl;

Resume Kendala dan Solusinya

Kendala Solusi
Kernel C++ tidak muncul di Jupyter Gunakan jupyter kernelspec install --sys-prefix untuk tiap kernel
Kernel muncul tapi tidak bisa dijalankan (status: Connecting) Edit kernel.json agar pakai mamba run -n cpp_kernel xcpp
Error Permission denied saat user biasa jalankan mamba Beri akses via: chmod o+x /root dan chmod -R o+rx /root/miniforge3
Error libxeus-cling.so.0 not found saat jalankan xcpp Gunakan mamba run agar dependency .so di-load dari environment
jupyter kernelspec install gagal karena symbolic link Hapus link lama pakai rm, lalu install ulang
Kernel tidak bisa jalan karena xcpp tidak bisa diakses dari venv Buat kernel pakai mamba run → hindari link langsung ke xcpp
Muncul C++11 dan C++14, padahal hanya ingin C++17 Hapus kernel lainnya dari folder: /srv/jupyterhub/venv/share/jupyter/kernels/

Penutup

Semoga bermanfaat!

🚀 Happy hacking with C++17 in Jupyter!

← Kembali
Iklan
iklan1
Tautan Terkait