You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I recently tried moving a project of mine over to a different server. To make a painfully long story short, the code, which relies on cpr/1.9.0, fails with "SSL certificate problem: unable to get local issuer certificate", which is a problem caused by libcurl. It seems that this commit caused cacert.pem to no longer appear in the source directory (in ~/.conan/data).
While I'm sure there's reasons for that, the way it's currently set up doesn't seem to allow libcurl to detect cacert.pem's new hidden location at all, causing the certificate failures currently preventing one of my projects from deploying
Package and Environment Details
Package Name/Version: libcurl/7.80.0 via cpr/1.9.0
Operating System+version: Ubuntu Server 22.10, Raspbian (Debian GNU/Linux 11), Linux Mint 21
#include"cpr/cpr.h"
#include<iostream>intmain() {
auto r = cpr::Get(cpr::Url{"https://example.com"});
std::cerr << "Fail: " << r.error.message << std::endl;
}
Commands:
# Required to clear the environment; I do not recommend running this if you have projects relying on a functioning curl via conan.
# Use isolated or expect breakage. A brand new environment also works as a substitute to this particular command
rm -rf ~/.conan/data/libcurl
cmake .
make && ./bin/bad-libcurl
Logs
[ 50%] Building CXX object CMakeFiles/bad-libcurl.dir/Main.cpp.o
[100%] Linking CXX executable bin/bad-libcurl
[100%] Built target bad-libcurl
Fail: SSL certificate problem: unable to get local issuer certificate
The text was updated successfully, but these errors were encountered:
These options were introduced in #10922, with None as default values (while "auto" is the default value upstream), but with a weird way to map values to underlying CMake & autotools build systems, so the issue was neutralized in a sense. Then in #13684 I've fixed this mapping logic, introducing the hidden issue of previous PR I guess.
So I guess we have to change default value of these options to "auto":
/cc @chenpengfei@uilianries@SSE4 since you have worked or reviewed #10922, would be nice to explain what was the logic of using None as default value but testing value = False afterwards.
Description
I recently tried moving a project of mine over to a different server. To make a painfully long story short, the code, which relies on cpr/1.9.0, fails with "SSL certificate problem: unable to get local issuer certificate", which is a problem caused by libcurl. It seems that this commit caused cacert.pem to no longer appear in the source directory (in
~/.conan/data
).While I'm sure there's reasons for that, the way it's currently set up doesn't seem to allow libcurl to detect cacert.pem's new hidden location at all, causing the certificate failures currently preventing one of my projects from deploying
Package and Environment Details
Conan profile
[settings]
os=Linux
os_build=Linux
arch=x86_64
arch_build=x86_64
compiler=clang
compiler.version=15
compiler.libcxx=libstdc++11
build_type=Release
[options]
[conf]
[build_requires]
[env]
[settings]
os=Linux
os_build=Linux
arch=x86_64
arch_build=x86_64
compiler=clang
compiler.version=12
compiler.libcxx=libstdc++
build_type=Release
[options]
[conf]
[build_requires]
[env]
[settings]
os=Linux
os_build=Linux
arch=armv8
arch_build=armv8
compiler=gcc
compiler.version=10
compiler.libcxx=libstdc++
build_type=Release
[options]
[conf]
tools.build:jobs=1
[build_requires]
[env]
(plus a few other compiler configurations I don't have readily available)
Steps to reproduce
Demo project:
Commands:
Logs
The text was updated successfully, but these errors were encountered: