hey folks, first time trying Kotlin Native. Is Xco...
# kotlin-native
n
hey folks, first time trying Kotlin Native. Is Xcode mandatory for Kotlin Native ? I am trying to build the demo project https://github.com/kotlin-hands-on/intro-kotlin-native but I am getting
Copy code
23:30:05: Executing tasks ':assemble :macosMainBinaries :macosTestBinaries --stacktrace'...


> Configure project :
Kotlin Multiplatform Projects are an experimental feature.

> Task :cinteropLibcurlMacos FAILED
xcrun: error: unable to find utility "xcodebuild", not a developer tool or in PATH
Exception in thread "main" org.jetbrains.kotlin.konan.MissingXcodeException: An error occurred during an xcrun execution. Make sure that Xcode and its command line tools are properly installed.
	at org.jetbrains.kotlin.konan.target.CurrentXcode.xcrun(Xcode.kt:77)
	at org.jetbrains.kotlin.konan.target.CurrentXcode.access$xcrun(Xcode.kt:45)
	at org.jetbrains.kotlin.konan.target.CurrentXcode$version$2.invoke(Xcode.kt:70)
	at org.jetbrains.kotlin.konan.target.CurrentXcode$version$2.invoke(Xcode.kt:45)
	at kotlin.SynchronizedLazyImpl.getValue(LazyJVM.kt:74)
	at org.jetbrains.kotlin.konan.target.CurrentXcode.getVersion(Xcode.kt)
	at org.jetbrains.kotlin.konan.target.AppleConfigurablesImpl$xcodePartsProvider$2.invoke(Apple.kt:71)
	at org.jetbrains.kotlin.konan.target.AppleConfigurablesImpl$xcodePartsProvider$2.invoke(Apple.kt:24)
	at kotlin.SynchronizedLazyImpl.getValue(LazyJVM.kt:74)
	at org.jetbrains.kotlin.konan.target.AppleConfigurablesImpl.getXcodePartsProvider(Apple.kt)
	at org.jetbrains.kotlin.konan.target.AppleConfigurablesImpl.getAbsoluteTargetToolchain(Apple.kt:48)
	at org.jetbrains.kotlin.konan.target.ClangArgs.getAbsoluteTargetToolchain(ClangArgs.kt)
	at org.jetbrains.kotlin.konan.target.ClangArgs.<init>(ClangArgs.kt:351)
	at org.jetbrains.kotlin.konan.target.Platform$clang$2.invoke(Platform.kt:25)
	at org.jetbrains.kotlin.konan.target.Platform$clang$2.invoke(Platform.kt:21)
	at kotlin.SynchronizedLazyImpl.getValue(LazyJVM.kt:74)
	at org.jetbrains.kotlin.konan.target.Platform.getClang(Platform.kt)
	at org.jetbrains.kotlin.native.interop.tool.ToolConfig.<init>(ToolConfig.kt:37)
	at org.jetbrains.kotlin.native.interop.gen.jvm.MainKt.prepareTool(main.kt:377)
	at org.jetbrains.kotlin.native.interop.gen.jvm.MainKt.processCLib(main.kt:181)
	at org.jetbrains.kotlin.native.interop.gen.jvm.MainKt.interop(main.kt:46)
	at org.jetbrains.kotlin.cli.utilities.InteropCompilerKt.invokeInterop(InteropCompiler.kt:44)
	at org.jetbrains.kotlin.cli.utilities.MainKt.mainImpl(main.kt:19)
	at org.jetbrains.kotlin.cli.utilities.MainKt.main(main.kt:37)
Caused by: org.jetbrains.kotlin.konan.KonanExternalToolFailure: The /usr/bin/xcrun command returned non-zero exit code: 72.
output:

	at org.jetbrains.kotlin.konan.exec.Command.handleExitCode(ExecuteCommand.kt:111)
	at org.jetbrains.kotlin.konan.exec.Command.getResult(ExecuteCommand.kt:100)
	at org.jetbrains.kotlin.konan.exec.Command.getOutputLines(ExecuteCommand.kt:79)
	at org.jetbrains.kotlin.konan.exec.Command.getOutputLines$default(ExecuteCommand.kt:78)
	at org.jetbrains.kotlin.konan.target.CurrentXcode.xcrun(Xcode.kt:75)
	... 23 more

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':cinteropLibcurlMacos'.
> Process 'command '/Library/Java/JavaVirtualMachines/adoptopenjdk-8.jdk/Contents/Home/bin/java'' finished with non-zero exit value 1
I am confused as i can’t see anywhere in the docs Xcode as prerequisite.
k
Xcode must be installed to build macOS/iOS targets
m
sure, to build to a specifc target/platform, in your case
macos
(by your build command
:macosMainBinaries :macosTestBinaries
) you have to have the platform specifc build tools