Skip to content

Resolve OpenSSL Configuration Issue on Windows for ScyllaDB Node.js Driver #20

@Daniel-Boll

Description

@Daniel-Boll

While working on the ScyllaDB Node.js driver written in Rust, I encountered a build issue on Windows platform related to OpenSSL configuration during the build process. The problem arose when executing cargo build --release. Below is the relevant information about the platform and error log:

Platform Information:

napi:build Platform: {
  "platform": "win32",
  "arch": "x64",
  "abi": "msvc",
  "platformArchABI": "win32-x64-msvc",
  "raw": "x86_64-pc-windows-msvc"
}
napi:build Dylib name: scylladb_driver

Error Log:

error: failed to run custom build command for `openssl-sys v0.9.93`

Caused by:
  process didn't exit successfully: `D:\a\scylla-javascript-driver\scylla-javascript-driver\target\release\build\openssl-sys-3852be1711edf4c9\build-script-main` (exit code: 101)
  --- stdout
  cargo:rerun-if-env-changed=X86_64_PC_WINDOWS_MSVC_OPENSSL_NO_VENDOR
  X86_64_PC_WINDOWS_MSVC_OPENSSL_NO_VENDOR unset
  cargo:rerun-if-env-changed=OPENSSL_NO_VENDOR
  OPENSSL_NO_VENDOR unset
  running "perl" "./Configure" "--prefix=D:\\a\\scylla-javascript-driver\\scylla-javascript-driver\\target\\release\\build\\openssl-sys-debfca1904808b02\\out\\openssl-build\\install" "--openssldir=SYS$MANAGER:[OPENSSL]" "no-dso" "no-shared" "no-ssl3" "no-tests" "no-comp" "no-zlib" "no-zlib-dynamic" "--libdir=lib" "no-md2" "no-rc5" "no-weak-ssl-ciphers" "no-camellia" "no-idea" "no-seed" "no-capieng" "no-asm" "VC-WIN64A"

  --- stderr
  Can't locate Locale/Maketext/Simple.pm in @INC (you may need to install the Locale::Maketext::Simple module) (@INC contains: /d/a/scylla-javascript-driver/scylla-javascript-driver/target/release/build/openssl-sys-debfca1904808b02/out/openssl-build/build/src/util/perl /usr/lib/perl5/site_perl /usr/share/perl5/site_perl /usr/lib/perl5/vendor_perl /usr/share/perl5/vendor_perl /usr/lib/perl5/core_perl /usr/share/perl5/core_perl /d/a/scylla-javascript-driver/scylla-javascript-driver/target/release/build/openssl-sys-debfca1904808b02/out/openssl-build/build/src/external/perl/Text-Template-1.56/lib) at /usr/share/perl5/core_perl/Params/Check.pm line 6.
  BEGIN failed--compilation aborted at /usr/share/perl5/core_perl/Params/Check.pm line 6.
  Compilation failed in require at /usr/share/perl5/core_perl/IPC/Cmd.pm line 59.
  BEGIN failed--compilation aborted at /usr/share/perl5/core_perl/IPC/Cmd.pm line 59.
  Compilation failed in require at /d/a/scylla-javascript-driver/scylla-javascript-driver/target/release/build/openssl-sys-debfca1904808b02/out/openssl-build/build/src/util/perl/OpenSSL/config.pm line 19.
  BEGIN failed--compilation aborted at /d/a/scylla-javascript-driver/scylla-javascript-driver/target/release/build/openssl-sys-debfca1904808b02/out/openssl-build/build/src/util/perl/OpenSSL/config.pm line 19.
  Compilation failed in require at ./Configure line 23.
  BEGIN failed--compilation aborted at ./Configure line 23.
  thread 'main' panicked at C:\Users\runneradmin\.cargo\registry\src\index.crates.io-6f17d22bba15001f\openssl-src-300.1.5+3.1.3\src\lib.rs:577:9:

  Error configuring OpenSSL build:
      Command: "perl" "./Configure" "--prefix=D:\\a\\scylla-javascript-driver\\scylla-javascript-driver\\target\\release\\build\\openssl-sys-debfca1904808b02\\out\\openssl-build\\install" "--openssldir=SYS$MANAGER:[OPENSSL]" "no-dso" "no-shared" "no-ssl3" "no-tests" "no-comp" "no-zlib" "no-zlib-dynamic" "--libdir=lib" "no-md2" "no-rc5" "no-weak-ssl-ciphers" "no-camellia" "no-idea" "no-seed" "no-capieng" "no-asm" "VC-WIN64A"
      Exit status: exit code: 2

This error seems to originate from a Perl script being unable to find certain Perl modules while trying to configure OpenSSL. The error prevents the successful compilation and build of the ScyllaDB Node.js driver on Windows platform. It's crucial to resolve this issue to ensure Windows support for the driver.

This issue is open for further investigation and contributions to resolve the problem and re-establish Windows support for the ScyllaDB Node.js driver.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions