swiftlang / swift-package-manager

The Package Manager for the Swift Programming Language
Apache License 2.0
9.69k stars 1.33k forks source link

[SR-13558] Swift Packet Manager Error - Perfect framework #4501

Open swift-ci opened 3 years ago

swift-ci commented 3 years ago
Previous ID SR-13558
Radar rdar://problem/69075100
Original Reporter Mster Lee (JIRA User)
Type Bug
Environment OS: Linux Ubuntu 16.04 LTS Swift version: 5.2.5
Additional Detail from JIRA | | | |------------------|-----------------| |Votes | 0 | |Component/s | Package Manager | |Labels | Bug | |Assignee | None | |Priority | Medium | md5: b7afa2ad1e7caf6ad964fe057b45c2ab

Issue Description:

I was trying to build Swift server on Ubuntu, but after I entered "swift build", I got some error which say that "\<unknown>:0: error: symbol 'RSA_get0_key' (RSA_get0_key) is in generated IR file, but not in TBD file"
"\<unknown>:0: error: please file a radar or open a bug on bugs.swift.org with this code, and add -Xfrontend -validate-tbd-against-ir=none to squash the errors"

The content of Package.swift file is as follows.

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

import PackageDescription

let package = Package(
    name: "FirstPerfect",
    dependencies: [
    // Dependencies declare other packages that this package depends on.
    // .package(url: /* package url */, from: "1.0.0"),
    .package(name: "PerfectHTTPServer", url: "https://github.com/PerfectlySoft/Perfect-HTTPServer.git", from: "3.0.2")
    ],
    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: "FirstPerfect",
            dependencies: [ "PerfectHTTPServer" ]),
        .testTarget(
            name: "FirstPerfectTests",
            dependencies: ["FirstPerfect"]),
    ]
)

And the content of main.swift file is as follows.

import PerfectLib
import PerfectHTTP
import PerfectHTTPServer

print("Hello, world!")

let server = HTTPServer()
server.serverPost = 8080

do {
    try server.start()
} catch PerfectError.networkError(let error, let message) {
    print(message: "Error: \(error), \(message)")
}

Is there any body facing this issue when trying to build Perfect HTTP server on Linux?

typesanitizer commented 3 years ago

@swift-ci create

typesanitizer commented 3 years ago

I've formatted the code to be more readable here. When reporting a bug, please try to format the code after pasting it so that it can be easily read and/or copy-pasted by others.