Skip to content
This repository has been archived by the owner on Jan 17, 2019. It is now read-only.

Duplicate symbols when installed via Homebrew #1

Open
plu opened this issue Nov 24, 2016 · 2 comments
Open

Duplicate symbols when installed via Homebrew #1

plu opened this issue Nov 24, 2016 · 2 comments

Comments

@plu
Copy link
Owner

plu commented Nov 24, 2016

objc[31962]: Class _TtCs18_EmptyArrayStorage is implemented in both /usr/local/Cellar/pxctest/0.2.1/libexec/PXCTestKit.framework/Versions/A/Frameworks/libswiftCore.dylib and /Applications/Xcode.app/Contents/SharedFrameworks/SourceKit.framework/Versions/A/Frameworks/libswiftCore.dylib. One of the two will be used. Which one is undefined.
objc[31962]: Class _TtCs24_ContiguousArrayStorage1 is implemented in both /usr/local/Cellar/pxctest/0.2.1/libexec/PXCTestKit.framework/Versions/A/Frameworks/libswiftCore.dylib and /Applications/Xcode.app/Contents/SharedFrameworks/SourceKit.framework/Versions/A/Frameworks/libswiftCore.dylib. One of the two will be used. Which one is undefined.
objc[31962]: Class _TtCs17_CocoaSetIterator is implemented in both /usr/local/Cellar/pxctest/0.2.1/libexec/PXCTestKit.framework/Versions/A/Frameworks/libswiftCore.dylib and /Applications/Xcode.app/Contents/SharedFrameworks/SourceKit.framework/Versions/A/Frameworks/libswiftCore.dylib. One of the two will be used. Which one is undefined.
objc[31962]: Class _TtCs24_CocoaDictionaryIterator is implemented in both /usr/local/Cellar/pxctest/0.2.1/libexec/PXCTestKit.framework/Versions/A/Frameworks/libswiftCore.dylib and /Applications/Xcode.app/Contents/SharedFrameworks/SourceKit.framework/Versions/A/Frameworks/libswiftCore.dylib. One of the two will be used. Which one is undefined.
objc[31962]: Class _TtCs17NonObjectiveCBase is implemented in both /usr/local/Cellar/pxctest/0.2.1/libexec/PXCTestKit.framework/Versions/A/Frameworks/libswiftCore.dylib and /Applications/Xcode.app/Contents/SharedFrameworks/SourceKit.framework/Versions/A/Frameworks/libswiftCore.dylib. One of the two will be used. Which one is undefined.
objc[31962]: Class _TtCs17_stdlib_AtomicInt is implemented in both /usr/local/Cellar/pxctest/0.2.1/libexec/PXCTestKit.framework/Versions/A/Frameworks/libswiftCore.dylib and /Applications/Xcode.app/Contents/SharedFrameworks/SourceKit.framework/Versions/A/Frameworks/libswiftCore.dylib. One of the two will be used. Which one is undefined.
objc[31962]: Class _TtCs19_SwiftNativeNSArray is implemented in both /usr/local/Cellar/pxctest/0.2.1/libexec/PXCTestKit.framework/Versions/A/Frameworks/libswiftCore.dylib and /Applications/Xcode.app/Contents/SharedFrameworks/SourceKit.framework/Versions/A/Frameworks/libswiftCore.dylib. One of the two will be used. Which one is undefined.
objc[31962]: Class _TtCs24_SwiftNativeNSDictionary is implemented in both /usr/local/Cellar/pxctest/0.2.1/libexec/PXCTestKit.framework/Versions/A/Frameworks/libswiftCore.dylib and /Applications/Xcode.app/Contents/SharedFrameworks/SourceKit.framework/Versions/A/Frameworks/libswiftCore.dylib. One of the two will be used. Which one is undefined.
objc[31962]: Class _TtCs17_SwiftNativeNSSet is implemented in both /usr/local/Cellar/pxctest/0.2.1/libexec/PXCTestKit.framework/Versions/A/Frameworks/libswiftCore.dylib and /Applications/Xcode.app/Contents/SharedFrameworks/SourceKit.framework/Versions/A/Frameworks/libswiftCore.dylib. One of the two will be used. Which one is undefined.
objc[31962]: Class _TtCs24_SwiftNativeNSEnumerator is implemented in both /usr/local/Cellar/pxctest/0.2.1/libexec/PXCTestKit.framework/Versions/A/Frameworks/libswiftCore.dylib and /Applications/Xcode.app/Contents/SharedFrameworks/SourceKit.framework/Versions/A/Frameworks/libswiftCore.dylib. One of the two will be used. Which one is undefined.
objc[31962]: Class _TtCs18_SwiftNativeNSData is implemented in both /usr/local/Cellar/pxctest/0.2.1/libexec/PXCTestKit.framework/Versions/A/Frameworks/libswiftCore.dylib and /Applications/Xcode.app/Contents/SharedFrameworks/SourceKit.framework/Versions/A/Frameworks/libswiftCore.dylib. One of the two will be used. Which one is undefined.
objc[31962]: Class _TtCs26_SwiftNativeNSCharacterSet is implemented in both /usr/local/Cellar/pxctest/0.2.1/libexec/PXCTestKit.framework/Versions/A/Frameworks/libswiftCore.dylib and /Applications/Xcode.app/Contents/SharedFrameworks/SourceKit.framework/Versions/A/Frameworks/libswiftCore.dylib. One of the two will be used. Which one is undefined.
objc[31962]: Class _TtCs31_stdlib_ReturnAutoreleasedDummy is implemented in both /usr/local/Cellar/pxctest/0.2.1/libexec/PXCTestKit.framework/Versions/A/Frameworks/libswiftCore.dylib and /Applications/Xcode.app/Contents/SharedFrameworks/SourceKit.framework/Versions/A/Frameworks/libswiftCore.dylib. One of the two will be used. Which one is undefined.
objc[31962]: Class _TtCs20_SwiftNativeNSString is implemented in both /usr/local/Cellar/pxctest/0.2.1/libexec/PXCTestKit.framework/Versions/A/Frameworks/libswiftCore.dylib and /Applications/Xcode.app/Contents/SharedFrameworks/SourceKit.framework/Versions/A/Frameworks/libswiftCore.dylib. One of the two will be used. Which one is undefined.
objc[31962]: Class _TtCs19_NSContiguousString is implemented in both /usr/local/Cellar/pxctest/0.2.1/libexec/PXCTestKit.framework/Versions/A/Frameworks/libswiftCore.dylib and /Applications/Xcode.app/Contents/SharedFrameworks/SourceKit.framework/Versions/A/Frameworks/libswiftCore.dylib. One of the two will be used. Which one is undefined.
objc[31962]: Class _TtCs40_SwiftNativeNSArrayWithContiguousStorage is implemented in both /usr/local/Cellar/pxctest/0.2.1/libexec/PXCTestKit.framework/Versions/A/Frameworks/libswiftCore.dylib and /Applications/Xcode.app/Contents/SharedFrameworks/SourceKit.framework/Versions/A/Frameworks/libswiftCore.dylib. One of the two will be used. Which one is undefined.
objc[31962]: Class _TtCs21_SwiftDeferredNSArray is implemented in both /usr/local/Cellar/pxctest/0.2.1/libexec/PXCTestKit.framework/Versions/A/Frameworks/libswiftCore.dylib and /Applications/Xcode.app/Contents/SharedFrameworks/SourceKit.framework/Versions/A/Frameworks/libswiftCore.dylib. One of the two will be used. Which one is undefined.
objc[31962]: Class _TtCs27_ContiguousArrayStorageBase is implemented in both /usr/local/Cellar/pxctest/0.2.1/libexec/PXCTestKit.framework/Versions/A/Frameworks/libswiftCore.dylib and /Applications/Xcode.app/Contents/SharedFrameworks/SourceKit.framework/Versions/A/Frameworks/libswiftCore.dylib. One of the two will be used. Which one is undefined.
objc[31962]: Class _TtCs14_VaListBuilder is implemented in both /usr/local/Cellar/pxctest/0.2.1/libexec/PXCTestKit.framework/Versions/A/Frameworks/libswiftCore.dylib and /Applications/Xcode.app/Contents/SharedFrameworks/SourceKit.framework/Versions/A/Frameworks/libswiftCore.dylib. One of the two will be used. Which one is undefined.
objc[31962]: Class _TtCs13VaListBuilder is implemented in both /usr/local/Cellar/pxctest/0.2.1/libexec/PXCTestKit.framework/Versions/A/Frameworks/libswiftCore.dylib and /Applications/Xcode.app/Contents/SharedFrameworks/SourceKit.framework/Versions/A/Frameworks/libswiftCore.dylib. One of the two will be used. Which one is undefined.
objc[31962]: Class _SwiftNativeNSError is implemented in both /usr/local/Cellar/pxctest/0.2.1/libexec/PXCTestKit.framework/Versions/A/Frameworks/libswiftCore.dylib and /Applications/Xcode.app/Contents/SharedFrameworks/SourceKit.framework/Versions/A/Frameworks/libswiftCore.dylib. One of the two will be used. Which one is undefined.
objc[31962]: Class SwiftObject is implemented in both /usr/local/Cellar/pxctest/0.2.1/libexec/PXCTestKit.framework/Versions/A/Frameworks/libswiftCore.dylib and /Applications/Xcode.app/Contents/SharedFrameworks/SourceKit.framework/Versions/A/Frameworks/libswiftCore.dylib. One of the two will be used. Which one is undefined.
objc[31962]: Class _SwiftValue is implemented in both /usr/local/Cellar/pxctest/0.2.1/libexec/PXCTestKit.framework/Versions/A/Frameworks/libswiftCore.dylib and /Applications/Xcode.app/Contents/SharedFrameworks/SourceKit.framework/Versions/A/Frameworks/libswiftCore.dylib. One of the two will be used. Which one is undefined.
objc[31962]: Class _SwiftNull is implemented in both /usr/local/Cellar/pxctest/0.2.1/libexec/PXCTestKit.framework/Versions/A/Frameworks/libswiftCore.dylib and /Applications/Xcode.app/Contents/SharedFrameworks/SourceKit.framework/Versions/A/Frameworks/libswiftCore.dylib. One of the two will be used. Which one is undefined.
objc[31962]: Class _SwiftNativeNSArrayBase is implemented in both /usr/local/Cellar/pxctest/0.2.1/libexec/PXCTestKit.framework/Versions/A/Frameworks/libswiftCore.dylib and /Applications/Xcode.app/Contents/SharedFrameworks/SourceKit.framework/Versions/A/Frameworks/libswiftCore.dylib. One of the two will be used. Which one is undefined.
objc[31962]: Class _SwiftNativeNSDictionaryBase is implemented in both /usr/local/Cellar/pxctest/0.2.1/libexec/PXCTestKit.framework/Versions/A/Frameworks/libswiftCore.dylib and /Applications/Xcode.app/Contents/SharedFrameworks/SourceKit.framework/Versions/A/Frameworks/libswiftCore.dylib. One of the two will be used. Which one is undefined.
objc[31962]: Class _SwiftNativeNSSetBase is implemented in both /usr/local/Cellar/pxctest/0.2.1/libexec/PXCTestKit.framework/Versions/A/Frameworks/libswiftCore.dylib and /Applications/Xcode.app/Contents/SharedFrameworks/SourceKit.framework/Versions/A/Frameworks/libswiftCore.dylib. One of the two will be used. Which one is undefined.
objc[31962]: Class _SwiftNativeNSStringBase is implemented in both /usr/local/Cellar/pxctest/0.2.1/libexec/PXCTestKit.framework/Versions/A/Frameworks/libswiftCore.dylib and /Applications/Xcode.app/Contents/SharedFrameworks/SourceKit.framework/Versions/A/Frameworks/libswiftCore.dylib. One of the two will be used. Which one is undefined.
objc[31962]: Class _SwiftNativeNSEnumeratorBase is implemented in both /usr/local/Cellar/pxctest/0.2.1/libexec/PXCTestKit.framework/Versions/A/Frameworks/libswiftCore.dylib and /Applications/Xcode.app/Contents/SharedFrameworks/SourceKit.framework/Versions/A/Frameworks/libswiftCore.dylib. One of the two will be used. Which one is undefined.
objc[31962]: Class _SwiftNativeNSDataBase is implemented in both /usr/local/Cellar/pxctest/0.2.1/libexec/PXCTestKit.framework/Versions/A/Frameworks/libswiftCore.dylib and /Applications/Xcode.app/Contents/SharedFrameworks/SourceKit.framework/Versions/A/Frameworks/libswiftCore.dylib. One of the two will be used. Which one is undefined.
objc[31962]: Class _SwiftNativeNSCharacterSetBase is implemented in both /usr/local/Cellar/pxctest/0.2.1/libexec/PXCTestKit.framework/Versions/A/Frameworks/libswiftCore.dylib and /Applications/Xcode.app/Contents/SharedFrameworks/SourceKit.framework/Versions/A/Frameworks/libswiftCore.dylib. One of the two will be used. Which one is undefined.
objc[31962]: Class _SwiftNativeNSIndexSetBase is implemented in both /usr/local/Cellar/pxctest/0.2.1/libexec/PXCTestKit.framework/Versions/A/Frameworks/libswiftCore.dylib and /Applications/Xcode.app/Contents/SharedFrameworks/SourceKit.framework/Versions/A/Frameworks/libswiftCore.dylib. One of the two will be used. Which one is undefined.
objc[31962]: Class _TtC8Dispatch16DispatchWorkItem is implemented in both /usr/local/Cellar/pxctest/0.2.1/libexec/PXCTestKit.framework/Versions/A/Frameworks/libswiftDispatch.dylib and /Applications/Xcode.app/Contents/SharedFrameworks/SourceKit.framework/Versions/A/Frameworks/libswiftDispatch.dylib. One of the two will be used. Which one is undefined.
objc[31962]: Class _TtC10Foundation15NSSimpleCString is implemented in both /usr/local/Cellar/pxctest/0.2.1/libexec/PXCTestKit.framework/Versions/A/Frameworks/libswiftFoundation.dylib and /Applications/Xcode.app/Contents/SharedFrameworks/SourceKit.framework/Versions/A/Frameworks/libswiftFoundation.dylib. One of the two will be used. Which one is undefined.
objc[31962]: Class _TtC10Foundation16NSConstantString is implemented in both /usr/local/Cellar/pxctest/0.2.1/libexec/PXCTestKit.framework/Versions/A/Frameworks/libswiftFoundation.dylib and /Applications/Xcode.app/Contents/SharedFrameworks/SourceKit.framework/Versions/A/Frameworks/libswiftFoundation.dylib. One of the two will be used. Which one is undefined.
objc[31962]: Class _TtC10Foundation25NSFastEnumerationIterator is implemented in both /usr/local/Cellar/pxctest/0.2.1/libexec/PXCTestKit.framework/Versions/A/Frameworks/libswiftFoundation.dylib and /Applications/Xcode.app/Contents/SharedFrameworks/SourceKit.framework/Versions/A/Frameworks/libswiftFoundation.dylib. One of the two will be used. Which one is undefined.
objc[31962]: Class _TtC10Foundation25_NSErrorRecoveryAttempter is implemented in both /usr/local/Cellar/pxctest/0.2.1/libexec/PXCTestKit.framework/Versions/A/Frameworks/libswiftFoundation.dylib and /Applications/Xcode.app/Contents/SharedFrameworks/SourceKit.framework/Versions/A/Frameworks/libswiftFoundation.dylib. One of the two will be used. Which one is undefined.
objc[31962]: Class _TtC10Foundation20_SwiftNSCharacterSet is implemented in both /usr/local/Cellar/pxctest/0.2.1/libexec/PXCTestKit.framework/Versions/A/Frameworks/libswiftFoundation.dylib and /Applications/Xcode.app/Contents/SharedFrameworks/SourceKit.framework/Versions/A/Frameworks/libswiftFoundation.dylib. One of the two will be used. Which one is undefined.
objc[31962]: Class _TtC10Foundation12_SwiftNSData is implemented in both /usr/local/Cellar/pxctest/0.2.1/libexec/PXCTestKit.framework/Versions/A/Frameworks/libswiftFoundation.dylib and /Applications/Xcode.app/Contents/SharedFrameworks/SourceKit.framework/Versions/A/Frameworks/libswiftFoundation.dylib. One of the two will be used. Which one is undefined.
objc[31962]: Class _SwiftTypePreservingNSNumber is implemented in both /usr/local/Cellar/pxctest/0.2.1/libexec/PXCTestKit.framework/Versions/A/Frameworks/libswiftFoundation.dylib and /Applications/Xcode.app/Contents/SharedFrameworks/SourceKit.framework/Versions/A/Frameworks/libswiftFoundation.dylib. One of the two will be used. Which one is undefined.
@plu plu closed this as completed Nov 25, 2016
plu pushed a commit that referenced this issue Dec 1, 2016
Summary:
`FBControlCore` has some provisional Framework Version build settings enabled and is the only of the 4 Objective-C Frameworks to do so. `XCTestBootstrap` does not have versioning, but is embedded in both `FBSimulatorControl` and `FBDeviceControl` just like `FBControlCore` is. This poses a problem when `FBSimulatorControl` and `FBDeviceControl` are both loaded into the same process:

