Comments (8)
Can you give me more details on the environment? How are you building? I.e. is it mingw64, cygwin, WSL, something else? Do you have a small repro project and command you invoke?
Also.. for this:
and the first line of the response file is -L"c:\external\boost_1_78_0"
That, looks the same as..
This leads to problems because g++ does not find libs correctly. The first line of the response file should be either
-L"c:\external\boost_1_78_0"
..this to me.
or
-L"c:/external/boost_1_78_0"
so that g++ can find correctly the libs.
from b2.
Can you give me more details on the environment? How are you building? I.e. is it mingw64, cygwin, WSL, something else? Do you have a small repro project and command you invoke?
My g++ is mingw64
c:\Compilers\mingw64-113\bin>g++ --version
g++ (MinGW-W64 x86_64-posix-seh, built by Brecht Sanders) 11.3.0
I will try to make a small project to show you the problem tomorrow.
Also.. for this:
and the first line of the response file is -L"c:\external\boost_1_78_0"
That, looks the same as..
Oups I made a mistake the first line of the response file should be:
-L"c:\external\boost_1_78_0"
or
-L"c:/external/boost_1_78_0"
But if it is:
-L"c:\external\boost_1_78_0"
then g++ does not find the libs.
from b2.
There is a problem with the "\\" due to escaping the first line should contain "\\" instead of single "\"
from b2.
I have done a small test case:
jamroot file contents
lib mylib
:
: mylib
;
exe a : a.cpp .//mylib
: lib/lib
file
;
bjam.bat file contents
@SETLOCAL
@set MINGW64=c:\compilers\mingw64-113\bin
@set BOOST_LOCATION=%USERPROFILE%\nest\external\boost_1_83_0
@set PATH=%MINGW64%;%BOOST_LOCATION%;%PATH%
@set BOOST_BUILD_PATH=%BOOST_LOCATION%
b2.exe --toolset=gcc address-model=64 %*
@endlocal
output of bjam.bat -d2
c:\Users\renaud\nest\default\bug_b2>b2.exe --toolset=gcc address-model=64 -d+2
file bin/gcc-11/debug/address-model-64/threadapi-win32/a.exe.rsp
-L"lib\lib" -o "bin\gcc-11\debug\address-model-64\threadapi-win32\a.exe" -Wl,--start-group "bin/gcc-11/debug/address-model-64/threadapi-win32/a.o" -Wl,-Bstatic -Wl,-Bdynamic -lmylib -Wl,--end-group -g
gcc.link bin\gcc-11\debug\address-model-64\threadapi-win32\a.exe
"g++" @"bin/gcc-11/debug/address-model-64/threadapi-win32/a.exe.rsp"
c:/compilers/mingw64-113/bin/../lib/gcc/x86_64-w64-mingw32/11.3.0/../../../../x86_64-w64-mingw32/bin/ld.exe: cannot find -lmylib: No such file or directory
collect2.exe: error: ld returned 1 exit status
It works if I use bbv2 included in boost_1_78_0. I hope it will help to solve the issue.
from b2.
sorry again jamroot file contents is
`lib mylib
:
: mylib
;
exe a : a.cpp .//mylib
: lib/lib
file
; `
from b2.
A simple test case with all the files.
from b2.
The regression is between boost 1.83 and boost 1.82.
With boost 1.82, the linker line is the following one (the -L flag is not in the response .rsp file)
"g++" -L"lib\lib" -o "bin\gcc-11\debug\address-model-64\a.exe" @"bin/gcc-11/debug/address-model-64/a.exe.rsp" -g
from b2.
Related Issues (20)
- There is something wrong with escaping \ in regex.replace HOT 1
- GCC: Turn off implibs generation by default or remove completely
- `if $(unset-var) in a b c` is always true
- B2 fails to use quoted path invocation for the archiver program. HOT 4
- B2 4.9 is 33% slower to start-up than 1.68
- Option to turn down verbosity HOT 4
- `%~dp0` is wrong in `SHELL \"script\"` (correct in `SHELL script`) HOT 1
- Override "--target" for clang build HOT 1
- Response files issues and long path support HOT 2
- bootstrap fails on gcc-8.3 HOT 8
- version mismatch message HOT 2
- `--abbreviate-paths` leads to build config clashes HOT 2
- Building boost to web assembly fails HOT 1
- Enhanced `dll-path` & `hardcode-dll-paths` documentation HOT 1
- boost fail to be detected / No 'bootstrap.jam' was found by searching for / file STRINGS file "/usr/include/boost/version.hpp" cannot be read. HOT 2
- Bootstrap procedure writes to source directory HOT 1
- OSPLAT is not defined for riscv HOT 1
- Cannot run bootstrap.bat with VC141 HOT 3
- commented modified rebuild 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.