bazelbuild / bazelbuild/reclient

LocalErrorResultStatus: path to windows SDK is not under out/Platform-win

Open
#34 3 comments 0 reactions 0 assignees View on GitHub
Dominant language
Go
Stars
114
Forks
25
PR merge metrics
No merged PRs in 30d

Description

Hello folks!

I am working on setting up buildfarm with reclient to build chromium. My req is to build chromium for windows. Hoping one of you wizards here can point me in the right direction.

My setup is as follows:

- buildfarm-server running as java binary and redis running in the docker container on a linux VM.
- Buildfarm-worker running as a java binary on a windows VM (since my requirement is to build on windows. Hoping to avoid the struggles of cross compiling just yet.
- running chromium build using reclient from my windows desktop.
- All VMs can connect with each other. The redis key Workers_execute shows the worker correctly.
- I was able to run the quick start example from the docs so the setup itself is probably fine.

When I try to run the chromium build command with the recommended args, I see the following error. I think the error is happening because even though I am setting exec_root to C:\ in my rewrapper_windows.cfg config file taking reference from #23 (as confirmed in the rewrapper.info log file attached and the command arg --exec_root:C: in the log just below), when the commands are finally executed, the exec_root changes which out/Platform-win which is build output directory I am passing in my gn comand.

```
[20/58036] CXX obj/base/base_static/static_constants.obj
FAILED: obj/base/base_static/static_constants.obj

..\..\buildtools\reclient\rewrapper -cfg=C:\Users\riturajs.CITRITE\chromium\src\buildtools\reclient_cfgs\linux\chromium-browser-clang\rewrapper_linux.cfg -exec_root=C: -labels=type=compile,compiler=clang-cl,lang=cpp

reclient[c55e4b8e-3e51-4b71-90e7-f71d8c5bf70b]: LocalErrorResultStatus: path C:\Program Files\Microsoft Visual Studio\2022\Professional\VC\Tools\MSVC\14.38.33130\include is not under C:\Users\riturajs.CITRITE\chromium\src\out\Platform-win
```

My reproxy.cfg is
```
service=:8980
log_format=text
server_address=pipe://reproxy.ipc
service_no_auth=true
service_no_security=true
v=3
proxy_log_dir=\chromium\src\buildtools\reclient\logs\
```

The rewrapper.cfg is
```
server_address=pipe://reproxy.ipc
labels=type=compile,compiler=clang,lang=cpp
exec_strategy=remote_local_fallback
dial_timeout=10m
exec_timeout=2m
reclient_timeout=2m
canonicalize_working_dir=true
exec_strategy=remote
v=3
log_env=true
exec_root=C:\
inputs:./Program Files/Microsoft Visual Studio/2022/Professional/VC/Tools/MSVC/14.38.33130/include
```

The GN command which is executed is
```
gn gen out/Platform-win --args="blink_symbol_level=0 symbol_level=2 enable_nacl=false is_component_build=false is_debug=false target_cpu=\"x86\" target_os=\"win\" automation_build=false enable_hangout_services_extension=true disable_fieldtrial_testing_config=true target_os_only=\"True\" target_cpu_only=\"True\" "
```

Logs - [logs.zip](https://github.com/bazelbuild/reclient/files/14492636/logs.zip)

Could someone here take a look and share any pointers on how to fix this?

Contributor guide

Open the contributing guide

Research direction

Start with the rewrapper configuration and the attached logs, comparing the configured exec_root with the generated out/Platform-win path and the Windows SDK input path. Trace where LocalErrorResultStatus validates that input, then use the Chromium GN command to reproduce the failure; done means the configuration behavior is understood and the reported path mismatch is resolved or documented.

Written by the indexing model from the issue text.

Assessment

Tech stack
go, redis
Domain
build-system, operating-systems
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.