Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[SR-5956] Some repos cannot be fetched #4945

Closed
swift-ci opened this issue Sep 21, 2017 · 5 comments
Closed

[SR-5956] Some repos cannot be fetched #4945

swift-ci opened this issue Sep 21, 2017 · 5 comments
Labels

Comments

@swift-ci
Copy link
Contributor

Previous ID SR-5956
Radar None
Original Reporter cocoapriest (JIRA User)
Type Bug
Status Resolved
Resolution Duplicate
Environment

Apple Swift version 4.0 (swiftlang-900.0.65 clang-900.0.37)
Target: x86_64-apple-macosx10.9
Apple Swift Package Manager - Swift 4.0.0-dev (swiftpm-13126)

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

md5: d0c45c9863228cd8c7a87e1081a806ba

duplicates:

  • SR-4400 Resolver is doing too much work

Issue Description:

SPM freezes while doing updates for some packages:

Fetching https://github.com/krzyzanowskim/CryptoSwift.git
error: reachedTimeLimit

It happens on indirect dependencies only. When I include this dependency in my Package.swift, SPM fetches it without problems.

For now, I found only 2 repos behaving this weirdly –
https://github.com/nvzqz/Threadly.git and https://github.com/krzyzanowskim/CryptoSwift.git

Here is exactly my Package.swift:

// swift-tools-version:4.0

import PackageDescription

let _ = Package(
    name: "api",
    products: [
        .library(
            name: "api",
            targets: ["api"])
    ],
    dependencies: [
        .package(url: "https://github.com/PerfectlySoft/Perfect-HTTPServer.git", from: "3.0.0"),
        .package(url: "https://github.com/PerfectlySoft/Perfect-CURL.git", from: "3.0.0"),
        .package(url: "https://github.com/PerfectSideRepos/Perfect-RegEx.git", from: "1.1.0"),
        .package(url: "https://github.com/OpenKitten/MongoKitten.git", from: "4.0.0"),
        .package(url: "https://github.com/iamjono/JSONConfig.git", from: "1.0.0"),
        .package(url: "../../s3", from: "0.1.0")
    ],
    targets: [
        .target(
            name: "api",
            dependencies: ["PerfectHTTPServer", "PerfectCURL", "MongoKitten", "Regex", "JSONConfig", "s3"])
    ]
)

And from my local s3 package:

// swift-tools-version:4.0

import PackageDescription

let package = Package(
    name: "s3",
    products: [
        .library(
            name: "s3",
            targets: ["s3"])
        ],
    dependencies: [
        .package(url: "https://github.com/krzyzanowskim/CryptoSwift.git", from: "0.7.2")
    ],
    targets: [
        .target(
            name: "s3",
            dependencies: ["CryptoSwift"])
    ]
)
@swift-ci
Copy link
Contributor Author

Comment by Konstantin Gonikman (JIRA)

Another interesting thing: if I comment out some of the dependencies, everything seems to work. But I can't believe there's something like "too many dependencies" setting..

@aciidgh
Copy link
Member

aciidgh commented Sep 22, 2017

The problem is that you require Perfect-HTTPServer v3 which eventually requires PerfectLib v3 where as JSONConfig requires PerfectLib v2. This makes the graph unresolvable. If you remove JSONConfig dependency, swiftpm is able to reach a solution.

