I am trying to build docker container with following in Dockerfile
FROM python:3.5-slim
WORKDIR /opt
COPY requirements.txt /opt/requirements.txt
RUN pip install -r /opt/requirements.txt
and requirements.txt
TurboGears2==2.3.10
Kajiki==0.6.3
tgext.webassets==0.0.2
dukpy==0.1.0
when building I get the below error:
successfully built TurboGears2 Kajiki tgext.webassets crank repoze.lru MarkupSafe webassets cssmin
Failed to build dukpy
Installing collected packages: WebOb, crank, repoze.lru, MarkupSafe, TurboGears2, nine, Kajiki, webassets, cssmin, tgext.webassets, dukpy
Running setup.py install for dukpy: started
Running setup.py install for dukpy: finished with status 'error'
Complete output from command /usr/local/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-9_57pzjw/dukpy/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-n0ta5643-record/install-record.txt --single-version-externally-managed --compile:
running install
running build
running build_py
creating build
creating build/lib.linux-x86_64-3.5
creating build/lib.linux-x86_64-3.5/dukpy
copying dukpy/lessc.py -> build/lib.linux-x86_64-3.5/dukpy
copying dukpy/babel.py -> build/lib.linux-x86_64-3.5/dukpy
copying dukpy/install.py -> build/lib.linux-x86_64-3.5/dukpy
copying dukpy/run.py -> build/lib.linux-x86_64-3.5/dukpy
copying dukpy/tsc.py -> build/lib.linux-x86_64-3.5/dukpy
copying dukpy/nodelike.py -> build/lib.linux-x86_64-3.5/dukpy
copying dukpy/coffee.py -> build/lib.linux-x86_64-3.5/dukpy
copying dukpy/__init__.py -> build/lib.linux-x86_64-3.5/dukpy
copying dukpy/module_loader.py -> build/lib.linux-x86_64-3.5/dukpy
copying dukpy/evaljs.py -> build/lib.linux-x86_64-3.5/dukpy
creating build/lib.linux-x86_64-3.5/dukpy/webassets
copying dukpy/webassets/babelfilter.py -> build/lib.linux-x86_64-3.5/dukpy/webassets
copying dukpy/webassets/lessfilter.py -> build/lib.linux-x86_64-3.5/dukpy/webassets
copying dukpy/webassets/typescriptfilter.py -> build/lib.linux-x86_64-3.5/dukpy/webassets
copying dukpy/webassets/__init__.py -> build/lib.linux-x86_64-3.5/dukpy/webassets
copying dukpy/webassets/jsxfilter.py -> build/lib.linux-x86_64-3.5/dukpy/webassets
creating build/lib.linux-x86_64-3.5/dukpy/jscore
copying dukpy/jscore/path.js -> build/lib.linux-x86_64-3.5/dukpy/jscore
copying dukpy/jscore/querystring.js -> build/lib.linux-x86_64-3.5/dukpy/jscore
copying dukpy/jscore/url.js -> build/lib.linux-x86_64-3.5/dukpy/jscore
copying dukpy/jscore/fs.js -> build/lib.linux-x86_64-3.5/dukpy/jscore
copying dukpy/jscore/punycode.js -> build/lib.linux-x86_64-3.5/dukpy/jscore
creating build/lib.linux-x86_64-3.5/dukpy/jsmodules
copying dukpy/jsmodules/typescriptServices.js -> build/lib.linux-x86_64-3.5/dukpy/jsmodules
copying dukpy/jsmodules/coffeescript.js -> build/lib.linux-x86_64-3.5/dukpy/jsmodules
copying dukpy/jsmodules/semver.js -> build/lib.linux-x86_64-3.5/dukpy/jsmodules
copying dukpy/jsmodules/babel-6.14.0.min.js -> build/lib.linux-x86_64-3.5/dukpy/jsmodules
creating build/lib.linux-x86_64-3.5/dukpy/jsmodules/react
copying dukpy/jsmodules/react/react.js -> build/lib.linux-x86_64-3.5/dukpy/jsmodules/react
copying dukpy/jsmodules/react/react-dom-server.js -> build/lib.linux-x86_64-3.5/dukpy/jsmodules/react
creating build/lib.linux-x86_64-3.5/dukpy/jsmodules/less
creating build/lib.linux-x86_64-3.5/dukpy/jsmodules/less/less
copying dukpy/jsmodules/less/less/import-manager.js -> build/lib.linux-x86_64-3.5/dukpy/jsmodules/less/less
copying dukpy/jsmodules/less/less/contexts.js -> build/lib.linux-x86_64-3.5/dukpy/jsmodules/less/less
copying dukpy/jsmodules/less/less/source-map-output.js -> build/lib.linux-x86_64-3.5/dukpy/jsmodules/less/less
copying dukpy/jsmodules/less/less/render.js -> build/lib.linux-x86_64-3.5/dukpy/jsmodules/less/less
copying dukpy/jsmodules/less/less/plugin-manager.js -> build/lib.linux-x86_64-3.5/dukpy/jsmodules/less/less
copying dukpy/jsmodules/less/less/transform-tree.js -> build/lib.linux-x86_64-3.5/dukpy/jsmodules/less/less
copying dukpy/jsmodules/less/less/index.js -> build/lib.linux-x86_64-3.5/dukpy/jsmodules/less/less
copying dukpy/jsmodules/less/less/less-error.js -> build/lib.linux-x86_64-3.5/dukpy/jsmodules/less/less
copying dukpy/jsmodules/less/less/utils.js -> build/lib.linux-x86_64-3.5/dukpy/jsmodules/less/less
copying dukpy/jsmodules/less/less/parse-tree.js -> build/lib.linux-x86_64-3.5/dukpy/jsmodules/less/less
copying dukpy/jsmodules/less/less/logger.js -> build/lib.linux-x86_64-3.5/dukpy/jsmodules/less/less
copying dukpy/jsmodules/less/less/parse.js -> build/lib.linux-x86_64-3.5/dukpy/jsmodules/less/less
copying dukpy/jsmodules/less/less/source-map-builder.js -> build/lib.linux-x86_64-3.5/dukpy/jsmodules/less/less
creating build/lib.linux-x86_64-3.5/dukpy/jsmodules/less/less-node
copying dukpy/jsmodules/less/less-node/environment.js -> build/lib.linux-x86_64-3.5/dukpy/jsmodules/less/less-node
copying dukpy/jsmodules/less/less-node/url-file-manager.js -> build/lib.linux-x86_64-3.5/dukpy/jsmodules/less/less-node
copying dukpy/jsmodules/less/less-node/index.js -> build/lib.linux-x86_64-3.5/dukpy/jsmodules/less/less-node
copying dukpy/jsmodules/less/less-node/image-size.js -> build/lib.linux-x86_64-3.5/dukpy/jsmodules/less/less-node
copying dukpy/jsmodules/less/less-node/plugin-loader.js -> build/lib.linux-x86_64-3.5/dukpy/jsmodules/less/less-node
copying dukpy/jsmodules/less/less-node/file-manager.js -> build/lib.linux-x86_64-3.5/dukpy/jsmodules/less/less-node
copying dukpy/jsmodules/less/less-node/fs.js -> build/lib.linux-x86_64-3.5/dukpy/jsmodules/less/less-node
copying dukpy/jsmodules/less/less-node/lessc-helper.js -> build/lib.linux-x86_64-3.5/dukpy/jsmodules/less/less-node
creating build/lib.linux-x86_64-3.5/dukpy/jsmodules/less/less/environment
copying dukpy/jsmodules/less/less/environment/environment.js -> build/lib.linux-x86_64-3.5/dukpy/jsmodules/less/less/environment
copying dukpy/jsmodules/less/less/environment/environment-api.js -> build/lib.linux-x86_64-3.5/dukpy/jsmodules/less/less/environment
copying dukpy/jsmodules/less/less/environment/file-manager-api.js -> build/lib.linux-x86_64-3.5/dukpy/jsmodules/less/less/environment
copying dukpy/jsmodules/less/less/environment/abstract-file-manager.js -> build/lib.linux-x86_64-3.5/dukpy/jsmodules/less/less/environment
creating build/lib.linux-x86_64-3.5/dukpy/jsmodules/less/less/parser
copying dukpy/jsmodules/less/less/parser/parser.js -> build/lib.linux-x86_64-3.5/dukpy/jsmodules/less/less/parser
copying dukpy/jsmodules/less/less/parser/parser-input.js -> build/lib.linux-x86_64-3.5/dukpy/jsmodules/less/less/parser
copying dukpy/jsmodules/less/less/parser/chunker.js -> build/lib.linux-x86_64-3.5/dukpy/jsmodules/less/less/parser
creating build/lib.linux-x86_64-3.5/dukpy/jsmodules/less/less/data
copying dukpy/jsmodules/less/less/data/colors.js -> build/lib.linux-x86_64-3.5/dukpy/jsmodules/less/less/data
copying dukpy/jsmodules/less/less/data/index.js -> build/lib.linux-x86_64-3.5/dukpy/jsmodules/less/less/data
copying dukpy/jsmodules/less/less/data/unit-conversions.js -> build/lib.linux-x86_64-3.5/dukpy/jsmodules/less/less/data
creating build/lib.linux-x86_64-3.5/dukpy/jsmodules/less/less/tree
copying dukpy/jsmodules/less/less/tree/unicode-descriptor.js -> build/lib.linux-x86_64-3.5/dukpy/jsmodules/less/less/tree
copying dukpy/jsmodules/less/less/tree/node.js -> build/lib.linux-x86_64-3.5/dukpy/jsmodules/less/less/tree
copying dukpy/jsmodules/less/less/tree/call.js -> build/lib.linux-x86_64-3.5/dukpy/jsmodules/less/less/tree
copying dukpy/jsmodules/less/less/tree/variable.js -> build/lib.linux-x86_64-3.5/dukpy/jsmodules/less/less/tree
copying dukpy/jsmodules/less/less/tree/ruleset.js -> build/lib.linux-x86_64-3.5/dukpy/jsmodules/less/less/tree
copying dukpy/jsmodules/less/less/tree/alpha.js -> build/lib.linux-x86_64-3.5/dukpy/jsmodules/less/less/tree
copying dukpy/jsmodules/less/less/tree/debug-info.js -> build/lib.linux-x86_64-3.5/dukpy/jsmodules/less/less/tree
copying dukpy/jsmodules/less/less/tree/element.js -> build/lib.linux-x86_64-3.5/dukpy/jsmodules/less/less/tree
copying dukpy/jsmodules/less/less/tree/anonymous.js -> build/lib.linux-x86_64-3.5/dukpy/jsmodules/less/less/tree
copying dukpy/jsmodules/less/less/tree/javascript.js -> build/lib.linux-x86_64-3.5/dukpy/jsmodules/less/less/tree
copying dukpy/jsmodules/less/less/tree/condition.js -> build/lib.linux-x86_64-3.5/dukpy/jsmodules/less/less/tree
copying dukpy/jsmodules/less/less/tree/quoted.js -> build/lib.linux-x86_64-3.5/dukpy/jsmodules/less/less/tree
copying dukpy/jsmodules/less/less/tree/index.js -> build/lib.linux-x86_64-3.5/dukpy/jsmodules/less/less/tree
copying dukpy/jsmodules/less/less/tree/media.js -> build/lib.linux-x86_64-3.5/dukpy/jsmodules/less/less/tree
copying dukpy/jsmodules/less/less/tree/mixin-definition.js -> build/lib.linux-x86_64-3.5/dukpy/jsmodules/less/less/tree
copying dukpy/jsmodules/less/less/tree/js-eval-node.js -> build/lib.linux-x86_64-3.5/dukpy/jsmodules/less/less/tree
copying dukpy/jsmodules/less/less/tree/assignment.js -> build/lib.linux-x86_64-3.5/dukpy/jsmodules/less/less/tree
copying dukpy/jsmodules/less/less/tree/unit.js -> build/lib.linux-x86_64-3.5/dukpy/jsmodules/less/less/tree
copying dukpy/jsmodules/less/less/tree/operation.js -> build/lib.linux-x86_64-3.5/dukpy/jsmodules/less/less/tree
copying dukpy/jsmodules/less/less/tree/value.js -> build/lib.linux-x86_64-3.5/dukpy/jsmodules/less/less/tree
copying dukpy/jsmodules/less/less/tree/selector.js -> build/lib.linux-x86_64-3.5/dukpy/jsmodules/less/less/tree
copying dukpy/jsmodules/less/less/tree/import.js -> build/lib.linux-x86_64-3.5/dukpy/jsmodules/less/less/tree
copying dukpy/jsmodules/less/less/tree/comment.js -> build/lib.linux-x86_64-3.5/dukpy/jsmodules/less/less/tree
copying dukpy/jsmodules/less/less/tree/attribute.js -> build/lib.linux-x86_64-3.5/dukpy/jsmodules/less/less/tree
copying dukpy/jsmodules/less/less/tree/directive.js -> build/lib.linux-x86_64-3.5/dukpy/jsmodules/less/less/tree
copying dukpy/jsmodules/less/less/tree/url.js -> build/lib.linux-x86_64-3.5/dukpy/jsmodules/less/less/tree
copying dukpy/jsmodules/less/less/tree/combinator.js -> build/lib.linux-x86_64-3.5/dukpy/jsmodules/less/less/tree
copying dukpy/jsmodules/less/less/tree/dimension.js -> build/lib.linux-x86_64-3.5/dukpy/jsmodules/less/less/tree
copying dukpy/jsmodules/less/less/tree/expression.js -> build/lib.linux-x86_64-3.5/dukpy/jsmodules/less/less/tree
copying dukpy/jsmodules/less/less/tree/ruleset-call.js -> build/lib.linux-x86_64-3.5/dukpy/jsmodules/less/less/tree
copying dukpy/jsmodules/less/less/tree/detached-ruleset.js -> build/lib.linux-x86_64-3.5/dukpy/jsmodules/less/less/tree
copying dukpy/jsmodules/less/less/tree/paren.js -> build/lib.linux-x86_64-3.5/dukpy/jsmodules/less/less/tree
copying dukpy/jsmodules/less/less/tree/color.js -> build/lib.linux-x86_64-3.5/dukpy/jsmodules/less/less/tree
copying dukpy/jsmodules/less/less/tree/negative.js -> build/lib.linux-x86_64-3.5/dukpy/jsmodules/less/less/tree
copying dukpy/jsmodules/less/less/tree/keyword.js -> build/lib.linux-x86_64-3.5/dukpy/jsmodules/less/less/tree
copying dukpy/jsmodules/less/less/tree/mixin-call.js -> build/lib.linux-x86_64-3.5/dukpy/jsmodules/less/less/tree
copying dukpy/jsmodules/less/less/tree/extend.js -> build/lib.linux-x86_64-3.5/dukpy/jsmodules/less/less/tree
copying dukpy/jsmodules/less/less/tree/rule.js -> build/lib.linux-x86_64-3.5/dukpy/jsmodules/less/less/tree
creating build/lib.linux-x86_64-3.5/dukpy/jsmodules/less/less/functions
copying dukpy/jsmodules/less/less/functions/types.js -> build/lib.linux-x86_64-3.5/dukpy/jsmodules/less/less/functions
copying dukpy/jsmodules/less/less/functions/math.js -> build/lib.linux-x86_64-3.5/dukpy/jsmodules/less/less/functions
copying dukpy/jsmodules/less/less/functions/color-blending.js -> build/lib.linux-x86_64-3.5/dukpy/jsmodules/less/less/functions
copying dukpy/jsmodules/less/less/functions/data-uri.js -> build/lib.linux-x86_64-3.5/dukpy/jsmodules/less/less/functions
copying dukpy/jsmodules/less/less/functions/index.js -> build/lib.linux-x86_64-3.5/dukpy/jsmodules/less/less/functions
copying dukpy/jsmodules/less/less/functions/function-registry.js -> build/lib.linux-x86_64-3.5/dukpy/jsmodules/less/less/functions
copying dukpy/jsmodules/less/less/functions/svg.js -> build/lib.linux-x86_64-3.5/dukpy/jsmodules/less/less/functions
copying dukpy/jsmodules/less/less/functions/function-caller.js -> build/lib.linux-x86_64-3.5/dukpy/jsmodules/less/less/functions
copying dukpy/jsmodules/less/less/functions/math-helper.js -> build/lib.linux-x86_64-3.5/dukpy/jsmodules/less/less/functions
copying dukpy/jsmodules/less/less/functions/default.js -> build/lib.linux-x86_64-3.5/dukpy/jsmodules/less/less/functions
copying dukpy/jsmodules/less/less/functions/number.js -> build/lib.linux-x86_64-3.5/dukpy/jsmodules/less/less/functions
copying dukpy/jsmodules/less/less/functions/color.js -> build/lib.linux-x86_64-3.5/dukpy/jsmodules/less/less/functions
copying dukpy/jsmodules/less/less/functions/string.js -> build/lib.linux-x86_64-3.5/dukpy/jsmodules/less/less/functions
creating build/lib.linux-x86_64-3.5/dukpy/jsmodules/less/less/visitors
copying dukpy/jsmodules/less/less/visitors/join-selector-visitor.js -> build/lib.linux-x86_64-3.5/dukpy/jsmodules/less/less/visitors
copying dukpy/jsmodules/less/less/visitors/set-tree-visibility-visitor.js -> build/lib.linux-x86_64-3.5/dukpy/jsmodules/less/less/visitors
copying dukpy/jsmodules/less/less/visitors/index.js -> build/lib.linux-x86_64-3.5/dukpy/jsmodules/less/less/visitors
copying dukpy/jsmodules/less/less/visitors/visitor.js -> build/lib.linux-x86_64-3.5/dukpy/jsmodules/less/less/visitors
copying dukpy/jsmodules/less/less/visitors/import-sequencer.js -> build/lib.linux-x86_64-3.5/dukpy/jsmodules/less/less/visitors
copying dukpy/jsmodules/less/less/visitors/import-visitor.js -> build/lib.linux-x86_64-3.5/dukpy/jsmodules/less/less/visitors
copying dukpy/jsmodules/less/less/visitors/to-css-visitor.js -> build/lib.linux-x86_64-3.5/dukpy/jsmodules/less/less/visitors
copying dukpy/jsmodules/less/less/visitors/extend-visitor.js -> build/lib.linux-x86_64-3.5/dukpy/jsmodules/less/less/visitors
creating build/lib.linux-x86_64-3.5/dukpy/jsmodules/less/less/plugins
copying dukpy/jsmodules/less/less/plugins/function-importer.js -> build/lib.linux-x86_64-3.5/dukpy/jsmodules/less/less/plugins
running build_ext
building 'dukpy._dukpy' extension
creating build/temp.linux-x86_64-3.5
creating build/temp.linux-x86_64-3.5/src
creating build/temp.linux-x86_64-3.5/src/duktape
gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -Wstrict-prototypes -fPIC -DDUK_OPT_DEEP_C_STACK=1 -DDUK_OPT_NONSTD_REGEXP_DOLLAR_ESCAPE=1 -DDUK_OPT_OCTAL_SUPPORT=1 -I./src/duktape -I/usr/local/include/python3.5m -c src/duktape/duktape.c -o build/temp.linux-x86_64-3.5/src/duktape/duktape.o
unable to execute 'gcc': No such file or directory
error: command 'gcc' failed with exit status 1
----------------------------------------
Command "/usr/local/bin/python -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-9_57pzjw/dukpy/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-n0ta5643-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-9_57pzjw/dukpy/
Try to install python-dev
in your Docker image:
FROM python:3.5-slim
RUN apt-get update
RUN apt-get install python-dev -y
WORKDIR /opt
COPY requirements.txt /opt/requirements.txt
RUN pip install -r /opt/requirements.txt