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


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