Cloning https://github.com/PerfectlySoft/Perfect-HTTP.git
Resolving https://github.com/PerfectlySoft/Perfect-HTTP.git at 3.0.0
Cloning https://github.com/PerfectlySoft/Perfect-libcurl.git
Resolving https://github.com/PerfectlySoft/Perfect-libcurl.git at 2.0.6
Cloning https://github.com/PerfectSideRepos/Perfect-RegEx.git
Resolving https://github.com/PerfectSideRepos/Perfect-RegEx.git at 1.1.0
Cloning https://github.com/PerfectlySoft/Perfect-HTTPServer.git
Resolving https://github.com/PerfectlySoft/Perfect-HTTPServer.git at 3.0.0
Cloning https://github.com/OpenKitten/Schrodinger.git
Resolving https://github.com/OpenKitten/Schrodinger.git at 1.0.1
Cloning /private/tmp/test/s3
Resolving /private/tmp/test/s3 at 0.1.0
Cloning https://github.com/krzyzanowskim/CryptoSwift.git
Resolving https://github.com/krzyzanowskim/CryptoSwift.git at 0.7.2
Cloning https://github.com/OpenKitten/Cheetah.git
Resolving https://github.com/OpenKitten/Cheetah.git at 1.0.3
Cloning https://github.com/OpenKitten/CryptoKitten.git
Resolving https://github.com/OpenKitten/CryptoKitten.git at 0.2.3
Cloning https://github.com/PerfectlySoft/Perfect-CURL.git
Resolving https://github.com/PerfectlySoft/Perfect-CURL.git at 3.0.0
Cloning https://github.com/OpenKitten/BSON.git
Resolving https://github.com/OpenKitten/BSON.git at 5.1.5
Cloning https://github.com/PerfectlySoft/Perfect-COpenSSL.git
Resolving https://github.com/PerfectlySoft/Perfect-COpenSSL.git at 3.0.0
Cloning https://github.com/PerfectlySoft/Perfect-Thread.git
Resolving https://github.com/PerfectlySoft/Perfect-Thread.git at 3.0.0
Cloning https://github.com/PerfectlySoft/Perfect-Crypto.git
Resolving https://github.com/PerfectlySoft/Perfect-Crypto.git at 3.0.0
Cloning https://github.com/OpenKitten/KittenCore.git
Resolving https://github.com/OpenKitten/KittenCore.git at 0.2.3
Cloning https://github.com/PerfectlySoft/PerfectLib.git
Resolving https://github.com/PerfectlySoft/PerfectLib.git at 3.0.0
Cloning https://github.com/OpenKitten/MongoKitten.git
Resolving https://github.com/OpenKitten/MongoKitten.git at 4.0.15
Cloning https://github.com/PerfectlySoft/Perfect-Net.git
Resolving https://github.com/PerfectlySoft/Perfect-Net.git at 3.0.0

@aciidgh
Copy link
Member

aciidgh commented Sep 22, 2017

I am duplicating this to SR-4400 because we need make the resolver faster.

@swift-ci
Copy link
Contributor Author

Comment by Guido Marucci Blas (JIRA)

Hi! I'm still seeing this problem when running inside a docker container trying to build a project on ubuntu

Using docker image: botengine-build-latest
root@f7b0b8aa23b1:/botengine# script/build
Swift version: Swift version 4.2-dev (LLVM c41d146806, Clang 3ef62dacf4, Swift 57940b7c68)
Target: x86_64-unknown-linux-gnu
Build path: ./.build-ubuntu/x86_64-unknown-linux/debug
Build flags:  --build-path ./.build-ubuntu
Fetching https://github.com/daltoniam/common-crypto-spm
Fetching https://github.com/ReactiveCocoa/ReactiveSwift
Fetching https://github.com/apple/swift-nio.git
Fetching https://github.com/SlackKit/SKWebAPI
Fetching https://github.com/daltoniam/Starscream
Fetching https://github.com/apple/swift-nio-ssl-support.git
Fetching https://github.com/attaswift/BigInt
Fetching https://github.com/Quick/Quick.git
Fetching https://github.com/attaswift/SipHash
Fetching https://github.com/SlackKit/SKCore
Fetching https://github.com/SlackKit/SKClient
Fetching https://github.com/apple/swift-nio-ssl.git
Fetching https://github.com/Quick/Nimble.git
Fetching https://github.com/SlackKit/SKRTMAPI
Fetching https://github.com/vapor/core.git
Fetching https://github.com/timburks/SwiftyBase64
Fetching https://github.com/typelift/SwiftCheck.git
Fetching https://github.com/llvm-swift/FileCheck.git
Fetching https://github.com/vapor/http.git
Fetching https://github.com/daltoniam/zlib-spm.git
Fetching https://github.com/apple/swift-nio-zlib-support.git
Fetching https://github.com/antitypical/Result.git
Fetching https://github.com/krzyzanowskim/CryptoSwift.git
Fetching https://github.com/vapor/engine
Fetching https://github.com/vapor/crypto.git
Fetching https://github.com/vapor/tls.git
Fetching https://github.com/vapor/sockets.git
Fetching https://github.com/vapor/random.git
error: reachedTimeLimit
'BotEngine' /botengine: error: product dependency 'ReactiveSwift' not found
'BotEngine' /botengine: error: product dependency 'ReactiveSwift' not found
'BotEngine' /botengine: error: product dependency 'SKCore' not found
'BotEngine' /botengine: error: product dependency 'SKClient' not found
'BotEngine' /botengine: error: product dependency 'SKRTMAPI' not found
'BotEngine' /botengine: error: product dependency 'HTTP' not found
'BotEngine' /botengine: error: product dependency 'SwiftCheck' not found
'BotEngine' /botengine: error: product dependency 'ReactiveSwift' not found
'BotEngine' /botengine: error: product dependency 'CryptoSwift' not found
'BotEngine' /botengine: error: product dependency 'BigInt' not found
'BotEngine' /botengine: error: product dependency 'SwiftyBase64' not found