1) `fbsimctl` loads `FBSimulatorControl`, `dyld` loads the Frameworks in `FBSimulatorControl.framework/Frameworks` of `FBControlCore` & `XCTestBootstrap`.
2) `fbsimctl` loads `FBDeviceControl`, `dyld` loads the the Frameworks in `FBDeviceControl.framework/Frameworks`.
3) `FBControlCore` is not loaded as it has the same Framework version as was loaded in #1
4) `XCTestBootstrap` is loaded *again* since it has no versioning information
5) `dyld` complains about duplicate symbols at runtime.

Adding Versioning to `XCTestBootstrap` has the effect that `dyld` will be smart enough to not complain about duplicate symbols in `XCTestBootstrap`. This means that we can keep `FBSimulatorControl` as being completly (and independently) redistributable as a Framework as it will continue to bundle its dependencies, but also prevent runtime duplicate symbols.

Reviewed By: marekcirkos

Differential Revision: D3533943

fbshipit-source-id: bf9bc7562a1a4a6275d6d6089bf2da4825c9637e
plu pushed a commit that referenced this issue Dec 1, 2016
Summary:
As I've been working on the e2e cli test suite, I've seen that there are issues with the way that the CLI Parses compound commands, which means that the parsing can terminate early and not parse the entire string.

