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

RxTest fails to build in Xcode 7.3-beta2 #472

Closed
koke opened this issue Feb 4, 2016 · 22 comments
Closed

RxTest fails to build in Xcode 7.3-beta2 #472

koke opened this issue Feb 4, 2016 · 22 comments

Comments

@koke
Copy link
Contributor

koke commented Feb 4, 2016

Running the test suite (or using the RxTest pod) throws a couple build errors when using Xcode 7.3 beta 2

XCTest+Rx.swift:67:7: Cannot invoke 'XCTAssertEqual' with an argument list of type '([AnyEquatable<Event>], [AnyEquatable<Event>], file: String, line: Uint)'
XCTest+Rx.swift:95:7: Cannot invoke 'XCTAssertEqual' with an argument list of type '([AnyEquatable<Recorded<Event>>], [AnyEquatable<Recorded<Event>>], file: String, line: Uint)'

It seems the file parameter on XCTAssertEqual changed from String to StaticString in apple/swift#888

@koke
Copy link
Contributor Author

koke commented Feb 4, 2016

I got a fix in 60b4b96, but that breaks the builds on Xcode 7.2. I'm not sure if there's a workaround or this will have to be a new release that supports Swift 2.2 only.

@kzaher
Copy link
Member

kzaher commented Feb 4, 2016

Hi @koke ,

Thnx for reporting this. I'm hoping this is just an Apple but and they will fix this soon :(.

I'm not sure it would be a good idea to pull this in immediately since it you are telling me this will break on Xcode 7.2, and this is the released version. Let's monitor this and see what will Apple do here.

If they release a version that requires StaticString, then we'll make the same breaking change.

@Bogidon
Copy link

Bogidon commented Feb 16, 2016

Hi @koke and @kzaher,

How can I use 60b4b96 with Carthage? Is it in a branch? If not, could we create a branch called, for example, Xcode7.3?

@kzaher
Copy link
Member

kzaher commented Feb 16, 2016

Hi @Bogidon ,

I've created new branch xcode/7.3 If @koke makes PR to that branch, I would be happy to merge it.

@tomburns
Copy link
Contributor

@kzaher the xcode/7.3 branch gets further into the build process when using Carthage (sorry, forgot to specify this), but still fails:

/Users/.../RxSwift/RxSwift/DataStructures/Queue.swift:165:16: warning: 'anyGenerator' is deprecated: renamed to 'AnyGenerator'
/Users/.../RxSwift/RxSwift/DataStructures/InfiniteSequence.swift:26:16: warning: 'anyGenerator' is deprecated: renamed to 'AnyGenerator'
<unknown>:0: error: unable to execute command: Segmentation fault: 11
<unknown>:0: error: compile command failed due to signal (use -v to see invocation)
A shell task failed with exit code 65:
** BUILD FAILED **

@kzaher
Copy link
Member

kzaher commented Feb 17, 2016

¯_(ツ)_/¯

I've tried to support Xcode 7.3, but since even released 7.2.1 version still has horribly buggy compiler, it's pointless at this stage.

I'm waiting until they make transition from catastrophically unstable compiler to just the usually horrible one (when they release it) :)

Try building just Debug configuration. I believe Xcode compiler just fails when it tries to optimize the code.

@Bogidon
Copy link

Bogidon commented Feb 18, 2016

Interesting @kzaher. I was getting the same error as @tomburns.

Let's 🙏 they fix it before release. Should we file a rdar?

@kzaher
Copy link
Member

kzaher commented Feb 18, 2016

@Bogidon if you guys can file a radar, that would be 👍

@stephenvisser
Copy link

Seems like this is still an issue after today's release

@ibadcool
Copy link

XCTAssertEqual(leftEquatable, rightEquatable, file: file, line: line)

Cannot invoke 'XCTAssertEqual' with an argument list of type '([AnyEquatable<Event>], [AnyEquatable<Event>], file: String, line: UInt)'

@alexpopov
Copy link

It still fails to build for me, but for a different reason:
Reason: Project /Carthage/Checkouts/RxSwift/RxTests/RxTests.xcodeproj cannot be opened because it is missing its project.pbxproj file.

