which carthage: /usr/local/bin/carthagecarthage version: 0.31.1xcodebuild -version: Xcode 10.0 | Build version 10A255--no-build? No--no-use-binaries? No--use-submodules? No--cache-builds? No--new-resolver? NoCartfile
binary "<redacted>" ~> 2.0
binary "<redacted>" ~> 3.0
github "hackiftekhar/IQKeyboardManager" ~> 6.0
github "hsousa/HCSStarRatingView" ~> 1.4
github "pronebird/UIScrollView-InfiniteScroll" ~> 1.1
github "PureLayout/PureLayout" ~> 3.0
github "facebook/pop" ~> 1.0
github "nicklockwood/CountryPicker" ~> 1.3
github "BranchMetrics/ios-branch-deep-linking" ~> 0.25
binary "https://building42.github.io/Specs/Carthage/iOS/Crashlytics.json" ~> 3.10
binary "https://building42.github.io/Specs/Carthage/iOS/Fabric.json" ~> 1.7
github "ReactiveCocoa/ReactiveCocoa" ~> 8.0
github "ReactiveCocoa/ReactiveSwift" ~> 4.0
github "dropkitchen/Moya" "lite/reactivemoya/11.x"
github "Alamofire/Alamofire" ~> 4.7
github "Hearst-DD/ObjectMapper" ~> 3.3
github "antitypical/Result" ~> 4.0
github "realm/realm-cocoa" ~> 3.7
github "joshualat/Pluralize.swift" "45ec1ca1094293b4985934d8df57150fe2d417aa"
github "keenlabs/KeenClient-iOS" ~> 3.7
github "soffes/SAMKeychain" ~> 1.5
github "ashleymills/Reachability.swift" ~> 4.1.0
github "daltoniam/Starscream" ~> 3.0
github "mixpanel/mixpanel-iphone" ~> 3.3
github "onevcat/Kingfisher" ~> 4.0
Carthage Output
*** Cloning Pluralize.swift
*** Cloning CountryPicker
*** Cloning Moya
*** Cloning Starscream
*** Cloning ReactiveSwift
*** Cloning KeenClient-iOS
*** Cloning IQKeyboardManager
*** Cloning realm-cocoa
*** Cloning ios-branch-deep-linking
*** Cloning SAMKeychain
*** Cloning Kingfisher
*** Cloning mixpanel-iphone
*** Cloning Reachability.swift
*** Cloning Alamofire
*** Cloning PureLayout
*** Cloning HCSStarRatingView
*** Cloning pop
*** Cloning ObjectMapper
*** Cloning ReactiveCocoa
*** Cloning Result
*** Cloning UIScrollView-InfiniteScroll
*** Cloning common-crypto-spm
*** Cloning zlib-spm
*** Cloning common-crypto-spm
*** Cloning zlib-spm
*** Cloning common-crypto-spm
*** Cloning common-crypto-spm
*** Cloning zlib-spm
*** Cloning common-crypto-spm
*** Cloning zlib-spm
*** Cloning common-crypto-spm
*** Cloning zlib-spm
Actual outcome
After cleaning Carthage cache and running carthage update --platform ios --verbose, Carthage gets stuck and verbose doesn't work.
Expected outcome
Carthage should not get stuck and verbose should provide more information about what's wrong.
have you tried with --new-resolver?
Most likely there is either a conflict in the versions you have specified or a tag is missing on one of the repos.
Another run after cleaning cache:
carthage update --platform ios --verbose --new-resolver
Output:
*** Cloning ObjectMapper
*** Cloning Result
*** Cloning Pluralize.swift
*** Cloning mixpanel-iphone
*** Cloning pop
*** Cloning ReactiveSwift
*** Cloning realm-cocoa
*** Cloning CountryPicker
*** Cloning Alamofire
*** Cloning SAMKeychain
*** Cloning UIScrollView-InfiniteScroll
*** Cloning ReactiveCocoa
*** Cloning Reachability.swift
*** Cloning Starscream
*** Cloning ios-branch-deep-linking
*** Cloning Kingfisher
*** Cloning Moya
*** Cloning IQKeyboardManager
*** Cloning HCSStarRatingView
*** Cloning PureLayout
*** Cloning KeenClient-iOS
Got stuck here, no luck. 😞
This feels very random and --verbose is not working at all.
verbose just kicks in when it builds. I suspect there is tag missing somewhere.
Another run with --new-resolver but without cleaning cache printed out something useful 👍
*** Fetching Reachability.swift
*** Fetching Result
*** Fetching Moya
*** Fetching Alamofire
*** Fetching UIScrollView-InfiniteScroll
*** Fetching KeenClient-iOS
*** Fetching IQKeyboardManager
*** Fetching HCSStarRatingView
*** Fetching ReactiveSwift
*** Fetching ReactiveCocoa
*** Fetching Starscream
*** Fetching mixpanel-iphone
*** Fetching ObjectMapper
*** Fetching ios-branch-deep-linking
*** Fetching CountryPicker
*** Fetching SAMKeychain
*** Fetching PureLayout
*** Fetching realm-cocoa
*** Fetching Kingfisher
*** Fetching pop
Could not pick a version for github "antitypical/Result", due to mutually incompatible requirements:
~> 4.0.0
~> 3.1.0 (github "dropkitchen/Moya")
Can you be more specific about how you got it to print what was wrong so that we can have a look?
Steps:
1- Clean Carthage cache: rm -rf ~/Library/Caches/org.carthage.CarthageKit
2- Run carthage update --platform ios --verbose --new-resolver. Output:
*** Cloning ObjectMapper
*** Cloning Result
*** Cloning Pluralize.swift
*** Cloning mixpanel-iphone
*** Cloning pop
*** Cloning ReactiveSwift
*** Cloning realm-cocoa
*** Cloning CountryPicker
*** Cloning Alamofire
*** Cloning SAMKeychain
*** Cloning UIScrollView-InfiniteScroll
*** Cloning ReactiveCocoa
*** Cloning Reachability.swift
*** Cloning Starscream
*** Cloning ios-branch-deep-linking
*** Cloning Kingfisher
*** Cloning Moya
*** Cloning IQKeyboardManager
*** Cloning HCSStarRatingView
*** Cloning PureLayout
*** Cloning KeenClient-iOS
(stuck here)
3- Run carthage update --platform ios --verbose --new-resolver again without cleaning cache. Output:
*** Fetching Reachability.swift
*** Fetching Result
*** Fetching Moya
*** Fetching Alamofire
*** Fetching UIScrollView-InfiniteScroll
*** Fetching KeenClient-iOS
*** Fetching IQKeyboardManager
*** Fetching HCSStarRatingView
*** Fetching ReactiveSwift
*** Fetching ReactiveCocoa
*** Fetching Starscream
*** Fetching mixpanel-iphone
*** Fetching ObjectMapper
*** Fetching ios-branch-deep-linking
*** Fetching CountryPicker
*** Fetching SAMKeychain
*** Fetching PureLayout
*** Fetching realm-cocoa
*** Fetching Kingfisher
*** Fetching pop
Could not pick a version for github "antitypical/Result", due to mutually incompatible requirements:
~> 4.0.0
~> 3.1.0 (github "dropkitchen/Moya")
Hope this helps.
@gokselkoksal which cache did you clean? ... asking for a friend...
I meant rm -rf ~/Library/Caches/org.carthage.CarthageKit :)
Same here, I need to relaunch carthage several time for get it work.
Carthage version 0.31.0
Any idea how we can troubleshoot this @blender, so I can understand what might be causing it?
Sometimes it just hangs forever on fetching the-problem-dependency, sometimes it'll try fetching it multiple times, and sometimes after trying to fetch it a few times, it finally works and continues on to the checking out and building phases.
[14:00:54]: $ cd /Users/jenkins/workspace/main-app-LONGHASHCUTSHORT && carthage update --platform iOS --no-use-binaries
[14:00:54]: ▸ Please update to the latest Carthage version: 0.32.0. You currently are on 0.31.2
[14:00:54]: ▸ * Fetching first-dependency-name
[14:00:54]: ▸ Fetching the-problem-dependency
[14:00:55]: ▸ Fetching third-dependency-name
[14:00:55]: ▸ Fetching fourth-dependency-name
[14:00:56]: ▸ Fetching fifth-dependency-name
[14:02:05]: ▸ Fetching the-problem-dependency
[14:03:08]: ▸ Fetching the-problem-dependency
[14:04:09]: ▸ Fetching the-problem-dependency
[14:05:16]: ▸ Fetching the-problem-dependency
[14:05:44]: ▸ Checking out fifth-dependency-name at "v3.0.62"
[14:05:44]: ▸ ** Checking out fourth-dependency-name at "v2.0.4"
It would be helpful if we could get some output with --verbose prior to the build phase to at least troubleshoot what could be going wrong here.
Please checkout my fork and run with —fast-resolver. Should fix all resolver issues. Just verified that it resolves your graph instantly (found a conflict with dropkitchen/Moya).
My fork is at: https://github.com/werner77/Carthage.git
Checkout branch: fast-resolver
make prefix_install PREFIX="/some/installation/dir"
FYI, --fast-resolver worked for me when I had a similar issue (Carthage 0.32.0)
We're maintaining an official fork now: https://github.com/nsoperations/Carthage.git
I removed all resolver flags, now there is just one working resolver.
Install with homebrew via:
brew tap nsoperations/formulas
brew install -s nsoperations/formulas/carthage
Err, official in the sense that they hit the GitHub fork button.
Sorry I meant officially maintaining a fork now. Me and a couple of my colleagues actively try to solve issues there because we rely on the tool.
Happens to me since yesterday, any solutions that fixed this?
Same issues, carthage update FLEX --platform ios --verbose --new-resolver
*** Fetching FSPagerView
*** Fetching animated-tab-bar
*** Fetching FLEX
*** Downloading binary-only framework Fabric at "https://building42.github.io/Specs/Carthage/iOS/Fabric.json"
*** Downloading binary-only framework Crashlytics at "https://building42.github.io/Specs/Carthage/iOS/Crashlytics.json"
*** Fetching Moya
*** Fetching RxSwift
*** Fetching Kingfisher
*** Fetching PromiseKit
*** Fetching realm-cocoa
*** Fetching ObjectMapper
*** Fetching SwiftyBeaver
*** Fetching Alamofire
*** Fetching IQKeyboardManager
*** Fetching SnapKit
*** Fetching Toaster
*** Fetching ReactiveSwift
*** Fetching Result
After a long time wait, my mac crashed and reboot. twice
But I successfully upgraded Moya 2 hours ago.
Seriously, what is the worst thing a tool can do? fail silently would get my vote.. but to do that while consuming your CPU for as long as it can until it's force terminated? that's really special...
I honestly can't believe this is still an issue.
FYI I highly recommend @werner77's fork:
brew uninstall --force carthage
brew tap nsoperations/formulas
brew install -s nsoperations/formulas/carthage
I spent hours today with carthage silently hanging while my fans spun out of control like helicopter blades. Cancel, kill the cache, restart, hang again, rinse repeat. Tried carthage v0.28 through 0.33. Finally found this thread and tried @werner77's fork and low and behold, shit just works like it's suppose to. I'm literally staying on this fork until all my dependencies move to swift package manager -- can't believe how ridiculous the bugs have gotten here.
Still happening with me 10/10 attempts to update stuck on fetching.
carthage update --platform ios --no-use-binaries --new-resolver
+1
After adding a private framework that has the dependency on RxSwift I can repro this ~9/10 time with or without --new-resolver.
After adding a private framework that has the dependency on RxSwift I can repro this ~9/10 time with or without
--new-resolver.
In the past, we discovered that this particular issue appears when you have complex dependency hierarchies duplicating imports in the Cart files. If you don't use implicit imports and you duplicate specifying imports in Cart files, this is fairly easy to hit. Unfortunately, the current Carthage resolver is pretty horrible and doesn't know how to handle these situations on it's own :(.
OMG, just went through the torture again today, can take no more @werner77 I am going to install your fork. If it works I am going to insist on sending you enough to have a few beers or a meal.
@codeslubber Killing all the running carthage processes using activity monitor works for me. You can give it a shot :)
@jazz-mobility I tried that and it did not work. Today, I ran the usual command 6 or 7 times over around 45 minutes, then tried the new-resolver switch and on the 3rd try with that one, it built finally.
Three years later, and I face the same problem with my project. Still no meaningful output from the tool about what's wrong. It just hangs there, and that's it.
Three years later, and I face the same problem with my project. Still no meaningful output from the tool about what's wrong. It just hangs there, and that's it.
Honestly, atm, your team should be doing a full migration to Swift Package Manager and reducing and dependencies that aren't likely to support it. It's unlikely you'll see any large traction here as there's honestly no gain for other dependencies managers to evolve at a rapid place atm other than just to keep them working (xcframeworks).
Honestly, atm, your team should be doing a full migration to Swift Package Manager and reducing and dependencies that aren't likely to support it.
You're right, that's the next rational step.
Most helpful comment
FYI I highly recommend @werner77's fork:
I spent hours today with carthage silently hanging while my fans spun out of control like helicopter blades. Cancel, kill the cache, restart, hang again, rinse repeat. Tried carthage v0.28 through 0.33. Finally found this thread and tried @werner77's fork and low and behold, shit just works like it's suppose to. I'm literally staying on this fork until all my dependencies move to swift package manager -- can't believe how ridiculous the bugs have gotten here.