[SR-3219] swiftGlibc build order wrong(?) #45807
Labels
bug
A deviation from expected or documented behavior. Also: expected but undesirable behavior.
build-script
Area → utils: The build script
Attachment: Download
Environment
Linux 4.4.30-32.54.amzn1.x86_64 #1 SMP Thu Nov 10 15:52:05 UTC 2016 x86_64 x86_64 x86_64 GNU/Linux
Additional Detail from JIRA
md5: 8c3d5a13bc73ee07b8a58989dd877c62
Issue Description:
SwiftGlibc module is not generated when needed, sometimes?, causing build and build-script to stop.
1st occurrence for me, but https://lists.swift.org/pipermail/swift-dev/Week-of-Mon-20161107/003449.html encountered the issue recently and references other previous occurrences.
The error occurred on a clean build on AWS Linux like CentOS C++ 4.8 (in case it's regex related), cmake-3.6.3 (a couple days after an update from 3.6.2).
Calling `ninja make lib-swift-linux-x86_64-glibc.modulemap` after the error seemed to generate the SwiftGlibc module, allowing the build to proceed on re-invocation of the build script.
build.ninja attached, though I did tinker with it trying to solve the problem (possibly duplicating a build directive/target).
Build order may need to be verified.
The error encountered was (reproduced after failure of build-script):
[1/51] Compiling /home/ec2-user/swift/...b/public/Platform/linux/x86_64/Glibc.o
FAILED: stdlib/public/Platform/linux/x86_64/Glibc.o
cd /home/ec2-user/swift/build/Ninja-ReleaseAssert/swift-linux-x86_64/stdlib/public/Platform && /home/ec2-user/swift/swift/utils/line-directive /home/ec2-user/swift/swift/stdlib/public/Platform/Glibc.swift /home/ec2-user/swift/swift/stdlib/public/Platform/Platform.swift /home/ec2-user/swift/swift/stdlib/public/Platform/TiocConstants.swift /home/ec2-user/swift/build/Ninja-ReleaseAssert/swift-linux-x86_64/stdlib/public/Platform/8/tgmath.swift – /home/ec2-user/swift/build/Ninja-ReleaseAssert/swift-linux-x86_64/./bin/swiftc -c -sdk / -target x86_64-unknown-linux-gnu -resource-dir /home/ec2-user/swift/build/Ninja-ReleaseAssert/swift-linux-x86_64/./lib/swift -O -D INTERNAL_CHECKS_ENABLED -I /home/ec2-user/swift/build/Ninja-ReleaseAssert/swift-linux-x86_64/./lib/swift/linux/x86_64 -module-cache-path /home/ec2-user/swift/build/Ninja-ReleaseAssert/swift-linux-x86_64/./module-cache -no-link-objc-runtime -autolink-force-load -module-link-name swiftGlibc -force-single-frontend-invocation -parse-as-library -o /home/ec2-user/swift/build/Ninja-ReleaseAssert/swift-linux-x86_64/stdlib/public/Platform/linux/x86_64/Glibc.o /home/ec2-user/swift/swift/stdlib/public/Platform/Glibc.swift /home/ec2-user/swift/swift/stdlib/public/Platform/Platform.swift /home/ec2-user/swift/swift/stdlib/public/Platform/TiocConstants.swift /home/ec2-user/swift/build/Ninja-ReleaseAssert/swift-linux-x86_64/stdlib/public/Platform/8/tgmath.swift
/home/ec2-user/swift/swift/stdlib/public/Platform/Glibc.swift:13:19: error: no such module 'SwiftGlibc'
@_exported import SwiftGlibc // Clang module
^
The text was updated successfully, but these errors were encountered: