- Version: 6.9.2
- Platform: Alpine Linux
- Subsystem: Build
I'm trying to build the following Dockerfile, using docker 1.13 on a Mac. It's the 6.9.2 build from github.com/mhart/alpine-node, but I set CONFIG_FLAGS equal to --debug. You should be able to build it by saving the following as Dockerfile and then running docker build . on any platform supported by Docker.
# copied from mhart/alpine-node with --debug flag added to configure
FROM alpine:3.4
# ENV VERSION=v0.10.48 CFLAGS="-D__USE_MISC" NPM_VERSION=2
# ENV VERSION=v0.12.17 NPM_VERSION=2
# ENV VERSION=v4.6.2 NPM_VERSION=2
ENV VERSION=v6.9.2 NPM_VERSION=3
# ENV VERSION=v7.2.0 NPM_VERSION=3
# For base builds
# ENV CONFIG_FLAGS="--without-npm" RM_DIRS=/usr/include
# ENV CONFIG_FLAGS="--fully-static --without-npm" DEL_PKGS="libgcc libstdc++" RM_DIRS=/usr/include
ENV CONFIG_FLAGS="--debug"
RUN apk add --no-cache curl make gcc g++ python linux-headers paxctl libgcc libstdc++ gnupg && \
gpg --keyserver ha.pool.sks-keyservers.net --recv-keys \
9554F04D7259F04124DE6B476D5A82AC7E37093B \
94AE36675C464D64BAFA68DD7434390BDBE9B9C5 \
0034A06D9D9B0064CE8ADF6BF1747F4AD2306D93 \
FD3A5288F042B6850C66B31F09FE44734EB7990E \
71DCFD284A79C3B38668286BC97EC7A07EDE3FC1 \
DD8F2338BAE7501E3DD5AC78C273792F7D83545D \
C4F0DFFF4E8C1A8236409D08E73BC641CC11F4C8 \
B9AE9905FFD7803F25714661B63B535A4C206CA9 && \
curl -o node-${VERSION}.tar.gz -sSL https://nodejs.org/dist/${VERSION}/node-${VERSION}.tar.gz && \
curl -o SHASUMS256.txt.asc -sSL https://nodejs.org/dist/${VERSION}/SHASUMS256.txt.asc && \
gpg --verify SHASUMS256.txt.asc && \
grep node-${VERSION}.tar.gz SHASUMS256.txt.asc | sha256sum -c - && \
tar -zxf node-${VERSION}.tar.gz && \
cd node-${VERSION} && \
export GYP_DEFINES="linux_use_gold_flags=0" && \
./configure --prefix=/usr ${CONFIG_FLAGS} && \
NPROC=$(grep -c ^processor /proc/cpuinfo 2>/dev/null || 1) && \
make -j${NPROC} -C out mksnapshot BUILDTYPE=Release && \
paxctl -cm out/Release/mksnapshot && \
make -j${NPROC} && \
make install && \
paxctl -cm /usr/bin/node && \
cd / && \
if [ -x /usr/bin/npm ]; then \
npm install -g npm@${NPM_VERSION} && \
find /usr/lib/node_modules/npm -name test -o -name .bin -type d | xargs rm -rf; \
fi && \
apk del curl make gcc g++ python linux-headers paxctl gnupg ${DEL_PKGS} && \
rm -rf /etc/ssl /node-${VERSION}.tar.gz /SHASUMS256.txt.asc /node-${VERSION} ${RM_DIRS} \
/usr/share/man /tmp/* /var/cache/apk/* /root/.npm /root/.node-gyp /root/.gnupg \
/usr/lib/node_modules/npm/man /usr/lib/node_modules/npm/doc /usr/lib/node_modules/npm/html
This fails with the following error - I've just pasted the end of the build output.
LD_LIBRARY_PATH=/node-v6.9.2/out/Debug/lib.host:/node-v6.9.2/out/Debug/lib.target:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; cd ../tools/icu; mkdir -p /node-v6.9.2/out/Debug/obj/gen/icutmp; python icutrim.py -P "/node-v6.9.2/out/Debug" -D ../../deps/icu-small/source/data/in/icudt57l.dat --delete-tmp -T "/node-v6.9.2/out/Debug/obj/gen/icutmp" -F icu_small.json -O icudt57l.dat -v -L en,root
Options: {'verbose': 1, 'filterfile': 'icu_small.json', 'toolpath': '/node-v6.9.2/out/Debug', 'deltmpdir': 1, 'outfile': 'icudt57l.dat', 'datfile': '../../deps/icu-small/source/data/in/icudt57l.dat', 'locales': 'en,root', 'endian': 'little', 'tmpdir': '/node-v6.9.2/out/Debug/obj/gen/icutmp'}
/node-v6.9.2/out/Debug/obj/gen/icutmp/lang/res_index.txt:7: warning: Encountered empty table
en
en
/node-v6.9.2/out/Debug/obj/gen/icutmp/rbnf/res_index.txt:7: warning: Encountered empty table
/node-v6.9.2/out/Debug/obj/gen/icutmp/brkitr/res_index.txt:7: warning: Encountered empty table
en
/node-v6.9.2/out/Debug/obj/gen/icutmp/region/res_index.txt:7: warning: Encountered empty table
en
/node-v6.9.2/out/Debug/obj/gen/icutmp/unit/res_index.txt:7: warning: Encountered empty table
icu_small.json: icutrim.py config: Trim down ICU to just a certain locale set, needed for node.js use.
* converters: 0 items
* stringprep: 0 items
* translit: 0 items
* brkfiles: 0 items
* brkdict: 0 items
* confusables: 0 items
* brkitr: 0 items
* coll: 1 items
* curr: 1 items
* lang: 0 items
* rbnf: 0 items
* region: 0 items
* ROOT: 1 items
* unit: 0 items
* zone: 1 items
LD_LIBRARY_PATH=/node-v6.9.2/out/Debug/lib.host:/node-v6.9.2/out/Debug/lib.target:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; cd ../tools/icu; mkdir -p /node-v6.9.2/out/Debug/obj/gen/icutmp; cp "/node-v6.9.2/out/Debug/obj/gen/icutmp/icudt57l.dat" "/node-v6.9.2/out/Debug/obj/gen/icutmp/icusmdt57.dat"
LD_LIBRARY_PATH=/node-v6.9.2/out/Debug/lib.host:/node-v6.9.2/out/Debug/lib.target:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; cd ../tools/icu; mkdir -p /node-v6.9.2/out/Debug/obj/gen; "/node-v6.9.2/out/Debug/genccode" -d "/node-v6.9.2/out/Debug/obj/gen" "/node-v6.9.2/out/Debug/obj/gen/icutmp/icusmdt57.dat"
generating C code for /node-v6.9.2/out/Debug/obj/gen/icutmp/icusmdt57.dat
cc '-DU_ATTRIBUTE_DEPRECATED=' '-D_CRT_SECURE_NO_DEPRECATE=' '-DU_STATIC_IMPLEMENTATION=1' '-DUCONFIG_NO_TRANSLITERATION=1' '-DUCONFIG_NO_SERVICE=1' '-DUCONFIG_NO_REGULAR_EXPRESSIONS=1' '-DU_ENABLE_DYLOAD=0' '-DU_HAVE_STD_STRING=0' '-DUCONFIG_NO_BREAK_ITERATION=0' '-DUCONFIG_NO_LEGACY_CONVERSION=1' '-DDEBUG' '-D_DEBUG' -I../deps/icu-small/source/common -pthread -Wall -Wextra -Wno-unused-parameter -m64 -Wno-deprecated-declarations -g -O0 -MMD -MF /node-v6.9.2/out/Debug/.deps//node-v6.9.2/out/Debug/obj.target/icudata/gen/icusmdt57_dat.o.d.raw -c -o /node-v6.9.2/out/Debug/obj.target/icudata/gen/icusmdt57_dat.o /node-v6.9.2/out/Debug/obj/gen/icusmdt57_dat.c
rm -f /node-v6.9.2/out/Debug/obj.target/tools/icu/libicudata.a && ar crsT /node-v6.9.2/out/Debug/obj.target/tools/icu/libicudata.a /node-v6.9.2/out/Debug/obj.target/icudata/gen/icusmdt57_dat.o
touch /node-v6.9.2/out/Debug/obj.target/tools/icu/icuuc.stamp
g++ '-DV8_TARGET_ARCH_X64' '-DENABLE_DISASSEMBLER' '-DV8_I18N_SUPPORT' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-DICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_STATIC' '-DUCONFIG_NO_TRANSLITERATION=1' '-DUCONFIG_NO_SERVICE=1' '-DUCONFIG_NO_REGULAR_EXPRESSIONS=1' '-DU_ENABLE_DYLOAD=0' '-DU_STATIC_IMPLEMENTATION=1' '-DU_HAVE_STD_STRING=0' '-DUCONFIG_NO_BREAK_ITERATION=0' '-DUCONFIG_NO_LEGACY_CONVERSION=1' '-DUCONFIG_NO_CONVERSION=1' '-DV8_ENABLE_CHECKS' '-DOBJECT_PRINT' '-DVERIFY_HEAP' '-DDEBUG' '-DTRACE_MAPS' '-D_GLIBCXX_DEBUG=1' '-DENABLE_HANDLE_ZAPPING' '-DENABLE_SLOW_DCHECKS' '-D_DEBUG' -I../deps/v8 -I../deps -I../deps/icu-small/source/i18n -I../deps/icu-small/source/common -pthread -Wall -Wextra -Wno-unused-parameter -m64 -fno-strict-aliasing -m64 -Woverloaded-virtual -fdata-sections -ffunction-sections -g -O0 -fno-rtti -fno-exceptions -std=gnu++0x -MMD -MF /node-v6.9.2/out/Debug/.deps//node-v6.9.2/out/Debug/obj.target/v8_base/deps/v8/src/accessors.o.d.raw -c -o /node-v6.9.2/out/Debug/obj.target/v8_base/deps/v8/src/accessors.o ../deps/v8/src/accessors.cc
g++ '-DV8_TARGET_ARCH_X64' '-DENABLE_DISASSEMBLER' '-DV8_I18N_SUPPORT' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-DICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_STATIC' '-DUCONFIG_NO_TRANSLITERATION=1' '-DUCONFIG_NO_SERVICE=1' '-DUCONFIG_NO_REGULAR_EXPRESSIONS=1' '-DU_ENABLE_DYLOAD=0' '-DU_STATIC_IMPLEMENTATION=1' '-DU_HAVE_STD_STRING=0' '-DUCONFIG_NO_BREAK_ITERATION=0' '-DUCONFIG_NO_LEGACY_CONVERSION=1' '-DUCONFIG_NO_CONVERSION=1' '-DV8_ENABLE_CHECKS' '-DOBJECT_PRINT' '-DVERIFY_HEAP' '-DDEBUG' '-DTRACE_MAPS' '-D_GLIBCXX_DEBUG=1' '-DENABLE_HANDLE_ZAPPING' '-DENABLE_SLOW_DCHECKS' '-D_DEBUG' -I../deps/v8 -I../deps -I../deps/icu-small/source/i18n -I../deps/icu-small/source/common -pthread -Wall -Wextra -Wno-unused-parameter -m64 -fno-strict-aliasing -m64 -Woverloaded-virtual -fdata-sections -ffunction-sections -g -O0 -fno-rtti -fno-exceptions -std=gnu++0x -MMD -MF /node-v6.9.2/out/Debug/.deps//node-v6.9.2/out/Debug/obj.target/v8_base/deps/v8/src/address-map.o.d.raw -c -o /node-v6.9.2/out/Debug/obj.target/v8_base/deps/v8/src/address-map.o ../deps/v8/src/address-map.cc
In file included from ../deps/v8/include/v8.h:25:0,
from ../deps/v8/src/accessors.h:8,
from ../deps/v8/src/accessors.cc:5:
../deps/v8/src/lookup.h: In member function 'v8::internal::Handle<v8::internal::JSObject> v8::internal::LookupIterator::GetStoreTarget() const':
../deps/v8/src/lookup.h:182:12: error: 'receiver' was not declared in this scope
DCHECK(receiver->IsJSObject());
^
../deps/v8/include/v8config.h:361:54: note: in definition of macro 'V8_UNLIKELY'
# define V8_UNLIKELY(condition) (__builtin_expect(!!(condition), 0))
^
../deps/v8/src/base/logging.h:156:32: note: in expansion of macro 'CHECK'
#define DCHECK(condition) CHECK(condition)
^
../deps/v8/src/lookup.h:182:5: note: in expansion of macro 'DCHECK'
DCHECK(receiver->IsJSObject());
^
In file included from ../deps/v8/src/base/build_config.h:8:0,
from ../deps/v8/src/base/macros.h:13,
from ../deps/v8/src/assert-scope.h:9,
from ../deps/v8/src/address-map.h:8,
from ../deps/v8/src/address-map.cc:5:
../deps/v8/src/lookup.h: In member function 'v8::internal::Handle<v8::internal::JSObject> v8::internal::LookupIterator::GetStoreTarget() const':
../deps/v8/src/lookup.h:182:12: error: 'receiver' was not declared in this scope
DCHECK(receiver->IsJSObject());
^
../deps/v8/include/v8config.h:361:54: note: in definition of macro 'V8_UNLIKELY'
# define V8_UNLIKELY(condition) (__builtin_expect(!!(condition), 0))
^
../deps/v8/src/base/logging.h:156:32: note: in expansion of macro 'CHECK'
#define DCHECK(condition) CHECK(condition)
^
../deps/v8/src/lookup.h:182:5: note: in expansion of macro 'DCHECK'
DCHECK(receiver->IsJSObject());
^
deps/v8/tools/gyp/v8_base.target.mk:502: recipe for target '/node-v6.9.2/out/Debug/obj.target/v8_base/deps/v8/src/address-map.o' failed
make[1]: *** [/node-v6.9.2/out/Debug/obj.target/v8_base/deps/v8/src/address-map.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make[1]: *** [/node-v6.9.2/out/Debug/obj.target/v8_base/deps/v8/src/accessors.o] Error 1
make: *** [node_g] Error 2
deps/v8/tools/gyp/v8_base.target.mk:502: recipe for target '/node-v6.9.2/out/Debug/obj.target/v8_base/deps/v8/src/accessors.o' failed
make[1]: Leaving directory '/node-v6.9.2/out'
Makefile:72: recipe for target 'node_g' failed
The command '/bin/sh -c apk add --no-cache curl make gcc g++ python linux-headers paxctl libgcc libstdc++ gnupg && gpg --keyserver ha.pool.sks-keyservers.net --recv-keys 9554F04D7259F04124DE6B476D5A82AC7E37093B 94AE36675C464D64BAFA68DD7434390BDBE9B9C5 0034A06D9D9B0064CE8ADF6BF1747F4AD2306D93 FD3A5288F042B6850C66B31F09FE44734EB7990E 71DCFD284A79C3B38668286BC97EC7A07EDE3FC1 DD8F2338BAE7501E3DD5AC78C273792F7D83545D C4F0DFFF4E8C1A8236409D08E73BC641CC11F4C8 B9AE9905FFD7803F25714661B63B535A4C206CA9 && curl -o node-${VERSION}.tar.gz -sSL https://nodejs.org/dist/${VERSION}/node-${VERSION}.tar.gz && curl -o SHASUMS256.txt.asc -sSL https://nodejs.org/dist/${VERSION}/SHASUMS256.txt.asc && gpg --verify SHASUMS256.txt.asc && grep node-${VERSION}.tar.gz SHASUMS256.txt.asc | sha256sum -c - && tar -zxf node-${VERSION}.tar.gz && cd node-${VERSION} && export GYP_DEFINES="linux_use_gold_flags=0" && ./configure --prefix=/usr ${CONFIG_FLAGS} && NPROC=$(grep -c ^processor /proc/cpuinfo 2>/dev/null || 1) && make -j${NPROC} -C out mksnapshot BUILDTYPE=Release && paxctl -cm out/Release/mksnapshot && make -j${NPROC} && make install && paxctl -cm /usr/bin/node && cd / && if [ -x /usr/bin/npm ]; then npm install -g npm@${NPM_VERSION} && find /usr/lib/node_modules/npm -name test -o -name .bin -type d | xargs rm -rf; fi && apk del curl make gcc g++ python linux-headers paxctl gnupg ${DEL_PKGS} && rm -rf /etc/ssl /node-${VERSION}.tar.gz /SHASUMS256.txt.asc /node-${VERSION} ${RM_DIRS} /usr/share/man /tmp/* /var/cache/apk/* /root/.npm /root/.node-gyp /root/.gnupg /usr/lib/node_modules/npm/man /usr/lib/node_modules/npm/doc /usr/lib/node_modules/npm/html' returned a non-zero code: 2
Any idea why it is failing or what I can do to make it work?
I'm trying to build the following Dockerfile, using docker 1.13 on a Mac. It's the 6.9.2 build from github.com/mhart/alpine-node, but I set
CONFIG_FLAGSequal to--debug. You should be able to build it by saving the following asDockerfileand then runningdocker build .on any platform supported by Docker.This fails with the following error - I've just pasted the end of the build output.
Any idea why it is failing or what I can do to make it work?