-
Notifications
You must be signed in to change notification settings - Fork 123
Debugging breaks in Xcode 12.1+ with external module maps #196
Comments
Michael, is the name of your workspace "c"? That is, is this the same workaround I'd found in #164? |
Yes, the same workaround, and one which I want to avoid |
I've updated it to use |
Are you hardcoding the path to your module map file like |
The relevant module map line, at least for swiftc, appears to be |
(I shouldn't have used the word "map".) In the generated Xcode project's "Other Swift Flags" setting, the module map flags become |
But that would only affect files compiled in that target, right? I.e., only affecting indexing and not debugging. That means it wouldn't apply to these .o files compiled in the bazel build. |
Interesting, yeah for indexing Tulsi has the symlink there, but for debugging lldb will have trouble finding it since lldb isn't given the proper working directory (it'll be |
Would adding mapping for
|
Yeah, that's worth a shot (wonder if you need to remap |
Thanks for submitting this issue but this tool is being deprecated. Please checkout rules_xcodeproj for a more complete and maintained Xcode integration. |
Xcode has been complaining about missing module maps at
<workspace root>/external/.../module.modulemap
for some time, but it seems in Xcode 12.1+ that it's actually causing an LLDB RPC crash for us when trying to runpo <anything>
. Looking at the dSYM, I see relative paths of the formexternal/.../module.modulemap
, as well as module maps of the formbazel-client/.../module.modulemap
for non-external rules. The latter seems to work, but not the former. I can fix it by addingln -s <workspace root>/bazel-client/external <workspace root>/external
, but I'd really like to avoid adding symlinks like this to the top level. How does this work in the first place? How does LLDB's "working directory" seem to be set to the workspace root at all? And how might I fix this?The text was updated successfully, but these errors were encountered: