Comments (14)
There is, yes. It's a Windows limitation. See https://docs.microsoft.com/en-us/windows/win32/fileio/maximum-file-path-limitation?tabs=cmd
You can pass the --hash
option or the --abbreviate-paths
option to b2
to work around it. See https://www.bfgroup.xyz/b2/manual/main/index.html#bbv2.overview.invocation.options
from b2.
This is now affecting Boost.Stacktrace installation on Linux in Boost 1.78 - no headers or libraries are installed for Boost.Stacktrace, ever. This is a major regression from 1.77.
from b2.
Reverting both #97 and #81 fixes this, at least for Boost.Stacktrace.
cc @grisumbras
from b2.
It is very unfortunate that I see this issue just now. Can you check if #113 fixes this issue?
from b2.
Yes, at least Boost.Stacktrace installs with #113 applied. Thanks.
from b2.
Looks like this also affects Fiber: boostorg/fiber#290.
from b2.
the patch for 1.78 wrt boost atomic.. stopped working? Surely not. Surely I broke it. Surely I should just look at 1.79.
It's got a patch for a known issue too
I wish boost would release patched versions. What's so scary about 1.78.1 or 1.79.1?
from b2.
Are you saying the issue isn't fixed for you?
from b2.
It was, then it wasn't. So it's definitely us (or some LTSC Visual Studio upgrade has scuppered something but I don't think that's what this is this time, because the patch+build are completing without error).
It would just be nice if the patches were rolled into a patched release, so I didn't have to fret about my patching process falling over when e.g. my coworkers rearrange our nuget package builds rep. I had to modify the patch to work with our particular situation, and while it looks like the patch is still applying correctly since my colleague shuffled the repo folders about, I am now missing the boost-atomic mt gd x64 lib again :(
from b2.
@ncook-hxgn you could at least use the latest B2 instead of the one from the Boost distribution. But perhaps the extra, and separate, B2 build & install is a problem with your build process?
from b2.
I'm using the b2 from the 1.78.0 distribution as far as I am aware, which was reliable enough for me to merge our boost nuget packaging pipeline to main. I can try the latest, but I'm not sure it will help. The bundled one used to work. I'm going to rule out some it-was-me scenarios first..
from b2.
@grafikrobot I have some facts. I don't got no reasons, but I got me some facts:
if the source archive is extracted to X:\repos\<org>\<project>\<repo>\boost\src\boost_1.78_0
, it does build*
if the source archive is extracted to X:\repos\<org>\<project>\<repo>\s\boost\src\boost_1.78_0
, it does build
if the source archive is extracted to X:\repos\<org>\<project>\<repo>\shared\boost\src\boost_1.78_0
, it no build
if the source archive is extracted to X:\repos\<org>\<project>\<repo>\common\boost\src\boost_1.78_0
, it no build
.. Trying to not give away too much about the exact contents of my computer, but X:\repos\<org>\<project>\<repo>
is 47 characters. That is to say, D:\repos\<org>\<project>\<repo>\boost\src\boost_1.78_0
is 70 chars.
- it does build: that is, all permutations of static/shared/32/64 configs under msvc (vc143) produce libraries and those libraries are where my nuspec scripts expect them to be, and all my nugets pack (which to me means everything built, because I package everything).
Is there some sort of known issue for path length when building boost?
from b2.
@pdimov aha - now I did consider MAX_PATH. the path of the libboost_type_erasure-mt-gd-32.lib (~name) was 170 chars, including the filename.. so I kind of figured it likely wasn't that.
However, on my old kit, I had enabled the long win32 paths option in GPO. I'm pretty sure it's enabled on our build machines too.. but it might not be on some newer ones..
I just threw something into my build to try some madness with a subst, but --abbreviate-paths
is more appealing and/or this GPO option are much more appealing. I'll give it a go and come back with more info.
from b2.
Well, --abbreviate-paths
seemed to work for a bit, but now it doesn't again. I'll try --hash
instead
from b2.
Related Issues (20)
- `ar` response files under MinGW contain paths with backslashes, which fails
- b2 fails to build for clang 3.6 HOT 1
- FreeBSD builds in CI HOT 2
- Manifest-related problems with b2 building in msvc-14.0 HOT 2
- Can't compile and install b2 with b2 HOT 1
- How to build clangw .lib HOT 2
- `b2` build fails on gcc 4.8 HOT 1
- b2 can't find MSVC toolset for Visual Studio 2022 v17.9.0 HOT 2
- Warnings about freeing a non-allocated object
- Infinite recursion in `bcp` tests HOT 3
- Config checks using `address-model=32` in Linux don't use the right flags HOT 2
- [question] Best way to pass _GLIBCXX_USE_CXX11_ABI=0/1 using b2?
- Should --abbreviate-paths be made default under Windows? HOT 15
- lzma.jam doesn't support building from source, like zlib.jam and bzip2.jam HOT 1
- zstd.jam doesn't support building from source, as zlib.jam and bzip2.jam do
- Linking Fails - dangerous relocation: R_AMD64_IMAGEBASE with __ImageBase undefined HOT 2
- Boost build fails when VS 2022 Preview is installed HOT 14
- Generate compile_commands.json HOT 8
- build error-boost1.85 with VS2022 under win10 HOT 1
- after setting using zstd in project-config.jam boost.iostreams still can not detect zstd HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from b2.