conan-io / training Goto Github PK
View Code? Open in Web Editor NEW(Deprecated) Support code for conan 1.X trainings
License: MIT License
(Deprecated) Support code for conan 1.X trainings
License: MIT License
In the final quiz survey, multiple users stated that they expected to learn about generators (in either essentials or advanced course).
include could not find load file:
/home/conan/training/consumer/conanbuildinfo.cmake
CMake Error at CMakeLists.txt:7 (conan_basic_setup):
Unknown CMake command "conan_basic_setup".
-- Configuring incomplete, errors occurred!
Same outcome when running the catchup script for exercise #6.
Environment info: running in your docker on an Ubuntu terminal on Windows 11, with Docker for Windows running in WSL mode.
Cource: Advanced, Exercise : Revisions - Part 2
hello/0.1@user/testing: Upload recipe to 'artifactory' failed: HTTPSConnectionPool(host='127.0.0.1', port=8082):
Max retries exceeded with url: /v1/ping (Caused by SSLError(SSLError(1, '[SSL: WRONG_VERSION_NUMBER]
wrong version number (_ssl.c:1131)')))
Unable to connect to artifactory=https://127.0.0.1:8082
1. Make sure the remote is reachable or,
2. Disable it by using conan remote disable,
Then try again.
ERROR: Errors uploading some packages
output of netcat:
nc -zv 127.0.0.1 8082
Connection to 127.0.0.1 8082 port [tcp/*] succeeded!
conan remote list
artifactory: https://127.0.0.1:8082 [Verify SSL: False]
https://academy.jfrog.com/introduction-to-conan/602707
In the code snippet, the name of the remote is both conan-develop
and conan-dev
.
One of the questions in the quiz that's asking about build_requires
suggests that it's a way to hide dependencies from consumers when building executable shared libraries. I'm maybe out of date on my graph resolving knowledge, but I was pretty sure it is (with caveats obviously). Like an alternative to the "private" dependencies which are discouraged. But the quiz doesn't accept that answer.
Hello everyone,
I set up an artifactory (community edition 7.10.5) on localhost
. I ran the following commands from the command line:
conan new pkg/0.1@aravind/testing -s -t
conan create .
conan upload pkg/0.1 -r localrepo --all
The package is uploaded with the name _/pkg/0.1/_
. I could not figure out where the extra characters /
and _
come from. What am I missing here?
The course suggests to avoid using in-recipe build_requires for common tools such as CMake and move them into profiles in order to leverage system-installed tools, while using exact versions of less common tools directly in the recipe.
While it's a bit off-topic to the course itself - It feels like it 'd produce an unsatisfactory user experience on both ends:
The reasoning in here feels a bit contradictionary to itself.
The course showcases how to use cmake_find_package
generator, but it doesn't quite mention that for the moment Conan doesn't quite get the Components right, which would be an immediate question of a listener who sees the Boost being linked as Boost::Boost.
I'm not sure if it's appropriate for the Essentials course, but maybe a small note somewhere that mentions it could help a bit. Or not.
That exact same note is repeated twice just after one or two other videos. Probably once is enough for it?
Just at the beginning of the course, (environ setup : lesson https://academy.jfrog.com/path/conan/conan-essentials/590849 )after issuing the command:
~/projects/training/docker_environment$ docker-compose up -d
I've got an error message:
ERROR: Couldn't connect to Docker daemon at http+docker://localhost - is it running?
If it's at a non-standard location, specify the URL with the DOCKER_HOST environment variable.
I am using Ubuntu 20.04 on WSL 2
The video instructs to source acivate_run.sh
and deactivate_run.sh
but the generated scripts are activate.sh
and deactivate.sh
The end of an exercise video normally shows the list of commands needed for the exercise: very helpful.
This video ends showing the first slide (if not frame). The outline for the exercise is shown, and does not include any commands.
This requires users to pause the video on the commands to keep the reference up and is different behavior from the previous exercise videos.
Ignoring the 12 web UI instructions (as well as missing instructions to get to that UI described in #80), there is only one command not on the final slide. This first command is simple enough (as well as optional) so that the larger list of commands from the final slide alone would be helpful enough to keep displayed at video's end.
I am on windows 10.
while doing the training on
https://academy.jfrog.com/path/conan/conan-essentials/590849#
I get the below error when running the third command below to prepare the environmet
git clone https://github.com/conan-io/training
cd training/docker_environment
docker-compose up -d ===========> This an error
docker exec -it conan-training bash
The error I get is
Step 9/10 : ENV DEMO_ART_CREDS_PSW=password
---> Using cache
---> 3591c351707e
Step 10/10 : RUN /scripts/bootstrap-artifactory-config.sh
---> Running in 659b99e05aea
/bin/sh: 1: /scripts/bootstrap-artifactory-config.sh: not found
Service 'artifactory-training' failed to build : The command '/bin/sh -c /scripts/bootstrap-artifactory-config.sh' returned a non-zero code: 127
Can someone please help on how to proceed.
Thanks
At the end of essentials in the "Congratulations" slide, pointy 1 is to learn more by studying the output of the conan commands.
That's a good advide, but would be much more valuable if I knew that I can change the log.level
and/or log.print_run_commands
.
At least that was an 'aha' moment for me when I was trying to learn Conan
So I suggest to either mention those commands in that same slide or insert a new chapter/slide teaching this.
ie:
conan config set log.level=info
Since we have a great article on custom settings for sanitizers in Conan documentation - I believe it'd be great to reuse it for training or at least mention it to give listeners more reference points for the feature.
The course strongly encourages using custom user/channel for packages that were built locally, not from Conan Center.
I agree for proprietary recipes or recipes that were written/created out of the CCI so maybe I just misunderstood the advice here.
The issue with the advice is that a new user may think that migrating CCI recipes to company/stable
scheme is the way to go for vendoring recipes to a private remote. Which is practically a bad user experience since Conan provides very poor overriding capabilities in its interfaces and the only way to prevent "leaking" of packages through a private remote would be to override all requirements in vendored recipes, which is a poor application of one's effort and time.
My personal advice is to actually preserve the original user/channel
if you intent to use the binaries as-if or in-place of CCI created binaries and control the binary origin through the remote list only.
The recommended Free Trier is under a migration issue right now.
It is strongly recommended to grab the ArtifactoryCE from https://conan.io/downloads.html (for training purposes, getting the .zip or .tgz, unzipping and running the script in app/bin, then going to :8082 will be good).
The training shouldn't be affected, just taking care to use the real , instead of localhost can avoid issues connecting from the docker container.
The course tells to use build_requires only for tools or testing frameworks, but doesn't quite explain why with respect to the C/C++ context.
It could be useful to have a little explanation about Conan's graph solving ability and conflicting symbols in C++ binaries.
The commented instructions are very vague.
eg
# modify conanfile.txt to account for new dependency
Had to relisten since the only guidance here is in voice, and says to use the existing format as a guide, which gives us:
[requires]
boost/1.72.0
poco/1.9.4
hello/0.1
The next step is also obscure:
# modify CMakeLists.txt to account for new CONAN_PKG::hello
Which I assume refers to:
target_link_libraries(timer CONAN_PKG::poco
CONAN_PKG::boost
CONAN_PKG::hello)
Finally:
# modify timer.cpp to include "hello.h" and call the hello() function
The other includes have a path, but nothing is explained here, so this could be wrong:
#include <hello.h>
But I assume calling hello()
anywhere in main()
is fine.
int main(int argc, char** argv){
...
hello();
...
return 0;
}
Result:
$ conan install ..
Configuration:
[settings]
arch=x86_64
arch_build=x86_64
build_type=Release
compiler=gcc
compiler.libcxx=libstdc++11
compiler.version=7
os=Linux
os_build=Linux
[options]
[build_requires]
[env]
hello/0.1: Not found in local cache, looking in remotes...
hello/0.1: Trying with 'conan-center'...
ERROR: Unable to find 'hello/0.1' in remotes
This looks like its failing from the first step, not the second or third (although it's not clear if they will work).
I'm following the Conan essential track and notice a typo in the Consuming Conan Package 8/9 question:
Which commands accept the flag --html and produce novel html output?
I think the flag is --graph
.
I was able to get the training to work in the tutorial provided environment. Now I am trying to do it in my environment. My Azure Ubuntu has:
When I run the command "conan install .." from consumer/build, it finds and installs the packages boost, pocoproject, and their dependencies. However, it asks me to log into conan-center. As per the suggestions, I created an account in https://bintray.com/signup/oss.
However, when I specify my user name and password, it tells me that the password is wrong. As a result, conanbuildinfo.cmake is not generated. Any help is appreciated.
Something changed in the CI and builds that previously passed are now failing due to this error.
I haven't narrowed it down to the precise cause, but it seems somehow related to boost and libstdc++11
and -D_GLIBCXX_USE_CXX11_ABI
Potentially related issue: https://stackoverflow.com/questions/40225571/regex-search-hpp56-undefined-reference-to-boostre-detail-106100perl-match
Actual error: https://travis-ci.com/github/conan-io/training/builds/211476455#L516-L540
Scanning dependencies of target timer
[ 50%] Building CXX object CMakeFiles/timer.dir/timer.cpp.o
[100%] Linking CXX executable bin/timer
CMakeFiles/timer.dir/timer.cpp.o: In function `boost::re_detail_107200::perl_matcher<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::match_match()':
timer.cpp:(.text._ZN5boost16re_detail_10720012perl_matcherIN9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEESaINS_9sub_matchISC_EEENS_12regex_traitsIcNS_16cpp_regex_traitsIcEEEEE11match_matchEv[_ZN5boost16re_detail_10720012perl_matcherIN9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEESaINS_9sub_matchISC_EEENS_12regex_traitsIcNS_16cpp_regex_traitsIcEEEEE11match_matchEv]+0x44e): undefined reference to `boost::match_results<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > >::maybe_assign(boost::match_results<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > const&)'
CMakeFiles/timer.dir/timer.cpp.o: In function `boost::re_detail_107200::perl_matcher<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::match_imp()':
timer.cpp:(.text._ZN5boost16re_detail_10720012perl_matcherIN9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEESaINS_9sub_matchISC_EEENS_12regex_traitsIcNS_16cpp_regex_traitsIcEEEEE9match_impEv[_ZN5boost16re_detail_10720012perl_matcherIN9__gnu_cxx17__normal_iteratorIPKcNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEEESaINS_9sub_matchISC_EEENS_12regex_traitsIcNS_16cpp_regex_traitsIcEEEEE9match_impEv]+0x54c): undefined reference to `boost::match_results<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > >::maybe_assign(boost::match_results<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > > > const&)'
CMakeFiles/timer.dir/timer.cpp.o: In function `bool boost::regex_match<std::char_traits<char>, std::allocator<char>, char, boost::regex_traits<char, boost::cpp_regex_traits<char> > >(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > > const&, boost::regex_constants::_match_flags)':
timer.cpp:(.text._ZN5boost11regex_matchISt11char_traitsIcESaIcEcNS_12regex_traitsIcNS_16cpp_regex_traitsIcEEEEEEbRKNSt7__cxx1112basic_stringIT1_T_T0_EERKNS_11basic_regexISA_T2_EENS_15regex_constants12_match_flagsE[_ZN5boost11regex_matchISt11char_traitsIcESaIcEcNS_12regex_traitsIcNS_16cpp_regex_traitsIcEEEEEEbRKNSt7__cxx1112basic_stringIT1_T_T0_EERKNS_11basic_regexISA_T2_EENS_15regex_constants12_match_flagsE]+0x166): undefined reference to `boost::re_detail_107200::perl_matcher<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > >, std::allocator<boost::sub_match<__gnu_cxx::__normal_iterator<char const*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >, boost::regex_traits<char, boost::cpp_regex_traits<char> > >::construct_init(boost::basic_regex<char, boost::regex_traits<char, boost::cpp_regex_traits<char> > > const&, boost::regex_constants::_match_flags)'
collect2: error: ld returned 1 exit status
CMakeFiles/timer.dir/build.make:145: recipe for target 'bin/timer' failed
make[2]: *** [bin/timer] Error 1
Here's a warning about the libstdc++11
situation.
Auto detecting your dev setup to initialize the default profile (/home/travis/.conan/profiles/default)
Found gcc 5.4
Found clang 7.0
gcc>=5, using the major as version
************************* WARNING: GCC OLD ABI COMPATIBILITY ***********************
Conan detected a GCC version > 5 but has adjusted the 'compiler.libcxx' setting to
'libstdc++' for backwards compatibility.
Your compiler is likely using the new CXX11 ABI by default (libstdc++11).
If you want Conan to use the new ABI for the default profile, run:
$ conan profile update settings.compiler.libcxx=libstdc++11 default
Or edit '/home/travis/.conan/profiles/default' and set compiler.libcxx=libstdc++11
************************************************************************************
Default settings
os=Linux
os_build=Linux
arch=x86_64
arch_build=x86_64
compiler=gcc
compiler.version=5
compiler.libcxx=libstdc++
build_type=Release
*** You can change them in /ho
Hi,
I am on win10, using docker desktop v20.10.0-rc1.
When running the steps in Environment setup, on the conan essentials course, I am unable to build the images with the current Dockerfile configuration. When I run docker-compose up -d, it fails with:
"Step 1/11 : FROM docker.bintray.io/jfrog/artifactory-cpp-ce:7.6.2
ERROR: Service 'jfrog-artifactory-training' failed to build : missing or empty Content-Length header"
This seems to be an issue with the image on bintray.io, as running "docker pull docker.bintray.io/jfrog/artifactory-cpp-ce:7.6.2" results in
"Error response from daemon: missing or empty Content-Length header".
Modifying the dockerfiles to use docker.bintray.io/jfrog/artifactory-cpp-ce:current seems to resolve the issue.
While the quiz at the end of the section had a question about relation of the test_package and unit tests - I feel like it should be pressed much harder in the course itself that:
Using the docker container for the training, while using the command conan install ..
mentioned in this lesson conan can not reach conan center remote.
This is caused when the container produces /etc/resolv.conf
contains the localhost address nameserver 127.0.X.X
.
This can be fixed by filling /etc/resolv.conf
with a public DNS like google's public DNS 8.8.8.8
while building the container.
ERROR: HTTPSConnectionPool(host='conan.bintray.com', port=443): Max retries exceeded with url: /v1/ping (Caused by NewConnectionError('<urllib3.connection.HTTPSConnection object at 0x7f23d2758810>: Failed to establish a new connection: [Errno -3] Temporary failure in name resolution'))
Unable to connect to conan-center=https://conan.bintray.com
1. Make sure the remote is reachable or,
2. Disable it by using conan remote disable,
Then try again.
I believe the course has not quite correct information about the runtime linking.
In the slide it shows the line that imports so
file to the bin
directory and the narrator mentions that by default linker will look into the directory, but it's, in fact, only the default behaviour on Windows, not Linux! For Linux you'd need to point the LD_LIBRARY_PATH
to the bin directory.
The runtime linking is a hard problem and I believe creating a section on it would be useful to help users on the border between Linux system programming and "user-space" C++ programming with Conan.
First of all, thank you for the great tutorials!
After using docker-compose to start the containers, I could not use artifactory through localhost:8082 in my browser, because it forwards me to http://jfrog-artifactory-training:8082/ui/ (http://container_name:8082/ui). Using the address 127.0.0.1:8082 does work, because it points me to 127.0.0.1:8082/ui/login.
OS: Ubuntu 18.04.2
Docker: 20.10.5
Docker-compose: 1.26.0
It takes some time to start artifactory in a container. When you connect the browser, you are redirectored form localhost:8082 to localhost:8082/artifactory. The same for 127.0.0.1:8082. The screen shows a "JFrog Platform will be available shortly" screen. When artifactory is ready the different redirects as described above occur.
In Conan Essentials/Environment Setup video, docker compose command fails and gives the following output:
Building jfrog-artifactory-training
Step 1/11 : FROM docker.bintray.io/jfrog/artifactory-cpp-ce:7.6.2
ERROR: Service 'jfrog-artifactory-training' failed to build : missing or empty Content-Length header
I am on docker version 20.10.1, docker-compose version 1.27.4, containerd version 1.4.3.
I edited the Docker YAML file to pull FROM docker.bintray.io/jfrog/artifactory-cpp-ce:7.12.5 and the docker image built successfully. I have not yet completed the rest of the training to ensure everything works correctly with this newer version of artifactory.
When trying to run the last command from the exercise (conan create . user/testing -pr=rpi_armv7 --build=missing
), the unintended error is displayed:
ERROR: 404: Not Found. [Remote: conan-center]
The 'zlib/1.2.11' package has 'exports_sources' but sources not found in local cache.
Probably it was installed from a remote that is no longer available.
The course mentions conflicting options configuration and how to resolve it. In my personal experience - changing upstream options from non-leaf [non-executable] recipes is an anti-pattern, because any change to the default value very quickly leads to the diamond problem conflict which prevents recipes from working out of the box.
I strongly believe the course should voice this concern and suggest to throw an exception when an upstream package option is wrong instead as a guideline when designing packages.
The quiz at the end of the section Consuming Conan Packages contains a question about whether users should populate the attributes user and channel when building locally. However, I couldn't find any reference to this advice in the section. I wonder whether this question should actually belong to the section Create Conan Packages
On execute the command: conan install .. build_type=Debug
Is given the error: ERROR: Specify the 'user' and the 'channel' or neither of them
All steps up to "Remote Repositories on Artifactory" are working fine. But in this chapter I have to setup the JFrog Conan Repository. This is not possible because while connection to https://127.0.0.1:8082 (changed) I got the response "Service Unavaliable"
Do you have an Idea whats going wrong? Containers are started
Kind Regards
Martin
F:\GitHubClones\training\docker_environment>docker container ls
CONTAINER ID IMAGE COMMAND CREATED STATUS PORTS NAMES
954baf5fbc63 conan_training_env_conan-training "tail -f /dev/null" 14 minutes ago Up 5 minutes conan-training
e030b0448f87 conan_training_env_jfrog-artifactory-training "/entrypoint-artifac…" 14 minutes ago Up 5 minutes 8081/tcp, 0.0.0.0:8082->8082/tcp jfrog-artifactory-training
A trainee reported this issue in the final quiz and the slides do indeed use the incorrect comment character in conanfile.py and it should be fixed.
Hello.
I am facing issues with the tutorial of conan. Due to updates in libs, required version of conan is 1.33.0, but, in the image I downloaded, it is still 1.28.1.
bzip2/1.0.8: Downloaded recipe revision 0
ERROR: bzip2/1.0.8: Cannot load recipe.
Error loading conanfile at '/home/conan/.conan/data/bzip2/1.0.8/_/_/export/conanfile.py': Current Conan version (1.28.1) does not satisfy the defined one (>=1.33.0).
conan@33bcf2d9910c:~/training/consumer/build$ vi ../
.gitignore CMakeLists.txt build/ conanfile.txt timer.cpp
conan@33bcf2d9910c:~/training/consumer/build$ vi ../
.gitignore CMakeLists.txt build/ conanfile.txt timer.cpp
conan@33bcf2d9910c:~/training/consumer/build$ vi ../conanfile.txt
conan@33bcf2d9910c:~/training/consumer/build$ vi ../conanfile.txt
conan@33bcf2d9910c:~/training/consumer/build$ vi ../conanfile.txt
conan@33bcf2d9910c:~/training/consumer/build$ conan install ..
Configuration:
[settings]
arch=x86_64
arch_build=x86_64
build_type=Release
compiler=gcc
compiler.libcxx=libstdc++11
compiler.version=7
os=Linux
os_build=Linux
[options]
[build_requires]
[env]
ERROR: bzip2/1.0.8: Cannot load recipe.
Error loading conanfile at '/home/conan/.conan/data/bzip2/1.0.8/_/_/export/conanfile.py': Current Conan version (1.28.1) does not satisfy the defined one (>=1.33.0).
Currently, I am running pip install conan --upgrade
to make it work, but I think it would be great to update the images :)
git clone https://github.com/conan-io/training
cd training/docker_environment
docker-compose up -d
docker exec -it conan-training bash
error
xecutor failed running [/bin/sh -c /scripts/bootstrap-artifactory-config.sh]: exit code: 152
ERROR: Service 'jfrog-artifactory-training' failed to build : Build failed
LKLD-C02FN499:docker_environment chirag.shah$ view /scripts/bootstrap-artifactory-config.sh
Hi,
The question 5 of the quiz and the summary mention the option -q of the search command whereas it has not yet been introduced in any previous exercises. Would not it be pertinent to add one or two command examples in the previous exercises?
Thanks for those excellent training sessions.
Laurent Taurines
When using in-source recipes and the total size of the exported sources is very large, the conan export
command takes a long time, and this can be highly problematic is some development workflows (such as mono-repo for example). This problem could be solved by adding a flag to conan export
such as --recipe-only
, which simply copies only the conanfile
to the local cache.
The first command in the exercise is:
conan remote list
Which gives a result of:
conan-center: https://conan.bintray.com [Verify SSL: True]
We're next told to go to the web UI, without any information about where the web UI is supposed to be found. The address above does not go to it (it links to a .dms file with an empty {}
curly brace set). The video shows going to http://34.67.115.149:8082/ui/admin/repositories/local/new
which only returns ERR_EMPTY_RESPONSE
when it returns anything (removing path targets does not change this).
Multiple steps occur on this mysterious web UI, and information from the UI is required for the next command line instruction.
Like many exercises, there is nothing on the right hand side to expand.
This exercise cannot be completed with the information provided.
If you set-up the prerequisites, the training container won't load because the artifactory port is already in use.
Easily worked around, but annoying.
When running the training in the docker and enabled my VPN (ZSCaler), the download of the source code from sourceforge will fail.
This fails in Ex.16, when cross-building the zlib:
zlib/1.2.11: Configuring sources in /home/conan/.conan/data/zlib/1.2.11/_/_/source
ERROR: Error downloading file https://zlib.net/zlib-1.2.11.tar.gz: 'HTTPSConnectionPool(host='zlib.net', port=443): Max retries exceeded with url: /zlib-1.2.11.tar.gz (Caused by SSLError(SSLCertVerificationError(1, '[SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed: unable to get local issuer certificate (_ssl.c:1076)')))'
wget will fail too:
wget https://downloads.sourceforge.net/project/libpng/zlib/1.2.11/zlib-1.2.11.tar.gz
ERROR: cannot verify downloads.sourceforge.net's certificate, issued by 'CN=Zscaler Intermediate Root CA (zscaler.net) (t)\\ ,OU=Zscaler Inc.,O=Zscaler Inc.,ST=California,C=US':
Unable to locally verify the issuer's authority.
To connect to downloads.sourceforge.net insecurely, use `--no-check-certificate'
I have checked without the VPN and it works. Other users worked for them, even if using ZScaler too.
To mimic the tutorial, I created a repo in JFrog bintray (https://bintray.com/nsangal/myconanrepo) and I would like to upload the hello package as per the tutorial.
However, I get log in error - Wrong user or password.
neeraj@Ubuntu:~/training$ conan remote list
conan-center: https://conan.bintray.com [Verify SSL: True]
artifactory: https://api.bintray.com/conan/nsangal/myconanrepo [Verify SSL: True]
neeraj@VerifaNeerajUbuntu:~/training$ conan upload "hello" -r artifactory --all
Are you sure you want to upload 'hello/0.1@user/testing' to 'artifactory'? (yes/no): yes
Uploading to remote 'artifactory':
Uploading hello/0.1@user/testing to remote 'artifactory'
Please log in to "artifactory" to perform this action. Execute "conan user" command.
If you don't have an account sign up here: https://bintray.com/signup/oss
Remote 'artifactory' username: nsangal
Please enter a password for "nsangal" account:
ERROR: Wrong user or password
I typed the user and password that I use to log into the JFrog bintray account. Thanks for your help.
A common question among users about python_requires is to how to use pip dependencies with it. While the quiz provides an answer in the form of a question that it's not a tool for that - the course itself should state the difference a bit louder.
The course should probably suggest to use ^1.0
style of ranges which restricts up to the MAJOR version.
https://academy.jfrog.com/path/conan/conan-essentials/583137
The command conan upload "hello*" -r artifactory
fails
$ conan upload "hello*" -r artifactory
Are you sure you want to upload 'hello/0.1@user/testing' to 'artifactory'? (yes/no): yes
Uploading to remote 'artifactory':
Uploading hello/0.1@user/testing to remote 'artifactory'
Compressing conan_sources.tgz completed [3 files]
Please log in to "artifactory" to perform this action. Execute "conan user" command.
Remote 'artifactory' username: [email protected]
Please enter a password for "[email protected]" account:
ERROR: hello/0.1@user/testing: Upload recipe to 'artifactory' failed: 400: Conan is not yet migrated to V2 layout. Check logs for progress details.. [Remote: artifactory]
ERROR: Errors uploading some packages
Conan version is 1.30.0
In the Create Conan Packages section, the entry Note : "create" command with "in-source" recipe is local uses the same video as the previous note: Note : "create" and "test_package" are local
Expected:
The image and VO in this entry would reference "in-source"
Actual:
The image and VO reference "test_package"
It seems probable that one can infer this means the same practical thing for "in-source" as it does for "test_package" but it does leave things a little confused.
I practically cannot run the first example (Exercise : Consume with CMake - https://academy.jfrog.com/path/conan/conan-essentials/583095) because the Conan version of the recommended docker is 1.28.1, but 1.32.0 is the minimum version required. I think it would be better to provide a docker image that works out of the box. Failing that, at least instructions on how to upgrade conan in our containers or steps how to lower the requirements.
conan@52dc4eae7f13:~/training/consumer/build$ conan install ..
Configuration:
[settings]
arch=x86_64
arch_build=x86_64
build_type=Release
compiler=gcc
compiler.libcxx=libstdc++11
compiler.version=7
os=Linux
os_build=Linux
[options]
[build_requires]
[env]
ERROR: poco/1.9.4: Cannot load recipe.
Error loading conanfile at '/home/conan/.conan/data/poco/1.9.4///export/conanfile.py': Current Conan version (1.28.1) does not satisfy the defined one (>=1.32.0).
conan@52dc4eae7f13:~/training/consumer/build$
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.