Error when iOS/Mac application

When I start new iOS/Mac application (Cocoa->Swift language) I always get error "Error building target GetLinkerCommand: Relational operator Less is not supported."
My system - Mac OS 10.11.2, Xcode 7.2

Android apps on Swift run ok.

upd.
Fire version is PRE-RELEASE (BETA) 8.2.89.19.09 built 12-22-2015

Which version of fire are you using? An older beta by any chance?

Fire version is PRE-RELEASE (BETA) 8.2.89.19.09 built 12-22-2015

Strange. can you set the build log verbosity to Detailed or Debug and post the full log? Also, what version of Mono are you using? the embedded one, or an external?

Link to detailed log https://www.dropbox.com/s/7bwrbcw56gebt3o/build%20log?dl=0
Mono version 4.3.0 (64 bit) and 4.2.1 (32 bit). Embedded one.
Link to “about fire” - https://www.dropbox.com/s/2a31l6xxi3kioxq/screen%20fire.png?dl=0

Very curious.

Can you try locating RemObjects.Oxygene.Nougat.targets inside Fire, and replace these lines

      <NougatLinkerOptions Condition="'$(TargetSDKType)'=='OS X'          and '$(TargetSDKVersion)' &lt;  '10.11'">$(NougatLinkerOptions) "{developer}/Toolchains/XcodeDefault.xctoolchain/usr/lib/arc/libarclite_macosx.a" -lcrt1.10.6.o</NougatLinkerOptions>
      <NougatLinkerOptions Condition="'$(TargetSDKType)'=='iOS'           and '$(TargetSDKVersion)' &lt;   '9.0'" >$(NougatLinkerOptions)                                                                                   -lcrt1.3.1.o</NougatLinkerOptions>
      <NougatLinkerOptions Condition="'$(TargetSDKType)'=='iOS Simulator' and '$(TargetSDKVersion)' &lt;   '9.0'" >$(NougatLinkerOptions)                                                                                   -lcrt1.o</NougatLinkerOptions>

      <NougatLinkerOptions Condition="'$(TargetSDKType)'=='OS X'          and '$(TargetSDKVersion)' &gt;= '10.11'">$(NougatLinkerOptions) "{developer}/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/{findbestmatching}/lib/darwin/libclang_rt.osx.a"</NougatLinkerOptions>
      <NougatLinkerOptions Condition="'$(TargetSDKType)'=='iOS'           and '$(TargetSDKVersion)' &gt;=  '9.0'" >$(NougatLinkerOptions) "{developer}/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/{findbestmatching}/lib/darwin/libclang_rt.ios.a"</NougatLinkerOptions>
      <NougatLinkerOptions Condition="'$(TargetSDKType)'=='iOS Simulator' and '$(TargetSDKVersion)' &gt;=  '9.0'" >$(NougatLinkerOptions) "{developer}/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/{findbestmatching}/lib/darwin/libclang_rt.ios.a"</NougatLinkerOptions>

with these:

      <NougatLinkerOptions Condition="'$(TargetSDKType)'=='OS X'">$(NougatLinkerOptions) "{developer}/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/{findbestmatching}/lib/darwin/libclang_rt.osx.a"</NougatLinkerOptions>
      <NougatLinkerOptions Condition="'$(TargetSDKType)'=='iOS'" >$(NougatLinkerOptions) "{developer}/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/{findbestmatching}/lib/darwin/libclang_rt.ios.a"</NougatLinkerOptions>
      <NougatLinkerOptions Condition="'$(TargetSDKType)'=='iOS Simulator'" >$(NougatLinkerOptions) "{developer}/Toolchains/XcodeDefault.xctoolchain/usr/lib/clang/{findbestmatching}/lib/darwin/libclang_rt.ios.a"</NougatLinkerOptions>

and see if that works around the issue? It seems for some reason your version of Mono/MSBuild doesn’t like the “<” and “>=” operators, there. Which is odd, because they work fine, here.

Even more weird, if I’m search for "Relational operator Less is not supported" online, with quotes, i literally fid only one single hit. This thread.

It doesn’t work for me(
I try reinstall Mono and Fire, install Mono version from 3.10 to 4.2.1, but nothing has changes(

So you get the same error even after changing the .targets file as suggested?

Yes, same error.

That’s odd, it’s failing on something you removed from the file; this makes no sense. :(.

Are you by any chance on a locale where “,” is the decimal symbol, not “.”? if so, that might give us some indication too help narrow this down…

Yes, in my locale default decimal symbol is “,”.

Ok, that’s starting to make sense now. as a workaround, can you remove these lines from your target as well? I missed those yesterday:

    <PropertyGroup Condition="'$(OutputType)'=='Extension' and '$(IsWatchKitExtension)'!='True' and '$(TargetSDKVersion)' &lt; '9.0'">
      <NougatLinkerOptions>$(NougatLinkerOptions) $(SDKPath)/System/Library/PrivateFrameworks/PlugInKit.framework/PlugInKit</NougatLinkerOptions>
    </PropertyGroup>

That’s also don’t work for me((

Do you have any occurrences of &lt; or &gt; left in the .target file now?

No, & lt; or & gt; not in .target file.

I change my OSX system language to English and all work ok.
It’s very strange)))

1 Like

I’m guessing you must have overlooked one &lt; or ‘>’ in the target. In any case, now that we narrowed this issue down, we will address this for the next beta build.