[swift-dev] xcodebuild hits "error deserializing an individual record" when building XCTest w/ Foundation
Brian Gesiak
modocache at gmail.com
Fri Feb 26 00:12:48 CST 2016
Hello all!
I've been stumped by a compiler assertion I'm hitting in
https://github.com/apple/swift-corelibs-xctest/pull/43, and was wondering
if anyone could offer some insight.
The pull request has swift-corelibs-xctest depend upon
swift-corelibs-foundation (I'll refer to these as XCTest and Foundation in
this email).
On Linux, this works like a dream. All it takes is linking Foundation when
building XCTest:
$ swiftc -emit-library path/to/XCTest.o \
-L path/to/Foundation \
-lswiftGlibc -lswiftCore -lFoundation -lm
On OS X, I use an Xcode workspace that includes XCTest.xcodeproj and
Foundation.xcodeproj. In the "Link Binary with Libraries" step, I link
SwiftFoundation.framework. However, when compiling the project I encounter
the following stack trace:
https://gist.github.com/modocache/ad562405d19aa4ad6194
The problem appears to be in swift::ModuleFile::resolveCrossReference,
where an assertion is hit: "error deserializing an individual record".
Looking at the resolveCrossReference method, it appears error() is called
when a BitstreamCursor encounters an entry that is not a kind
of lvm::BitstreamEntry::Record. I guess there's some sort of malformed
bitcode getting generated somewhere?
This is about as far as I've gotten. I seem to recall a conversation in
https://github.com/apple/swift-corelibs-xctest/commit/6a1e7836e91940be94856bfda245deb125a66729#commitcomment-16253578,
in which people commented that Foundation is always built in Debug mode.
Could that be causing this?
Any advice would be much appreciated!
- Brian Gesiak
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.swift.org/pipermail/swift-dev/attachments/20160226/33e709ce/attachment.html>
More information about the swift-dev
mailing list