[solved] darktable piwigo plugin build fails with curl <7.62


Trying to build current git version on Debian Stretch fails at the piwigo storage plugin with

/home/chri/Linux/darktable/src/imageio/storage/piwigo.c: In function ‘_piwigo_api_post_internal’: /home/chri/Linux/darktable/src/imageio/storage/piwigo.c:272:3: error: unknown type name ‘curl_mime’ curl_mime *form = NULL; ^~~~~~~~~ /home/chri/Linux/darktable/src/imageio/storage/piwigo.c:309:5: error: unknown type name ‘curl_mimepart’ curl_mimepart *field = NULL; ^~~~~~~~~~~~~ /home/chri/Linux/darktable/src/imageio/storage/piwigo.c:311:12: error: implicit declaration of function ‘curl_mime_init’ [-Werror=implicit-function-declaration] form = curl_mime_init(ctx->curl_ctx); ^~~~~~~~~~~~~~ /home/chri/Linux/darktable/src/imageio/storage/piwigo.c:311:10: error: assignment makes pointer from integer without a cast [-Werror=int-conversion] form = curl_mime_init(ctx->curl_ctx); ^ /home/chri/Linux/darktable/src/imageio/storage/piwigo.c:318:15: error: implicit declaration of function ‘curl_mime_addpart’ [-Werror=implicit-function-declaration] field = curl_mime_addpart(form);

I guess there is a missing or outdated dependency?
curl seems to be there from the build log
-- Found CURL: /usr/lib/x86_64-linux-gnu/libcurl.so (found version "7.52.1")

and there are no warnings about missing or outdated dependencies.
What do I miss?

Full build log attached

build.txt (81.1 KB)

Can you try with libcurl4?

Looks like curl version "7.52.1" from libcurl4-gnutls-dev is too old, because there is no curl_mime in curl.h

libcurl4 with 7.62 will be part of the upcoming Debian Buster release.

Indeed, I have libcurl4 7.62.

This should be fixed. Now we require at least CURL 7.56 to build piwigo storage.


Fixed. Thanks for adding the conditional build.:+1:

1 Like