Search code examples
swiftcrashsegmentation-faultswift-package-manager

Running 'swift build' crashes with segmentation fault when dependency name equals project's name


Example:

> mkdir myProject && cd myProject
> swift package init --type executable

Edit Package.swift (added 1 dependency):

// swift-tools-version:4.0
// The swift-tools-version declares the minimum version of Swift required to build this package.

import PackageDescription

let package = Package(
    name: "myProject",
    dependencies: [
        // Dependencies declare other packages that this package depends on. 
        // .package(url: /* package url */, from: "1.0.0"),
        .package(url: "https://github.com/someone/myProject.git", from: "1.0.0"),
    ],  
    targets: [
        // Targets are the basic building blocks of a package. A target can define a module or a test suite.
        // Targets can depend on other targets in this package, and on products in packages which this package depends on. 
        .target(
            name: "myProject",
            dependencies: []),
    ]   
)

Build it:

> swift build
Segmentation fault (core dumped)

Environment

  • Ubuntu 16.04 LTS
  • Swift version 4.1-dev (LLVM 260a172ffb, Clang cd84be6c42, Swift 05b1b2be7c)

Is anyone aware if this was recently introduced and/or is happening with other versions of swift?


Solution

  • It is a bug:

    Swift Bug SR-7597

    https://bugs.swift.org/browse/SR-7597