Charts: Erro com atualização de cartago. ChartsRealm falha ao construir

Criado em 16 ago. 2016  ·  26Comentários  ·  Fonte: danielgindi/Charts

Ao executar uma atualização de carthage - plataforma iOS ChartsRealm falha ao construir. Eu testei isso em 3 de nossas máquinas com o mesmo resultado. Limpamos o projeto, excluímos o diretório Carthage e tentamos fazer o downgrade da versão. Tudo com o mesmo resultado.

Aqui está o resultado da falha:

Os seguintes comandos de compilação falharam:
Ld /Users/user/Library/Developer/Xcode/DerivedData/ChartsRealm-admcvrfsqdqvoxfzhmelrhhyzqfx/Build/Intermediates/Charts.build/Release-iphoneos/Charts-OSX.harts normal armv normal7/armv7/Objects-normal7/armv7
Ld /Users/user/Library/Developer/Xcode/DerivedData/ChartsRealm-admcvrfsqdqvoxfzhmelrhhyzqfx/Build/Intermediates/Charts.build/Release-iphoneos/Charts-OSX.build/Objects-normal/arm64/Objects normal
(2 falhas)
clang: erro: o comando do linker falhou com o código de saída 1 (use -v para ver a chamada)
clang: erro: o comando do linker falhou com o código de saída 1 (use -v para ver a chamada)
Uma tarefa shell (/ usr / bin / xcrun xcodebuild -project ... / Carthage / checkouts / Gráficos / ChartsRealm / ChartsRealm.xcodeproj -Esquema ChartsRealm-iOS -configuration lançamento -sdk iPhoneOS ONLY_ACTIVE_ARCH = NO BITCODE_GENERATION_MODE = bitcode CODE_SIGNING_REQUIRED = NO CODE_SIGN_IDENTITY = CARTHAGE = YES clean build) falhou com o código de saída 65:
* FALHA NA CONSTRUÇÃO *

Os seguintes comandos de compilação falharam:
Ld /Users/user/Library/Developer/Xcode/DerivedData/ChartsRealm-admcvrfsqdqvoxfzhmelrhhyzqfx/Build/Intermediates/Charts.build/Release-iphoneos/Charts-OSX.harts normal armvnormal/armv7/Objects-normal7/armv7
Ld /Users/user/Library/Developer/Xcode/DerivedData/ChartsRealm-admcvrfsqdqvoxfzhmelrhhyzqfx/Build/Intermediates/Charts.build/Release-iphoneos/Charts-OSX.build/Objects-normal/arm64/Objects normal
(2 falhas)

Comentários muito úteis

O mesmo problema aqui. Ele falha apenas ao construir a versão iOS do ChartsRealm. Parece que ele deseja vincular o Cocoa ao framework iOS, o que obviamente não funcionará:

ld: framework not found Cocoa
clang: error: linker command failed with exit code 1 (use -v to see invocation)

Todos 26 comentários

mesmo aqui, obtém o mesmo erro

Se você não precisa do ChartsRealm, vá para Carthage\Checkouts\Charts , exclua ChartsRealm e execute o comando carthage build .

@lewissk : Tenho o mesmo problema se tento executar a ação Carthage com Fastlane. Se eu executar carthage update --platform iOS ou carthage update diretamente no terminal, está tudo bem. Você usa Fastlane ou não?

@tomassliz Não estou usando Fastlane, embora goste muito de Fastlane. Estou apenas executando a linha de comando básica carthage update --platform iOS

@lewissk Depois de algumas tentativas, tudo funciona. Não importa se estou usando Fastlane ou não. Não sei qual era o problema, porque tudo ainda é o mesmo (removi a pasta Carthage e reiniciei meu repo git todas as vezes)

O mesmo problema aqui. Ele falha apenas ao construir a versão iOS do ChartsRealm. Parece que ele deseja vincular o Cocoa ao framework iOS, o que obviamente não funcionará:

ld: framework not found Cocoa
clang: error: linker command failed with exit code 1 (use -v to see invocation)

O mesmo problema aqui. Algum seguimento sobre este assunto?

Atualize seu Cartago ... Parece que ele escolheu argumentos de construção errados. Como o cacau só é importado para OSX

Meu cartago está atualizado e ainda tenho esse problema. Deve ser corrigido com # 1119, espero que aconteça em breve.

1119 não resolverá esse problema. Eu estava examinando isso hoje à noite e acho que carthage fica confuso sobre qual chart.framework usar ao construir. Parece pegar o primeiro disponível, que às vezes é o OS X que falha. Vou tentar fazer ChartsRealm depender do carthage construído charts.framework e ver se funciona.

@ petester42 Bem, não vai consertar se você quiser usar o ChartsRealm, mas muitas pessoas (como eu) não querem e o carthage ainda o constrói porque está no mesmo repo.

Construir todos os esquemas em um projeto é uma limitação do cartago. Não há realmente nada que possamos fazer sobre isso. Ter um repositório diferente para cada pequena extensão torna-se incontrolável muito rápido

Bem, eu não chamaria isso de "pequena extensão", e nem o fariam muitas pessoas em # 1119, mas ok então, podemos concordar em discordar.

Eu convidaria as pessoas que estão tendo problemas com a construção de cartago para tentar usar github "danielgindi/Charts" "extract-realm" em seu Cartfile.

Por favor, relate se isso corrige os problemas.

@ petester42 Ainda não funciona aqui. : /

** BUILD FAILED **


