'I'm getting Curl error code 4 in C program but I can't figure out what is wrong

I'm new to curl library, I installed it yesterday from GitHub, I followed the steps to download it and everything seems good by checking the supported protocols; but when I'm trying to use the library in a C program to download data from a https link I get the error 4.

Supported protocols, nothing looks wrong:

curl 7.83.0-DEV (x86_64-pc-linux-gnu) libcurl/7.83.0-DEV OpenSSL/1.1.1m zlib/1.2.11
Release-Date: [unreleased]
Protocols: dict file ftp ftps gopher gophers http https imap imaps mqtt pop3 pop3s rtsp smb smbs smtp smtps telnet tftp 
Features: alt-svc AsynchDNS HSTS HTTPS-proxy IPv6 Largefile libz NTLM NTLM_WB SSL TLS-SRP UnixSockets

But when I try to run my C program I get this:

./test https://google.com
ERROR: A requested feature, protocol or option was not found built-in in this libcurl due to a build-time decision.

The code I wrote is this:

#include <stdio.h>
#include <stdlib.h>
#include <curl/curl.h>

void main(int argc, char *argv[])
{
    CURL *curl = curl_easy_init();      
    int success = 0;                    
    FILE *data = fopen("data", "wb");
    if(data==NULL)
    {
        printf("Error making file for data to be stored.\n");
        exit(1);
    }

    curl_easy_setopt(curl, CURLOPT_URL, argv[1]);

    curl_easy_setopt(curl, CURLOPT_WRITEDATA, data);

    curl_easy_setopt(curl, CURLOPT_FAILONERROR, 1L);

    success = curl_easy_perform(curl);
    if(success==CURLE_OK)
        printf("Download successful.\n");
    else 
        printf("ERROR: %s\n", curl_easy_strerror(success));

    fclose(data);
    curl_easy_cleanup(curl);
}
type here

Someone know what is wrong??



Solution 1:[1]

The linked system libcurl.so runtime is another one than 7.83.0-DEV.

sudo apt intstall ibcurl4-openssl-dev

or

sudo apt intstall  libcurl4-gnutls-dev

Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source
Solution 1 273K