Skip to content

node:16-alpine with aws-lambda-ric docker build fails #90

@expertneo

Description

@expertneo

Dear Experts,

I would like to draw your attention to (or seek for help about) an issue we are having right now:
Having "RUN npm i aws-lambda-ric" latest or anything down to 1.1.0 in Dockerfile would give the error below.

ARG FUNCTION_DIR="/app"

#*****************************************************************************
#  Builder Stage
#****************************************************************************/
FROM node:16-alpine3.18 AS base

# Include global arg in this stage of the build
ARG FUNCTION_DIR

# The working directory is where "npm install" created the node_modules folder.
WORKDIR ${FUNCTION_DIR}

# Install aws-lambda-cpp build dependencies. aws-lambda-cpp is used by aws-lambda-ric which is a
# node-gyp compiled dependency. Find it in package.json.
# See the Node.js example at https://github.com/aws/aws-lambda-nodejs-runtime-interface-client
RUN apk update && apk add --no-cache \
    build-base \
    libtool \
    autoconf \
    automake \
    make \
    cmake \
    libcurl \
    elfutils-dev \
    python3

# Copy dependencies
COPY package*.json ./

# Install Node.js dependencies
RUN npm ci

# Install the AWS Lambda Runtime Interface Client (RIC) that is only required within this Docker container (not in package.json on development machine).
# It helps AWS to run the Lambda function code that autoiXpert provides.
RUN npm install aws-lambda-ric

COPY src/main ./

#*****************************************************************************
#  Production Stage
#****************************************************************************/
FROM node:16-alpine3.18

# Include global arg in this stage of the build
ARG FUNCTION_DIR

# The working directory is where "npm install" created the node_modules folder.
WORKDIR ${FUNCTION_DIR}

# Update packages causing vulnerability
RUN apk update && apk upgrade --no-cache libcrypto3 libssl3

COPY --from=base app/dist ${LAMBDA_TASK_ROOT}

ENTRYPOINT ["/usr/local/bin/npx", "aws-lambda-ric"]
CMD [ "app.lambdaHandler" ]
 => [base 10/13] RUN npm ci                                                                                                                                                          318.1s
 => ERROR [base 11/13] RUN npm install aws-lambda-ric                                                                                                                                 91.8s
------
 > [base 11/13] RUN npm install aws-lambda-ric:
#16 91.71 npm ERR! code 1
#16 91.71 npm ERR! path /app/node_modules/aws-lambda-ric
#16 91.71 npm ERR! command failed
#16 91.71 npm ERR! command sh -c -- ./scripts/preinstall.sh
#16 91.71 npm ERR! libtoolize: putting auxiliary files in '.'.
#16 91.71 npm ERR! libtoolize: copying file './ltmain.sh'
#16 91.71 npm ERR! libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'.
#16 91.71 npm ERR! libtoolize: copying file 'm4/libtool.m4'
#16 91.71 npm ERR! libtoolize: copying file 'm4/ltoptions.m4'
#16 91.71 npm ERR! libtoolize: copying file 'm4/ltsugar.m4'
#16 91.71 npm ERR! libtoolize: copying file 'm4/ltversion.m4'
#16 91.71 npm ERR! libtoolize: copying file 'm4/lt~obsolete.m4'
#16 91.72 npm ERR! libtoolize: Remember to add 'LT_INIT' to configure.ac.
#16 91.72 npm ERR! checking whether to enable maintainer-specific portions of Makefiles... no
#16 91.72 npm ERR! checking whether make supports nested variables... yes
#16 91.72 npm ERR! checking whether to enable debug build options... no
.
.
.
.
.
#16 91.81 npm ERR! parallel-tests: installing './test-driver'
#16 91.81 npm ERR! configure: WARNING: zlib disabled
#16 91.81 npm ERR! configure: WARNING: SSL disabled, you will not be able to use HTTPS, FTPS, NTLM and more.
#16 91.81 npm ERR! configure: WARNING: Use --with-openssl, --with-gnutls, --with-wolfssl, --with-mbedtls, --with-nss, --with-schannel, --with-secure-transport, --with-amissl, --with-bearssl or --with-rustls to address this.
#16 91.81 npm ERR! configure: WARNING: libgsasl was not found
#16 91.81 npm ERR! configure: WARNING: disabling built-in manual
#16 91.81 npm ERR! CMake Error at /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:230 (message):
#16 91.81 npm ERR!   Could NOT find Backtrace (missing: Backtrace_LIBRARY Backtrace_INCLUDE_DIR)
#16 91.81 npm ERR! Call Stack (most recent call first):
#16 91.81 npm ERR!   /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:600 (_FPHSA_FAILURE_MESSAGE)
#16 91.81 npm ERR!   /usr/share/cmake/Modules/FindBacktrace.cmake:90 (find_package_handle_standard_args)
#16 91.81 npm ERR!   CMakeLists.txt:44 (find_package)
#16 91.81
#16 91.81 npm ERR! A complete log of this run can be found in:
#16 91.81 npm ERR!     /root/.npm/_logs/2023-11-23T16_18_49_501Z-debug-0.log
------
executor failed running [/bin/sh -c npm install aws-lambda-ric]: exit code: 1

Any help would be appreciated.

Thanks and regards,
Ben

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions