Perl / docker-perl

Dockerfiles for index.docker.io (official Perl Docker image)
https://registry.hub.docker.com/_/perl/
Artistic License 2.0
119 stars 51 forks source link

Unable to add Perl module WWW::Curl to Docker/Perl app #75

Closed drjonasthomsen closed 4 years ago

drjonasthomsen commented 4 years ago

I am trying to build a perl-app using the Docker image and the module WWW::Curl, but installation of WWW::Curl fails in this environment. My Dockerfile is: FROM perl:latest RUN apt-get install -y \ libcurl4-openssl-dev \ libcurl4 RUN cpanm --verbose WWW::Curl::Easy

The error is: The version is libcurl 7.64.0 Cannot find curl.h - cannot build constants files - see Makefile.PL at Makefile.PL line 96.

tianon commented 4 years ago

Given that curl.h exists in the perl:latest image as-is at /usr/include/x86_64-linux-gnu/curl/curl.h (without installing anything extra), I'd be inclined to think this is probably a bug with the WWW::Curl::Easy module.

That being said, https://github.com/szbalint/WWW--Curl/issues/18 / https://github.com/szbalint/WWW--Curl/pulls does not bode well for getting it fixed. :disappointed:

zakame commented 4 years ago

Hi @drjonasthomsen, thanks for the report; I can confirm and reproduce it myself.

It is as @tianon says, WWW::Curl is way out of date and can't be used on a newer libcurl; there's also a lot of build issues posted on the RT queue. I'd suggest using an alternative depending on your use cases, such as HTTP::Tiny or Mojo::UserAgent.

zakame commented 4 years ago

Let me close this as it is not strictly a docker-perl issue, it is more a CPAN module vs libcurl4 (curl 7.x) incompatibility.