This happens with

  • Swift version 4.2-dev (LLVM c41d146806, Clang 3ef62dacf4, Swift 57940b7c68)

  • Swift version: Swift version 4.1 (swift-4.1-RELEASE)

Here is my Package.swift file

// 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: "BotEngine",
    products: [
        .executable(name: "BotEngine", targets: ["BotEngine"]),
        .library(name: "BotEngineKit", targets: ["BotEngineKit"]),
        .library(name: "GoogleAPI", targets: ["GoogleAPI"]),
        .library(name: "GoogleOAuth", targets: ["GoogleOAuth"]),
        .library(name: "TestKit", targets: ["TestKit"]),
        .library(name: "WoloxKit", targets: ["WoloxKit"])
    ],
    dependencies: [
        // Dependencies
        .package(url: "https://github.com/ReactiveCocoa/ReactiveSwift", from: "3.1.0"),
        .package(url: "https://github.com/vapor/http.git", from: "3.0.0"),
        .package(url: "https://github.com/SlackKit/SKCore", .upToNextMinor(from: "4.1.0")),
        .package(url: "https://github.com/SlackKit/SKClient", .upToNextMinor(from: "4.1.0")),
        .package(url: "https://github.com/SlackKit/SKRTMAPI", .upToNextMinor(from: "4.1.0")),
        .package(url: "https://github.com/krzyzanowskim/CryptoSwift.git", from: "0.8.0"),
        .package(url: "https://github.com/attaswift/BigInt", from: "3.0.0"),
        .package(url: "https://github.com/timburks/SwiftyBase64", from: "1.2.0"),

        // Test dependencies
        .package(url: "https://github.com/typelift/SwiftCheck.git", from: "0.8.1")
    ],
    targets: [
        .target(
            name: "BotEngine",
            dependencies: [
              "BotEngineKit"
            ]
        ),
        .target(
            name: "BotEngineKit",
            dependencies: [
              "GoogleAPI",
              "ReactiveSwift",
              "GoogleOAuth",
              "SKCore",
              "SKClient",
              "SKRTMAPI",
              "HTTP"
            ]
        ),
        .target(
          name: "GoogleAPI",
          dependencies: [
            "ReactiveSwift"
          ]
        ),
        .target(
          name: "GoogleOAuth",
          dependencies: [
            "CryptoSwift",
            "BigInt",
            "SwiftyBase64"
          ]
        ),
        .target(
          name: "TestKit",
          dependencies: [
            "GoogleAPI"
          ]
        ),
        .target(
            name: "WoloxKit",
            dependencies: [
              "GoogleAPI",
              "ReactiveSwift"
            ]
        ),

        // Test targets
        .testTarget(
            name: "BotEngineKitTests",
            dependencies: [
              "BotEngineKit",
              "TestKit",
              "SwiftCheck"
            ]
        ),
        .testTarget(
            name: "WoloxKitTests",
            dependencies: [
              "WoloxKit",
              "TestKit"
            ]
        ),
        .testTarget(
            name: "GoogleAPITests",
            dependencies: [
              "GoogleAPI",
              "TestKit"
            ]
        )
    ]
)

@swift-ci
Copy link
Contributor Author

Comment by Guido Marucci Blas (JIRA)

I've created a new issue https://bugs.swift.org/browse/SR-7957

@swift-ci swift-ci transferred this issue from apple/swift-issues Apr 25, 2022
@shahmishal shahmishal transferred this issue from apple/swift May 4, 2022
This issue was closed.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants