Skip to content

OpenSSL build segfaults when building for Emscripten on Windows #1324

@Kurtaga

Description

@Kurtaga

I'm trying to build cesium-native for the web with Emscripten on Windows. I'm new to Emscripten and build stack, so I don't want to guess at the root cause. I'm posting the exact environment, steps, and failure.

Environment:

  • Windows 11,
  • emsdk 4.0.13,

Steps:

git clone --recurse-submodules https://github.com/CesiumGS/cesium-native.git
cd cesium-native
emcmake cmake -B build-web -S . -DCMAKE_BUILD_TYPE=Release

Tested with both Release and Debug, same result.

Log output:

-- EZVCPKG Building/Verifying package openssl using triplet wasm32-emscripten-cesium
CMake Error at cmake/ezvcpkg/ezvcpkg.cmake:83 (message):
  EZVCPKG failed with error 1
Call Stack (most recent call first):
  cmake/ezvcpkg/ezvcpkg.cmake:194 (EZVCPKG_CHECK_RESULTS)
  cmake/ezvcpkg/ezvcpkg.cmake:286 (EZVCPKG_BUILD)
  cmake/ezvcpkg/ezvcpkg.cmake:300 (EZVCPKG_FETCH_IMPL)
  CMakeLists.txt:174 (ezvcpkg_fetch)

...

CMake Error at scripts/cmake/vcpkg_execute_required_process.cmake:127 (message):
    Command failed: D:/.ezvcpkg/afc0a2e01ae104a2474216a2df0e8d78516fd5af/downloads/tools/msys2/7c55719f9ca5acf6/usr/bin/bash.exe --noprofile --norc --debug -c "V=1 ./../src/nssl-3.6.0-a2eab2a5bb.clean/vcpkg/configure  \"D:/.ezvcpkg/afc0a2e01ae104a2474216a2df0e8d78516fd5af/downloads/tools/msys2/f08f440edf60c8a9/usr/bin/perl.exe\" \"D:/.ezvcpkg/afc0a2e01ae104a2474216a2df0e8d78516fd5af/buildtrees/openssl/src/nssl-3.6.0-a2eab2a5bb.clean/Configure\" \"linux-x32\" \"enable-static-engine\" \"enable-capieng\" \"no-tests\" \"no-docs\" \"no-shared\" \"no-module\" \"no-apps\" \"no-engine\" \"no-asm\" \"no-sse2\" \"no-srtp\" \"--cross-compile-prefix=\" \"--openssldir=/etc/ssl\" \"--libdir=lib\" \"--disable-silent-rules\" \"--verbose\" \"--disable-shared\" \"--enable-static\" \"--debug\" \"--prefix=/D/.ezvcpkg/afc0a2e01ae104a2474216a2df0e8d78516fd5af/installed/wasm32-emscripten-cesium/debug\""
    Working Directory: D:/.ezvcpkg/afc0a2e01ae104a2474216a2df0e8d78516fd5af/buildtrees/openssl/wasm32-emscripten-cesium-dbg
    Error code: 139
    See logs for more information:
      D:\.ezvcpkg\afc0a2e01ae104a2474216a2df0e8d78516fd5af\buildtrees\openssl\config-wasm32-emscripten-cesium-dbg-out.log
      D:\.ezvcpkg\afc0a2e01ae104a2474216a2df0e8d78516fd5af\buildtrees\openssl\config-wasm32-emscripten-cesium-dbg-err.log

...

*** Content of log file: D:\.ezvcpkg\afc0a2e01ae104a2474216a2df0e8d78516fd5af\buildtrees\openssl\config-wasm32-emscripten-cesium-dbg-out.log:
Configuring OpenSSL version 3.6.0 for target linux-x32
Using os-specific seed configuration

*** Content of log file: D:\.ezvcpkg\afc0a2e01ae104a2474216a2df0e8d78516fd5af\buildtrees\openssl\config-wasm32-emscripten-cesium-dbg-err.log:
+ D:/.ezvcpkg/afc0a2e01ae104a2474216a2df0e8d78516fd5af/downloads/tools/msys2/f08f440edf60c8a9/usr/bin/perl.exe D:/.ezvcpkg/afc0a2e01ae104a2474216a2df0e8d78516fd5af/buildtrees/openssl/src/nssl-3.6.0-a2eab2a5bb.clean/Configure linux-x32 enable-static-engine enable-capieng no-tests no-docs no-shared no-module no-apps no-engine no-asm no-sse2 no-srtp --cross-compile-prefix= --openssldir=/etc/ssl --libdir=lib --debug --prefix=/D/.ezvcpkg/afc0a2e01ae104a2474216a2df0e8d78516fd5af/installed/wasm32-emscripten-cesium/debug
./../src/nssl-3.6.0-a2eab2a5bb.clean/vcpkg/configure: line 31:   449 Segmentation fault      "${INTERPRETER}" ${OUT_OPTIONS[@]}

CMake Error at cmake/ezvcpkg/ezvcpkg.cmake:102 (message):
Call Stack (most recent call first):
  cmake/ezvcpkg/ezvcpkg.cmake:194 (EZVCPKG_CHECK_RESULTS)
  cmake/ezvcpkg/ezvcpkg.cmake:286 (EZVCPKG_BUILD)
  cmake/ezvcpkg/ezvcpkg.cmake:300 (EZVCPKG_FETCH_IMPL)
  CMakeLists.txt:174 (ezvcpkg_fetch)


-- Configuring incomplete, errors occurred!
emcmake: error: 'cmake -B build-web -S . -DCMAKE_BUILD_TYPE=Release '-DCMAKE_TOOLCHAIN_FILE=D:\Tools\emsdk\upstream\emscripten\cmake\Modules\Platform\Emscripten.cmake' -DCMAKE_CROSSCOMPILING_EMULATOR=D:/Tools/emsdk/node/22.16.0_64bit/bin/node.exe -G Ninja' failed (returned 1)

I'd appreciate some guidance.

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