Skip to content

Linux ARM64 Docker image missing Perl Time::Piece module for OpenSSL builds #304

@arghaffari

Description

@arghaffari

Problem

When building Rust extensions with vendored OpenSSL (using openssl-sys with vendored feature), the Linux ARM64 Docker build fails with:

Can't locate Time/Piece.pm in @INC (you may need to install the Time::Piece module)

Context

The openssl-src crate needs Perl's Time::Piece module to compile OpenSSL from source. This module is missing in the ARM64 Docker image.

Affected Workflow

  • _extension_distribution.yml
  • Platform: linux_arm64
  • Docker image used for ARM64 builds

Suggested Fix

Add the Perl Time::Piece module to the Docker image:

# For Alpine
RUN apk add perl-time-piece

# For Debian/Ubuntu
RUN apt-get install -y libtime-piece-perl

# Or install all common Perl modules
RUN apt-get install -y perl-modules

Example Failure

https://github.com/Angelerator/Sazgar/actions/runs/20718901555

Workaround

Currently, Rust extensions that need TLS must make it an optional feature, which means users who install from community extensions don't get TLS support.

Thank you!

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