-
-
Notifications
You must be signed in to change notification settings - Fork 230
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
breaking change with rsp file when migrating from boost 1.78 to boost 1.83 under windows/mingw64 #342
Comments
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:
That, looks the same as..
..this to me.
|
c:\Compilers\mingw64-113\bin>g++ --version I will try to make a small project to show you the problem tomorrow.
Oups I made a mistake the first line of the response file should be: But if it is: then g++ does not find the libs. |
There is a problem with the "\\" due to escaping the first line should contain "\\" instead of single "\" |
I have done a small test case: lib mylib exe a : a.cpp .//mylib bjam.bat file contents @SETLOCAL output of bjam.bat -d2 file 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 It works if I use bbv2 included in boost_1_78_0. I hope it will help to solve the issue. |
sorry again jamroot file contents is `lib mylib exe a : a.cpp .//mylib |
A simple test case with all the files. |
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) |
Fixed with 2474be5 |
Hello,
I am migrating my application from boost-1.78 (b2 4.7-git) to boost-1.83 (b2 4.10-git). I am using boost build and bjam as a build tool for my application.
I am using g++ compiler (11.3) under windows environment, everything was working correctly under the old version of boost-build but I am having a problem with the new one.
It is related to the linker pass where a response file .rsp file is used because the line can be very long.
In previous version, the linker line generated was something like :
g++ -L"c:\external\boost_1_78_0" @toto.rsp
now the line is
g++ @toto.rsp
and the first line of the response file is -L"c:\external\boost_1_78_0"
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"
or
-L"c:/external/boost_1_78_0"
so that g++ can find correctly the libs.
What could I do to fix the problem ? Is this a bug ?
Best regards,
Renaud Lepère
The text was updated successfully, but these errors were encountered: