Skip to content

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

Open
@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

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions