Inhaltsverzeichnis
1.3 Emscripten SDK
Emscripten ist ein Compiler, der C/C++ zu WebAssembly (WASM) kompiliert.
Was ist Emscripten?
Emscripten übersetzt:
- C/C++ Code → WebAssembly
- System-APIs → JavaScript-Equivalente
- OpenGL → WebGL
Wofür brauchen wir Emscripten?
Für den WASM-Build von OpenSSL, der in Blazor WebAssembly läuft.
Voraussetzungen
- ☑ Git verfügbar
Installation in WSL
Schritt 1: WSL öffnen
wsl
Schritt 2: Emscripten SDK klonen
# In das opt-Verzeichnis (systemweit) cd /opt # Als root klonen sudo git clone https://github.com/emscripten-core/emsdk.git sudo chown -R $USER:$USER /opt/emsdk
Oder im Home-Verzeichnis (nur für Ihren Benutzer):
git clone https://github.com/emscripten-core/emsdk.git ~/emsdk cd ~/emsdk
Schritt 3: Neueste Version installieren
cd /opt/emsdk # oder ~/emsdk # Neueste stabile Version installieren ./emsdk install latest # Aktivieren ./emsdk activate latest
Schritt 4: Environment-Variablen setzen
Temporär (nur diese Session):
source /opt/emsdk/emsdk_env.sh
Permanent (in .bashrc):
echo 'source /opt/emsdk/emsdk_env.sh' >> ~/.bashrc
Prüfung
# Emscripten Compiler emcc --version
Erwartete Ausgabe:
emcc (Emscripten gcc/clang-like replacement) 3.1.xx
# Weitere Tools emar --version emranlib --version
Schnelltest
Erstellen Sie eine Test-Datei:
cat > hello.c << 'EOF' #include <stdio.h> int main() { printf("Hello from WebAssembly!\n"); return 0; } EOF
Kompilieren zu WASM:
emcc hello.c -o hello.js # Ausführen mit Node.js node hello.js # Ausgabe: Hello from WebAssembly!
Für den OpenSSL Build
Beim WASM-Build von OpenSSL werden diese Emscripten-Tools verwendet:
| Tool | Verwendung |
| —— | ———— |
emcc | C-Compiler (ersetzt gcc) |
emar | Archiver (ersetzt ar) |
emranlib | Ranlib (ersetzt ranlib) |
emconfigure | Wrapper für ./Configure |
emmake | Wrapper für make |
Beispiel:
# Statt: ./Configure linux-x86_64 make # Mit Emscripten: emconfigure ./Configure linux-generic32 emmake make
Version aktualisieren
cd /opt/emsdk # oder ~/emsdk # Updates holen git pull # Neueste Version installieren ./emsdk install latest ./emsdk activate latest # Environment neu laden source ./emsdk_env.sh
Häufige Probleme
"emcc: command not found"
Environment nicht geladen:
source /opt/emsdk/emsdk_env.sh
"Python not found"
Emscripten braucht Python 3:
# Ubuntu sudo apt install python3 # Fedora sudo dnf install python3
Alte Version aktiviert
# Aktive Version prüfen emcc --version # Falls veraltet, neu aktivieren cd /opt/emsdk ./emsdk activate latest source ./emsdk_env.sh
Weiter zu
Wolfgang van der Stille @ EMSR DATA d.o.o. - Post-Quantum Cryptography Professional
Zuletzt geändert: den 29.01.2026 um 15:14