The following build commands failed:
    CompileSwift normal arm64 /Users/daniel/Documents/Code/ios/Leio/Carthage/Checkouts/ios-charts/ChartsRealm/Classes/Data/RealmLineRadarDataSet.swift
    CompileSwift normal arm64 /Users/daniel/Documents/Code/ios/Leio/Carthage/Checkouts/ios-charts/ChartsRealm/Classes/Data/RealmPieDataSet.swift
    CompileSwift normal arm64 /Users/daniel/Documents/Code/ios/Leio/Carthage/Checkouts/ios-charts/ChartsRealm/Classes/Data/RealmLineDataSet.swift
    CompileSwift normal arm64 /Users/daniel/Documents/Code/ios/Leio/Carthage/Checkouts/ios-charts/ChartsRealm/Classes/Data/RealmScatterDataSet.swift
    CompileSwift normal arm64 /Users/daniel/Documents/Code/ios/Leio/Carthage/Checkouts/ios-charts/ChartsRealm/Classes/Data/RealmBarDataSet.swift
    CompileSwift normal arm64 /Users/daniel/Documents/Code/ios/Leio/Carthage/Checkouts/ios-charts/ChartsRealm/Classes/Data/RealmBaseDataSet.swift
    CompileSwift normal arm64 /Users/daniel/Documents/Code/ios/Leio/Carthage/Checkouts/ios-charts/ChartsRealm/Classes/Data/RealmCandleDataSet.swift
    CompileSwiftSources normal arm64 com.apple.xcode.tools.swift.compiler
(8 failures)
/Users/daniel/Documents/Code/ios/Leio/Carthage/Checkouts/ios-charts/ChartsRealm/Classes/Data/RealmLineRadarDataSet.swift:41:22: error: use of undeclared type 'Fill'
/Users/daniel/Documents/Code/ios/Leio/Carthage/Checkouts/ios-charts/ChartsRealm/Classes/Data/RealmPieDataSet.swift:47:20: error: use of unresolved identifier 'PieChartDataEntry'
/Users/daniel/Documents/Code/ios/Leio/Carthage/Checkouts/ios-charts/ChartsRealm/Classes/Data/RealmPieDataSet.swift:51:20: error: use of unresolved identifier 'PieChartDataEntry'
/Users/daniel/Documents/Code/ios/Leio/Carthage/Checkouts/ios-charts/ChartsRealm/Classes/Data/RealmLineDataSet.swift:153:33: error: use of undeclared type 'IFillFormatter'
# And so on...

Em que ordem as coisas foram construídas?

# carthage update --platform iOS ios-charts
*** Fetching ios-charts
# ...
*** Fetching realm-cocoa
*** Downloading realm-cocoa.framework binary at "v1.0.2"
*** Checking out ios-charts at "d9d73eb072cb60f2b841eb7dd0be59b0561d9f2b"
*** xcodebuild output can be found in /var/folders/p7/7ckwbkvs0wb3q2qpn7wjn4yh0000gn/T/carthage-xcodebuild.Ybt8ep.log
*** Building scheme "Charts-iOS" in Charts.xcodeproj
*** Building scheme "ChartsRealm-iOS" in ChartsRealm.xcodeproj

E então vêm os erros.

Acabei de experimentar e funciona muito bem para mim. Tente excluir seus dados derivados e, se isso não funcionar, exclua a pasta carthage, bem como o cartfile.resolved.

screen shot 2016-09-07 at 9 49 39 pm
screen shot 2016-09-07 at 10 02 03 pm

Eu tenho exatamente o mesmo problema que @dbmrq encontrou. Limpei tudo, desde os dados derivados ao cache do CarthageKit antes de tentar uma nova compilação. O log completo está disponível aqui , e meu Cartfile se parece com isto:

github "realm/realm-cocoa" ~> 1.0
github "danielgindi/Charts" "extract-realm"

Nada fora do comum. :)

Pelos logs enviados, parece que você está usando uma versão diferente do xcode para construir, uma vez que parecem falhas de sintaxe genérica. Tente executar xcode-select -print-path e veja se seu caminho é 7.3.1.

Acabei de verificar, o caminho aponta para o pacote Xcode regular, não o beta.

Curiosamente, construir os frameworks por conta própria, após uma tentativa fracassada de Carthage, funciona perfeitamente (assumindo que Carthage foi capaz de construir Gráficos e Realm).

Eu executei o comando que Carthage _supposedly_ usou:

$ /usr/bin/xcrun xcodebuild -project '<project>/Carthage/Checkouts/Charts/ChartsRealm/ChartsRealm.xcodeproj' -scheme ChartsRealm-iOS -configuration Release -sdk iphoneos ONLY_ACTIVE_ARCH=NO BITCODE_GENERATION_MODE=bitcode CODE_SIGNING_REQUIRED=NO CODE_SIGN_IDENTITY= CARTHAGE=YES clean build

Na verdade, pode ser um problema de tempo estranho, vindo de Cartago.

Eu tentei com seu novo branch workspacing e agora parece estar funcionando! 🎉

🔥🔥🔥

Usando workspacing , também está funcionando para mim! 👏

Minha solução foi remover github "danielgindi/Charts" ~> 2.2.5 do Cartfile e executar carthage update --platform iOS para construir todas as outras estruturas e, depois disso, executar a atualização do carthage separadamente para gráficos com carthage update Charts --platform iOS

fechado por # 1422

Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

PrashantKT picture PrashantKT  ·  3Comentários

BrandonShega picture BrandonShega  ·  4Comentários

guanyanlin picture guanyanlin  ·  3Comentários

ahmedsafadii picture ahmedsafadii  ·  3Comentários

deepumukundan picture deepumukundan  ·  3Comentários