process fails to compile in boost 1.86.0 on windows
Nobody has claimed this yet.
Assessment
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Newbie friendliness
- 25/100
- Issue type
- Bug
- Clarity
- Mostly clear
- Activity status
- Stale
- Tech stack
- cpp
- Domain
- operating-systems
Research direction
Start with libs/process/src/ext/exe.cpp and boost/process/v2/windows/default_launcher.hpp, then reproduce the reported 32-bit MSVC build using the commands and Windows defines in the issue. Trace the QueryFullProcessImageNameW and startup_info compile errors and verify that the process library completes compilation under the reported configuration.
Written by the indexing model from the issue text.
Description
I'm compiling boost on windows and boost process fails to compile.
Compilation done by following commands in boost src folder.
bootstrap.bat
b2.exe -d4 --build-type=minimal stage variant=release address-model=32 link=shared threading=multi runtime-link=shared debug-symbols=on debug-store=database -j%NUMBER_OF_PROCESSORS% --layout=
system --with-process --build-dir=..\boost_build --stagedir=..\boost_stage\ %XP_TOOLSET_DEFINES% > bjam.log 2>&1
I've used --with-process just to cut down compile time and log to reproduce problem, same happens if this flag is not used.
After this is done several libs are compiled in ..\boost_stage\lib (atomic and filesystem) but process is not.
Log file is attached bjam.log.zip, I think the root cause are those compilation errors:
Executing using a command file and the shell: cmd.exe /Q/C
Command string for CreateProcessA(): 'cmd.exe /Q/C "C:\Users\Admin\AppData\Local\Temp\jam15820-05-00.bat"'
compile-c-c++ ..\boost_build\boost\bin.v2\libs\process\build\msvc-14.3\release\x86_32\debug-store-database\debug-symbols-on\threading-multi\ext\exe.obj
call "..\boost_build\boost\bin.v2\standalone\msvc\msvc-14.3\address-model-32\architecture-x86\msvc-setup.bat" >nul
cl /Zm800 -nologo "libs\process\src\ext\exe.cpp" -c -Fo"..\boost_build\boost\bin.v2\libs\process\build\msvc-14.3\release\x86_32\debug-store-database\debug-symbols-on\threading-multi\ext\exe.obj" /Fd"..\boost_build\boost\bin.v2\libs\process\build\msvc-14.3\release\x86_32\debug-store-database\debug-symbols-on\threading-multi\ext\exe.pdb" -TP /wd4675 /EHs /GR /Zc:throwingNew /O2 /Zi /Ob2 /W3 /MD /Zc:forScope /Zc:wchar_t /Zc:inline /Gw /bigobj -DBOOST_ALL_NO_LIB=1 -DBOOST_ASIO_NO_DEPRECATED -DBOOST_ATOMIC_DYN_LINK=1 -DBOOST_COBALT_USE_STD_PMR=1 -DBOOST_FILESYSTEM_DYN_LINK=1 -DBOOST_PROCESS_DYN_LINK=1 -DBOOST_PROCESS_SOURCE=1 -DNDEBUG -DNTDDI_VERSION=0x05010000 -DPSAPI_VERSION=1 -DWIN32_LEAN_AND_MEAN -DWINVER=0x0501 -D_CRT_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -D_WIN32_WINNT=0x0501 "-I."
exe.cpp
libs\process\src\ext\exe.cpp(78): error C3861: 'QueryFullProcessImageNameW': identifier not found
0.125000 sec system; 0.031250 sec user; 3.299207 sec clock
...failed compile-c-c++ ..\boost_build\boost\bin.v2\libs\process\build\msvc-14.3\release\x86_32\debug-store-database\debug-symbols-on\threading-multi\ext\exe.obj...
Command string for CreateProcessA(): 'cmd.exe /Q/C "C:\Users\Admin\AppData\Local\Temp\jam15820-01-00.bat"'
compile-c-c++ ..\boost_build\boost\bin.v2\libs\process\build\msvc-14.3\release\x86_32\debug-store-database\debug-symbols-on\threading-multi\windows\default_launcher.obj
call "..\boost_build\boost\bin.v2\standalone\msvc\msvc-14.3\address-model-32\architecture-x86\msvc-setup.bat" >nul
cl /Zm800 -nologo "libs\process\src\windows\default_launcher.cpp" -c -Fo"..\boost_build\boost\bin.v2\libs\process\build\msvc-14.3\release\x86_32\debug-store-database\debug-symbols-on\threading-multi\windows\default_launcher.obj" /Fd"..\boost_build\boost\bin.v2\libs\process\build\msvc-14.3\release\x86_32\debug-store-database\debug-symbols-on\threading-multi\windows\default_launcher.pdb" -TP /wd4675 /EHs /GR /Zc:throwingNew /O2 /Zi /Ob2 /W3 /MD /Zc:forScope /Zc:wchar_t /Zc:inline /Gw /bigobj -DBOOST_ALL_NO_LIB=1 -DBOOST_ASIO_NO_DEPRECATED -DBOOST_ATOMIC_DYN_LINK=1 -DBOOST_COBALT_USE_STD_PMR=1 -DBOOST_FILESYSTEM_DYN_LINK=1 -DBOOST_PROCESS_DYN_LINK=1 -DBOOST_PROCESS_SOURCE=1 -DNDEBUG -DNTDDI_VERSION=0x05010000 -DPSAPI_VERSION=1 -DWIN32_LEAN_AND_MEAN -DWINVER=0x0501 -D_CRT_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -D_WIN32_WINNT=0x0501 "-I."
default_launcher.cpp
D:\Projects\boost\boost/process/v2/windows/default_launcher.hpp(220): error C3646: 'startup_info': unknown override specifier
D:\Projects\boost\boost/process/v2/windows/default_launcher.hpp(220): error C2059: syntax error: '{'
D:\Projects\boost\boost/process/v2/windows/default_launcher.hpp(220): error C2334: unexpected token(s) preceding '{'; skipping apparent function body
0.078125 sec system; 0.046875 sec user; 3.474433 sec clock
...failed compile-c-c++ ..\boost_build\boost\bin.v2\libs\process\build\msvc-14.3\release\x86_32\debug-store-database\debug-symbols-on\threading-multi\windows\default_launcher.obj...
Command string for CreateProcessA(): 'cmd.exe /Q/C "C:\Users\Admin\AppData\Local\Temp\jam15820-04-00.bat"'
compile-c-c++ ..\boost_build\boost\bin.v2\libs\process\build\msvc-14.3\release\x86_32\debug-store-database\debug-symbols-on\threading-multi\environment.obj
call "..\boost_build\boost\bin.v2\standalone\msvc\msvc-14.3\address-model-32\architecture-x86\msvc-setup.bat" >nul
cl /Zm800 -nologo "libs\process\src\environment.cpp" -c -Fo"..\boost_build\boost\bin.v2\libs\process\build\msvc-14.3\release\x86_32\debug-store-database\debug-symbols-on\threading-multi\environment.obj" /Fd"..\boost_build\boost\bin.v2\libs\process\build\msvc-14.3\release\x86_32\debug-store-database\debug-symbols-on\threading-multi\environment.pdb" -TP /wd4675 /EHs /GR /Zc:throwingNew /O2 /Zi /Ob2 /W3 /MD /Zc:forScope /Zc:wchar_t /Zc:inline /Gw /bigobj -DBOOST_ALL_NO_LIB=1 -DBOOST_ASIO_NO_DEPRECATED -DBOOST_ATOMIC_DYN_LINK=1 -DBOOST_COBALT_USE_STD_PMR=1 -DBOOST_FILESYSTEM_DYN_LINK=1 -DBOOST_PROCESS_DYN_LINK=1 -DBOOST_PROCESS_SOURCE=1 -DNDEBUG -DNTDDI_VERSION=0x05010000 -DPSAPI_VERSION=1 -DWIN32_LEAN_AND_MEAN -DWINVER=0x0501 -D_CRT_SECURE_NO_DEPRECATE -D_SCL_SECURE_NO_WARNINGS -D_WIN32_WINNT=0x0501 "-I."
environment.cpp
D:\Projects\boost\boost/process/v2/windows/default_launcher.hpp(220): error C3646: 'startup_info': unknown override specifier
D:\Projects\boost\boost/process/v2/windows/default_launcher.hpp(220): error C2059: syntax error: '{'
D:\Projects\boost\boost/process/v2/windows/default_launcher.hpp(220): error C2334: unexpected token(s) preceding '{'; skipping apparent function body
0.093750 sec system; 0.031250 sec user; 3.934528 sec clock
...failed compile-c-c++ ..\boost_build\boost\bin.v2\libs\process\build\msvc-14.3\release\x86_32\debug-store-database\debug-symbols-on\threading-multi\environment.obj...
How can this be fixed?
Thank you very much in advance :).
- Dominant language
- C++
- Stars
- 145
- Forks
- 151
- PR merge metrics
- No merged PRs in 30d
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
More from boostorg/process
-
Difficulty 2/5 1-3 hours Newbie friendliness 68/100
-
Difficulty 1/5 Under an hour Newbie friendliness 72/100
-
Difficulty 1/5 Under an hour Newbie friendliness 68/100
-
Difficulty 4/5 3-5 days Newbie friendliness 45/100
-
Difficulty 5/5 Over a week Newbie friendliness 35/100
All issues in boostorg/process
Similar issues
-
Difficulty 1/5 Under an hour Newbie friendliness 90/100
AXERA-TECH/ax-llm#77 ·
-
Difficulty 1/5 Under an hour Newbie friendliness 90/100
games-on-whales/wolf#509 ·
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
-
bug-unconfirmed
Difficulty 2/5 1-3 hours Newbie friendliness 76/100
-
Difficulty 2/5 1-3 hours Newbie friendliness 74/100
NVIDIA/cuda-samples#453 ·