I think this highlights the folly in 'implicit' chaining of compound commands. For example,

```
list boot listen --http 1000 shutdown
```

Should result in the same parsed command as with dash-separated compound commands:

```
list -- boot -- listen --http 1000 -- shutdown
```

But it does not, as the dash separated style will bail out in parsing halfway through and provided a half-parsed result.

I want to correct the existing behaviour, then remove 'implicit' parsing:

1) Introduce tests (and fixes) for dash-separated compound commands
2) Make parsing of compound commands 'strict'. This means that `list -- boot ThisIsABadArgument` should fail to parse instead of just parsing `list` and then continuing. This is important as this can result in very surprising behaviour otherwise.
3) Update any documentation and dependencies to use the new dash-separation of compound commands.
4) Remove the behaviour for implicit chaining of compound commands. Iinvert the tests so that dash-separation succeeds to parse, implicit chaining fails.

This diff does #1 and #2 in unison, since only doing #1 without #2 results in a very confusing parser.

Reviewed By: asm89

Differential Revision: D3592485

fbshipit-source-id: 00d3164c921082638d65076329b117c19ee57bf8
plu pushed a commit that referenced this issue Dec 1, 2016
Summary:
There is one very subtle case that will cause the 'unclaimed' (read Xcode-launched) Application fetching will fail:
1) Boot a Simulator via conventional means like via Xcode or an alias to the `Simulator.app`
2) Boot another Simulator.app via `fbsimctl`
3) `fbsimctl shutdown` will properly kill the sim from #1 but not #2

This is because the booting of #2 overwrites the `NSUserDefaults` from #1 so the 'unclaimed' simulator container app doesn't correlate. The check for the UDID in the `NSUserDefaults` is unecessary since we can reasonably assume if there is one more Simulator app that is unclaimed this must be the sole remaining Simulator.app for the `launchd_sim`.

Reviewed By: marekcirkos

Differential Revision: D3811248

fbshipit-source-id: e9f0fb97c8370f5966f191eebbd246f61ec722b5
@JeanMertz
Copy link

I'm still seeing this with pxctest, even when using --HEAD with Homebrew.

@RichardGuion
Copy link

I just installed using

brew tap plu/pxctest && brew install pxctest

and still seeing:

objc[61825]: Class _TtCs18_EmptyArrayStorage is implemented in both /usr/local/Cellar/pxctest/0.3.3/libexec/Frameworks/PXCTestKit.framework/Versions/A/Frameworks/libswiftCore.dylib (0x10dece990) and /Applications/Xcode.app/Contents/Frameworks/libswiftCore.dylib (0x11160a990). One of the two will be used. Which one is undefined.

@plu plu reopened this May 19, 2017
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants