Repository navigation
node:16-alpine with aws-lambda-ric docker build fails #90
Copy link
Copy link
Open
Description
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
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
No labels
Activity
stravito-christian commentedon Nov 28, 2023
The workaround mentioned in #68 (comment) worked for me.
roshitho commentedon Dec 22, 2023
I tried the same but it gave me multiple errors (mainly something like below)
Dockerfile builder stage for me looks like below:
1xtr commentedon Jan 19, 2024
I have same issue with
Could NOT find Backtrace (missing: Backtrace_LIBRARY Backtrace_INCLUDE_DIR)mjperrone commentedon Feb 28, 2024
This is affecting me as well, and the linked workaround is not working for me.. @andclt @briensea is this something you can help with or pull in the right parties?
Alpine is explicitly called out as being supported.
ctrmmb commentedon Apr 4, 2024
Issue is affecting me as well.
It seems libbacktrace has been made optional from aws-lambda-cpp 0.2.9 to solve this exact issue.
patricktree commentedon Aug 27, 2025
FYI I posted a workaround here which helped for us @hokify
patricktree commentedon Jun 1, 2026
FYI the latest version (4.0.2) still suffers from this issue.
The workaround (aws/aws-lambda-python-runtime-interface-client#128 (comment)) still solves the issue.
I also found a simpler solution: apply a patch on the package (e.g. via pnpm patch):