Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Unsupported clang availability platform: 'bridgeos'

I'm trying to bind Custom Native iOS Framework and getting this error in the 1st stage of sharpie bind -output bindings. Below is the command and log when I hit the below command:

sharpie bind --output=filename --namespace=namespacename --sdk=iphoneos11.4 /path/to/the/headerfile

Logs:

System.Exception: Unsupported clang availability platform: 'bridgeos' at Sharpie.Bind.Attributes.AvailabilityBaseAttribute+d__6.MoveNext () [0x0037d] in /Users/builder/vsts/_work/2/s/Sharpie.Bind/Attributes/AvailabilityBaseAttribute.cs:192 at System.Linq.Enumerable+SelectManySingleSelectorIterator`2[TSource,TResult].MoveNext () [0x0006f] in <3fb92ec709f44a579da6a23087df403d>:0 at Sharpie.Bind.Massagers.AvailabilityMassager.Massage (ICSharpCode.NRefactory.CSharp.EntityDeclaration entity) [0x00092] in /Users/builder/vsts/_work/2/s/Sharpie.Bind/Massagers/AvailabilityMassager.cs:55 at Sharpie.Bind.Massagers.AvailabilityMassager.VisitPropertyDeclaration (ICSharpCode.NRefactory.CSharp.PropertyDeclaration propertyDeclaration) [0x00000] in /Users/builder/vsts/_work/2/s/Sharpie.Bind/Massagers/AvailabilityMassager.cs:29 at ICSharpCode.NRefactory.CSharp.PropertyDeclaration.AcceptVisitor (ICSharpCode.NRefactory.CSharp.IAstVisitor visitor) [0x00000] in :0 at ICSharpCode.NRefactory.CSharp.DepthFirstAstVisitor.VisitChildren (ICSharpCode.NRefactory.CSharp.AstNode node) [0x00010] in :0 at ICSharpCode.NRefactory.CSharp.DepthFirstAstVisitor.VisitTypeDeclaration (ICSharpCode.NRefactory.CSharp.TypeDeclaration typeDeclaration) [0x00000] in :0 at Sharpie.Bind.Massagers.AvailabilityMassager.VisitTypeDeclaration (ICSharpCode.NRefactory.CSharp.TypeDeclaration typeDeclaration) [0x00006] in /Users/builder/vsts/_work/2/s/Sharpie.Bind/Massagers/AvailabilityMassager.cs:24 at ICSharpCode.NRefactory.CSharp.TypeDeclaration.AcceptVisitor (ICSharpCode.NRefactory.CSharp.IAstVisitor visitor) [0x00000] in :0 at ICSharpCode.NRefactory.CSharp.DepthFirstAstVisitor.VisitChildren (ICSharpCode.NRefactory.CSharp.AstNode node) [0x00010] in :0 at ICSharpCode.NRefactory.CSharp.DepthFirstAstVisitor.VisitSyntaxTree (ICSharpCode.NRefactory.CSharp.SyntaxTree syntaxTree) [0x00000] in :0 at Sharpie.Bind.DocumentSyntaxTree.AcceptVisitor (ICSharpCode.NRefactory.CSharp.IAstVisitor visitor) [0x00015] in /Users/builder/vsts/_work/2/s/Sharpie.Bind/DocumentSyntaxTree.cs:37 at Sharpie.Bind.BindingMassager.Massage (ICSharpCode.NRefactory.CSharp.AstNode astNode, Sharpie.Bind.BindingTarget bindingTarget) [0x00033] in /Users/builder/vsts/_work/2/s/Sharpie.Bind/BindingMassager.cs:103 at Sharpie.Bind.BindingFrontend.Bind (Clang.Ast.Decl decl) [0x000b5] in /Users/builder/vsts/_work/2/s/Sharpie.Bind/BindingFrontend.cs:61 at Sharpie.BindTool.HandleTranslationUnit (Clang.Ast.TranslationUnitDecl decl) [0x0018b] in /Users/builder/vsts/_work/2/s/Sharpie/BindTool.cs:164 at Clang.Driver.HandleTranslationUnit (Clang.Ast.TranslationUnitDecl translationUnit) [0x00000] in /Users/builder/vsts/_work/2/s/Clang/Driver.cs:158 at Clang.Driver.HandleTranslationUnit (System.IntPtr translationUnit) [0x00000] in /Users/builder/vsts/_work/2/s/Clang/Driver.cs:148 at (wrapper managed-to-native) Clang.Driver:RunInternal (Clang.Driver,string[],string,Clang.Frontend.DiagnosticConsumer) at Clang.Driver.Run (System.String[] inputFiles, System.String[] clangArgs, Clang.Frontend.DiagnosticConsumer diagnosticConsumer) [0x00177] in /Users/builder/vsts/_work/2/s/Clang/Driver.cs:139 at Sharpie.ParseTool.Run () [0x005c8] in /Users/builder/vsts/_work/2/s/Sharpie/ParseTool.cs:576 at Sharpie.BindTool.CoreRun () [0x00001] in /Users/builder/vsts/_work/2/s/Sharpie/BindTool.cs:120 at Sharpie.BindTool.Run () [0x00026] in /Users/builder/vsts/_work/2/s/Sharpie/BindTool.cs:98

Below are the details of command : sharpie xcode -sdks

sdk: appletvos11.4 arch: arm64
sdk: iphoneos11.4 arch: arm64 armv7
sdk: macosx10.13 arch: x86_64 i386
sdk: watchos4.3 arch: armv7k

like image 226
Sujeet Shetty Avatar asked Oct 16 '22 17:10

Sujeet Shetty


1 Answers

We experienced the exact same issue, and solved it by uninstalling Xcode 9.4(or 9.3 if that is what you have), downloading Xcode 9.2 from apple, installing it and rebooting. After this you can use sharpie with iphoneos11.2 (instead of 11.4 which sharpie does not support yet it seems).

I assume some breaking changes was introduced with xcode 9.2 and the latest swift-updates.

NB: This is just to generate the bindings, afterwards, when you have the structs and apidefs, you can upgrade to xcode 9.4 and compile as usual...

like image 52
Tompi Avatar answered Oct 21 '22 04:10

Tompi