Please record this in a bug at bugs.swift.org so that it doesn’t get lost, if you haven’t already.
Thanks! Alex Sent from my iPhone 📱 > On 16 Oct 2017, at 19:56, Edward Connell <ewconn...@gmail.com> wrote: > > Specifying the clang import location is what is triggering the LLDBFrontend > crash. > I think you are saying that I should not need to specify the clang include > import location to the compiler. > > I've attached the unmodified SwiftProtobuf example program found in the docs > at https://github.com/apple/swift-protobuf.git, so this is independent from > my project. > > Are you able to simply do "swift build" and successfully debug and examine > values like "info"? > For me it fails unless I also specify the import location for the clang > include directory. > > swift build -I/home/ed/swift/usr/lib/swift/clang/include > > And yes I checked, I am picking up the correct swift binary > > > Swift > $ swift --version > Swift version 4.0.1-dev (LLVM 2dedb62a0b, Clang b9d76a314c, Swift 00e34e4b1e) > Target: x86_64-unknown-linux-gnu > > LLDB failure output > ------------------------ > $ lldb HelloWorld > (lldb) target create "HelloWorld" > Current executable set to 'HelloWorld' (x86_64). > (lldb) b main.swift:20 > Breakpoint 1: where = HelloWorld`main + 1116 at main.swift:21, address = > 0x000000000041146c > (lldb) run > Process 20745 launched: > '/home/ed/Documents/prototest/.build/x86_64-unknown-linux/debug/HelloWorld' > (x86_64) > Process 20745 stopped > * thread #1, name = 'HelloWorld', stop reason = breakpoint 1.1 > frame #0: 0x000000000041146c HelloWorld`main at main.swift:21 > 18 let binaryData: Data = try info.serializedData() > 19 > 20 // Deserialize a received Data object from `binaryData` > -> 21 let decodedInfo = try BookInfo(serializedData: > binaryData) > 22 > 23 // Serialize to JSON format as a Data object > 24 let jsonData: Data = try info.jsonUTF8Data() > Target 0: (HelloWorld) stopped. > (lldb) p info > error: in auto-import: > failed to get module 'HelloWorld' from AST context: > <module-includes>:1:10: note: in file included from <module-includes>:1: > #include "CoreFoundation.h" > ^ > > error: /home/ed/swift/usr/lib/swift/CoreFoundation/CoreFoundation.h:26:10: > error: 'stdarg.h' file not found > #include <stdarg.h> > ^ > > /home/ed/swift/usr/lib/swift/CoreFoundation/CFStream.h:20:10: note: while > building module 'CDispatch' imported from > /home/ed/swift/usr/lib/swift/CoreFoundation/CFStream.h:20: > #include <dispatch/dispatch.h> > ^ > > <module-includes>:1:10: note: in file included from <module-includes>:1: > #include "dispatch.h" > ^ > > /home/ed/swift/usr/lib/swift/dispatch/dispatch.h:30:10: note: in file > included from /home/ed/swift/usr/lib/swift/dispatch/dispatch.h:30: > #include <os/linux_base.h> > ^ > > /home/ed/swift/usr/lib/swift/os/linux_base.h:19:10: note: in file included > from /home/ed/swift/usr/lib/swift/os/linux_base.h:19: > #include <sys/param.h> > ^ > > error: /usr/include/x86_64-linux-gnu/sys/param.h:23:10: error: 'stddef.h' > file not found > #include <stddef.h> > ^ > > error: could not build C module 'CoreFoundation' > > >> On Mon, Oct 16, 2017 at 11:00 AM, Alex Blewitt <alb...@apple.com> wrote: >> > On 16 Oct 2017, at 18:52, Edward Connell <ewconn...@gmail.com> wrote: >> > >> > While creating a bug report for this problem I placed my simple repro case >> > in a separate project with default build settings and I found that it no >> > longer crashes LLDB. >> > >> > My main project links to several system C libraries, because I am using >> > libpng, Cuda, etc... >> > In order for LLDB to function with my project and load things from the AST >> > context, I was told to specify the clang include directory. >> > >> > swift build -Xswiftc -I${SWIFT_HOME}/lib/swift/clang/include >> > >> > In the past everything worked fine. >> > >> > The stand alone bug repro project has no C library dependencies, however >> > if I add this option, LLDB crashes. >> >> If you can add that information to the bug report, including whawt version >> of swift you're using (with swiftc -v) and the crash report then that would >> allow others to see what problem you're experiencing. >> >> I assume that SWIFT_HOME is the same location as the swift executable that >> you're running? Might be worth checking with 'which swift'. >> >> > I tried eliminating this option from my main project, and from a separate >> > project using SwiftProtobuf. The result is that I am no longer able to >> > debug either of them. Is there some new way we are supposed to pick up >> > system imports, or is the a legitimate bug? >> >> The Swift REPL on Linux needs to have the -I flag in order to work as >> expected. However, the swift compiler shouldn't need to have that >> information, since it will know where the corresponding include directory is. >> >> Alex > > <prototest.tar.gz>
_______________________________________________ swift-users mailing list swift-users@swift.org https://lists.swift.org/mailman/listinfo/swift-users