Package change: curl-dev should depend on musl-dev
After installing curl-dev
on Alpine 3.7.0, I still don’t have
everything it seems to need for compilation:
% docker run -i -t alpine:latest
/ # apk update
fetch http://dl-cdn.alpinelinux.org/alpine/v3.7/main/x86_64/APKINDEX.tar.gz
fetch http://dl-cdn.alpinelinux.org/alpine/v3.7/community/x86_64/APKINDEX.tar.gz
v3.7.0-35-g1f6e64f5d4 [http://dl-cdn.alpinelinux.org/alpine/v3.7/main]
v3.7.0-34-g4caa398901 [http://dl-cdn.alpinelinux.org/alpine/v3.7/community]
OK: 9046 distinct packages available
/ # apk add gcc curl-dev
(1/16) Installing ca-certificates (20171114-r0)
(2/16) Installing libssh2 (1.8.0-r2)
(3/16) Installing libcurl (7.57.0-r0)
(4/16) Installing pkgconf (1.3.10-r0)
(5/16) Installing curl-dev (7.57.0-r0)
(6/16) Installing binutils-libs (2.28-r3)
(7/16) Installing binutils (2.28-r3)
(8/16) Installing gmp (6.1.2-r1)
(9/16) Installing isl (0.18-r0)
(10/16) Installing libgomp (6.4.0-r5)
(11/16) Installing libatomic (6.4.0-r5)
(12/16) Installing libgcc (6.4.0-r5)
(13/16) Installing mpfr3 (3.1.5-r1)
(14/16) Installing mpc1 (1.0.3-r1)
(15/16) Installing libstdc++ (6.4.0-r5)
(16/16) Installing gcc (6.4.0-r5)
Executing busybox-1.27.2-r6.trigger
Executing ca-certificates-20171114-r0.trigger
OK: 90 MiB in 27 packages
/ # echo "#include <curl/curl.h>" | gcc -E -
# 1 "<stdin>"
# 1 "<built-in>"
# 1 "<command-line>"
# 1 "<stdin>"
# 1 "/usr/include/curl/curl.h" 1 3 4
# 37 "/usr/include/curl/curl.h" 3 4
# 1 "/usr/include/curl/curlver.h" 1 3 4
# 38 "/usr/include/curl/curl.h" 2 3 4
# 1 "/usr/include/curl/system.h" 1 3 4
In file included from /usr/include/curl/curl.h:38:0,
from <stdin>:1:
/usr/include/curl/system.h:397:25: fatal error: sys/types.h: No such file or directory
# include <sys/types.h>
^
compilation terminated.
After installing musl-dev
, things go fine:
/ # apk add musl-dev
(1/1) Installing musl-dev (1.1.18-r2)
OK: 100 MiB in 28 packages
/ # echo "#include <curl/curl.h>" | gcc -E - > dev/null && echo ok
ok
I’m doing this in a docker image, it seems like 3.7.0 is the latest on Docker Hub - apologies if it’s already fixed in a later version.
Jeroen Ooms figured this out over at https://github.com/jeroen/curl/issues/136 .
(from redmine: issue id 8343, created on 2017-12-21)