I tried to build a library that depends on boost using Docker image conanio/gcc54.
I specified --build missing option because there is no pre-built boost library, but the build failed with an HTTP response "Forbidden!" from https://dl.bintray.com/boostorg/release/1.72.0/source/boost_1_72_0.tar.bz2.
How to build boost?
also bumped into this issue!
I tried to build boost/1.67.0@conan/stable on docker container gcc8-armv8.
And also failed with forbidden error.
ERROR: boost/1.67.0@conan/stable: Error in source() method, line 80
tools.get(url, sha256=sha256)
AuthenticationException: Forbidden!
This is a problem with bintray.com
The problem was mentioned also on the boost user mailing list:
https://lists.boost.org/boost-users/2020/02/90280.php
Currently, the links at https://www.boost.org/users/download/ are forbidden 🚫
@madebr Thank you for information.
I did not know that Boost sources are now being archived on Bintray.
This is the boost issue, so I close this issue.
This is a problem with bintray.com
The problem was mentioned also on the boost user mailing list:
https://lists.boost.org/boost-users/2020/02/90280.php
Currently, the links at https://www.boost.org/users/download/ are forbidden 🚫
But if download link is changed, conan-center-index boost recipe seems to be changed.
https://github.com/conan-io/conan-center-index/blob/master/recipes/boost/all/conandata.yml is still refering broken links... for example,
sources:
1.66.0:
url: "https://dl.bintray.com/boostorg/release/1.66.0/source/boost_1_66_0.tar.bz2"
sha256: "5721818253e6a0989583192f96782c4a98eb6204965316df9f5ad75819225ca9"
1.67.0:
url: "https://dl.bintray.com/boostorg/release/1.67.0/source/boost_1_67_0.tar.bz2"
sha256: "2684c972994ee57fc5632e03bf044746f6eb45d4920c343937a465fd67a5adba"
...
I found boost issue: boostorg/boost#299 and see this comment: https://github.com/boostorg/boost/issues/299#issuecomment-593064251
We have reached our bandwidth limit at bintray for the month.
Try again tomorrow (3/1).
Contrary to the comment above, we are not yet able to download.
Suggestion: we can also download the source from SourceForge or GitHub release page: https://github.com/boostorg/boost/releases
Can make this a fallback URL in case the same problem happens?
Suggestion: we can also download the source from SourceForge or GitHub release page: https://github.com/boostorg/boost/releases
Can make this a fallback URL in case the same problem happens?
Unfortunately, neither alternative worked.
SourceForge did not work because HTTP redirection was not possible.
I got the following error message:
ERROR: boost/1.72.0: Error in source() method, line 145
tools.get(**self.conan_data["sources"][self.version])
BadZipFile: File is not a zip file
Patch files could not be applied to the sources that can be obtained from the boost GitHub release page.
The directory layout seems to be different.
We can't build boost from source unless Bintray is back.
Looks like I have found a workaround. If you download archive from sourceforge and serve it on some local server - then you should be able to download and build package
@yuriy-mochurad Nice! I didn't come up with that method.
The following patch works for me:
diff --git a/recipes/boost/all/conanfile.py b/recipes/boost/all/conanfile.py
index 0fd5c56..c71b5e5 100644
--- a/recipes/boost/all/conanfile.py
+++ b/recipes/boost/all/conanfile.py
@@ -87,7 +87,7 @@ class BoostConan(ConanFile):
default_options.update({"without_python": True})
short_paths = True
no_copy_source = True
- exports_sources = ['patches/*']
+ exports_sources = ['patches/*', 'boost_1_72_0.tar.bz2']
@property
def _bcp_dir(self):
@@ -142,7 +142,7 @@ class BoostConan(ConanFile):
self.info.options.python_version = self._python_version
def source(self):
- tools.get(**self.conan_data["sources"][self.version])
+ tools.unzip("boost_1_72_0.tar.bz2")
if self.version in self.conan_data["patches"]:
for patch in self.conan_data["patches"][self.version]:
tools.patch(**patch)
Command line to export to local machine:
$ cd recipes/boost/all/
$ conan export . boost/1.72.0@
I can now build a boost with conan-center-index recipe, Bintray seems to be back.
bintray seems down again :
ERROR: boost/1.71.0@conan/stable: Error in source() method, line 151
tools.get(url, sha256=sha256)
AuthenticationException: Forbidden!
We have encountered the same boost project problem as last month: https://github.com/boostorg/boost/issues/299#issuecomment-605340836
I'm encountering this same problem intermittently attempting to install boost 1.73.0, with:
os=Linux
os_build=Linux
arch=x86_64
arch_build=x86_64
compiler=clang
compiler.version=10
compiler.libcxx=libstdc++
build_type=Release
boost/1.73.0: WARN: Build folder is dirty, removing it: conan_tmp/.conan/data/boost/1.73.0/_/_/build/a2e36d02bc364f79baefaf8f1feb19cdacf9da97
boost/1.73.0: WARN: Trying to remove corrupted source folder
boost/1.73.0: WARN: This can take a while for big packages
boost/1.73.0: Configuring sources in conan_tmp/.conan/data/boost/1.73.0/_/_/source
ERROR: boost/1.73.0: Error in source() method, line 173
tools.get(**self.conan_data["sources"][self.version])
AuthenticationException: Forbidden!
@blackencino There are still days to go until the end of the month, but it looks like the OSS download limit has been reached.
This is a newly opened issue: #1857
Thank you for your rapid response - as I (and it seems others) am critically blocked by this, do you recommend the alternate URL modification as suggested above and in the other thread?
same problem here :/
@blackencino I tried to use the GitHub release as an alternative URL, but gave up when I noticed that the sha256 in the archive was different (https://github.com/conan-io/conan-center-index/issues/1857#issuecomment-640316746).
The local build is working with a workaround that exports the archive file downloaded from SourceForge (https://github.com/conan-io/conan-center-index/issues/1007#issuecomment-593273000).
However, this is really just a stopgap workaround.
Thank you - we'll have to try something like that stopgap, otherwise we're blocked until July apparently. I realize this isn't a conan issue per-se, I appreciate your quick feedback.
I just tried the releases at https://github.com/boostorg/boost/releases and these archives are a snapshot of the boost repo at the time of tagging.
These snapshots do not include git submodules, so no actual code is included.
You can try the source forge mirror:
https://sourceforge.net/projects/boost/files/boost/1.73.0/boost_1_73_0.tar.bz2
Apologies if this is an inappropriate use of this thread: we do not currently develop any conan packages directly, we just have a build system that uses conan as a consumer of packages. Is there a recommended best-practice for downloading a recipe (boost, in this case) to make local changes to it?
ソースフォージミラーを試すことができます:https :
//sourceforge.net/projects/boost/files/boost/1.73.0/boost_1_73_0.tar.bz2
@madebr I also considered using SourceForge before.
But for some reason, Boost 1.71.0 is empty.
I remember that I gave up on it because it doesn't work as a perfect mirror.
https://sourceforge.net/projects/boost/files/boost/1.71.0/
@tt4g
I opened #1208 by copy/paste/editing the url.
But it looks like 1.71.0 is the ugly duck
Boost 1.72.0 worked perfectly with sourceforge. I managed to workaround that issue with serving boost archive from local server and build it locally
I opened #1208 by copy/paste/editing the url.
But it looks like 1.71.0 is the ugly duck
👍
@blackencino
Apologies if this is an inappropriate use of this thread: we do not currently develop any conan packages directly, we just have a build system that uses conan as a consumer of packages. Is there a recommended best-practice for downloading a recipe (boost, in this case) to make local changes to it?
This is not really a good place to answer this question.
I know a way to do it using conan source + edits + conan install + conan build + conan package (+ conan export-pkg). But there are probably other ways to do this.
Because you probably want to have a reproducible build, you can extract your changes to a patch file and add it to conandata.yml.
I suggest looking at https://github.com/conan-io/conan/issues and eventually opening one.
Most helpful comment
bintray seems down again :
ERROR: boost/1.71.0@conan/stable: Error in source() method, line 151
tools.get(url, sha256=sha256)
AuthenticationException: Forbidden!