Skip to content

[SR-3033] Poor diagnostic when importing executable target module in a test #5190

@swift-ci

Description

@swift-ci
Previous ID SR-3033
Radar None
Original Reporter ontouchstart (JIRA User)
Type Bug
Status Resolved
Resolution Duplicate

Attachment: Download

Environment

Swift version 3.0 (swift-3.0-RELEASE)
Target: x86_64-unknown-linux-gnu
Swift Package Manager - Swift 3.0.0

Test repo:

https://github.com/thinkswift/test_main/tree/907a62c40321209f8d60e835ee58c10e999d17e4

Additional Detail from JIRA
Votes 1
Component/s Package Manager
Labels Bug, Linux
Assignee None
Priority Medium

md5: 9e3dfc420909e57213129976258c15f0

duplicates:

  • SR-1503 Can't test module under linux that has main.swift in it

relates to:

  • SR-1393 [SwiftPM] Enforce Swift module import dependencies

Issue Description:

swift test -v
/swift-3.0-RELEASE-ubuntu15.10/usr/bin/swiftc --driver-mode=swift -I /swift-3.0-RELEASE-ubuntu15.10/usr/lib/swift/pm -L /swift-3.0-RELEASE-ubuntu15.10/usr/lib/swift/pm -lPackageDescription /home/test_main/Package.swift -fileno 4
/swift-3.0-RELEASE-ubuntu15.10/usr/bin/swift-build-tool -f /home/test_main/.build/debug.yaml test -v
'/swift-3.0-RELEASE-ubuntu15.10/usr/bin/swiftc' -Xlinker '-rpath=$ORIGIN' -g -L/home/test_main/.build/debug -o /home/test_main/.build/debug/test_mainPackageTests.xctest -module-name test_mainPackageTests /home/test_main/Tests/LinuxMain.swift -emit-executable -I /home/test_main/.build/debug /home/test_main/.build/debug/test_mainTests.build/test_mainTests.swift.o /home/test_main/.build/debug/test_main.build/main.swift.o /home/test_main/.build/debug/test_main.build/test_no_main.swift.o
/usr/bin/ld.gold: error: /home/test_main/.build/debug/test_main.build/main.swift.o: multiple definition of 'main'
/usr/bin/ld.gold: /tmp/LinuxMain-41188c.o: previous definition here
/usr/bin/ld.gold: fatal error: /home/test_main/.build/debug/test_mainPackageTests.xctest: open: Is a directory
clang: error: linker command failed with exit code 1 (use -v to see invocation)
<unknown>:0: error: link command failed with exit code 1 (use -v to see invocation)
<unknown>:0: error: build had 1 command failures
error: exit(1): /swift-3.0-RELEASE-ubuntu15.10/usr/bin/swift-build-tool -f /home/test_main/.build/debug.yaml test -v

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions