Skip to content

callMain not exported #27386

Description

@r0ller

Hi All,

When trying to run clang in the browser by Module.callMain() after having compiled llvm-15 (the same what my emscripten version is based on) with emscripten itself, I get a runtime error saying "Uncaught ReferenceError: callMain is not defined". However, as you can see in the build command, I do list it in EXPORTED_RUNTIME_METHODS.
How shall it be exported?

Thanks for any hints in advance!

BR,
r0ller

Version of emscripten/emsdk:
3.1.6 - stock package from Ubuntu 24.04 LTS

Command line in full:

llvm-project$ export CXXFLAGS="-Dwait4=__syscall_wait4"
llvm-project$ export LDFLAGS="-s ALLOW_MEMORY_GROWTH=1 -s EXPORTED_RUNTIME_METHODS=\"['callMain','FS']\" -s ERROR_ON_UNDEFINED_SYMBOLS=0"
llvm-project$ emcmake cmake -G Ninja -S ./llvm/ -B ./build -DLLVM_ENABLE_LIBCXX=OFF -DCMAKE_BUILD_TYPE=Release -DLLVM_TARGETS_TO_BUILD=WebAssembly -DLLVM_ENABLE_PROJECTS="clang;lld" -DLLVM_ENABLE_DUMP=OFF -DLLVM_ENABLE_ASSERTIONS=OFF -DLLVM_ENABLE_EXPENSIVE_CHECKS=OFF -DLLVM_ENABLE_BACKTRACES=OFF -DLLVM_BUILD_TOOLS=OFF -DCLANG_BUILD_TOOLS=OFF -DLLVM_ENABLE_THREADS=OFF -DLLVM_BUILD_LLVM_DYLIB=OFF -DLLVM_INCLUDE_TESTS=OFF -DLLVM_BUILD_TESTS=OFF -DLLVM_INCLUDE_EXAMPLES=OFF -DLLVM_INCLUDE_BENCHMARKS=OFF -DLLVM_TABLEGEN=/usr/bin/llvm-tblgen-15 -DCLANG_TABLEGEN=native/bin/clang-tblgen
llvm-project$ cd build
llvm-project$ ninja clang lld

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions