2

I am using Pychromeless repo with success at AWS lambda.

But now I need to use pycrypto dependency, but I am getting

configure: error: no acceptable C compiler found in $PATH   when running make docker-build (after placing pycrypto==2.6.1 at requirements.txt file).

There's this thread and someone said about the same problem:  

"The gcc compiler is not in your $PATH. It means either you dont have gcc installed or it's not in your $PATH variable".

So tried placing apt-get install build-essential at Dockerfile, but I got

/bin/sh: apt-get: command not found

Then, I tried with yum install gcc

only to get

The command '/bin/sh -c yum install gcc' returned a non-zero code: 1

Docker-lambda [info page] (https://hub.docker.com/r/lambci/lambda/) says:

This project consists of a set of Docker images for each of the supported Lambda runtimes.

There are also a set of build images that include packages like gcc-c++, git, zip and the aws-cli for compiling and deploying.

So I guess I shouldn't be needing to install gcc. Maybe the gcc compiler is not in $PATH, but I don't know what to do to fix that.

Here is the dockerfile

FROM lambci/lambda:python3.6
MAINTAINER tech@21buttons.com

USER root

ENV APP_DIR /var/task

WORKDIR $APP_DIR

COPY requirements.txt .
COPY bin ./bin
COPY lib ./lib

RUN mkdir -p $APP_DIR/lib
RUN pip3 install -r requirements.txt -t /var/task/lib

Any help on solving this?

Luis Rock
  • 357
  • 4
  • 17

1 Answers1

4

Well, well, well...today was a lucky day for me.

So simple: all I had to do was replace

pycrypto==2.6.1

by

pycryptodome

on my requirements.txt file.

This thread says: "Highly recommend NOT to use pycrypto. It is old and not maintained and contains many vulnerabilities. Use pycryptodome instead - it is compatible and up to date".

And that's it! Docker builds just fine with pycryptodome.

Luis Rock
  • 357
  • 4
  • 17