If I try to open the project by hand, and it complains about the same issue.

If it matters, I run carthage update --platform iOS

@kzaher
Copy link
Member

kzaher commented Mar 23, 2016

Hi guys,

I'm little confused here. I've ran the integration tests on my machine and both CocoaPods and Carthage integrations were ok.

Are you sure you've got the correct version of Xcode selected for Command Line Tools?
screen shot 2016-03-23 at 22 51 21

@alexpopov
Copy link

I do. I tried clearing the Carthage cache as well. If I run xcodebuild -version from the command line I also get
Xcode 7.3
Build version 7D175
So I'm at a loss as to what to do.

@kzaher
Copy link
Member

kzaher commented Mar 23, 2016

... and just to be clear, you've removed both ~/Library/Caches/org.carthage.CarthageKit/ and Carthage directories?

@alexpopov
Copy link

Just to be clear... no. I removed the latter first and the build failed. Then I removed the former, and the build failed. Removing both at once did the trick! Thanks a bunch! I guess this is the solution, at least for my particular issue.

@kzaher
Copy link
Member

kzaher commented Mar 23, 2016

Ok, glad this was a simple solution :) Weird, but simple :)

@kzaher kzaher closed this as completed Mar 23, 2016
@idanhaviv
Copy link

I still get the same error:

Cannot invoke 'XCTAssertEqual' with an argument list of type '([AnyEquatable<Event>],
[AnyEquatable<Event>], file: String, line: UInt)'

with XCode 7.3
this is my pod file:

pod 'RealmSwift', :git => 'https://github.com/realm/realm-cocoa.git', :branch => 'swift-2.0'
pod 'RxSwift', '> 2.2'
pod 'RxCocoa', '
> 2.0'
pod 'RxBlocking', '> 2.0'
pod 'CocoaLumberjack/Swift'
pod 'SWXMLHash', '
> 2.1.0'
pod 'Moya'
pod 'Moya/RxSwift'
pod 'Moya-ObjectMapper/RxSwift', '~> 1.1.6'
pod 'VBFPopFlatButton'

target 'TrollTests', :exclusive => true do
pod 'RxTests', '> 2.0'
pod 'Quick', '
> 0.9.0'
pod 'Nimble', '~> 3.2.0'
pod 'Dip'
end

i tried updating to RxSwift latest version 2.3.1 but got this error upon pod install:
[!] Unable to satisfy the following requirements:

  • RxSwift (~> 2.3.1) required by Podfile
  • RxSwift (~> 2.2) required by RxCocoa (2.2.0)
  • RxSwift (~> 2.2) required by RxBlocking (2.2.0)
  • RxSwift (~> 2.0) required by Moya/RxSwift (6.2.0)
  • RxSwift (~> 2.2.0) required by Moya-ObjectMapper/RxSwift (1.1.7)
  • RxSwift (~> 2.2) required by RxTests (2.2.0)

i also tried not specifying version numbers in PodFile with no success

@fpillet
Copy link
Contributor

fpillet commented Mar 27, 2016

Your Podfile lists RxSwift at 2.2 but RxCocoa at 2.0. You need all versions to be the same (for RxTests as well).

@idanhaviv
Copy link

i changed all to 2.0 but still get the same error

@fpillet
Copy link
Contributor

fpillet commented Mar 27, 2016

You need to use 2.3.1 with Xcode 7.3 and Swift 2.2. Previous versions of RxSwift won't compile correctly.

@kzaher
Copy link
Member

kzaher commented Mar 27, 2016

Hi @idanhaviv ,

problems seems to be in Moya-ObjectMapper/RxSwift requesting 2.2.0 instead of 2.2.

ss.dependency "RxSwift", "~> 2.2.0"

when it should be

ss.dependency "RxSwift", "~> 2.2"

@idanhaviv
Copy link

Hi @kzaher,

if it was 2.2 while i have 2.3.1 should it work fine? anything i can do besides open an issue on Moya-ObjectMapper?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

9 participants