DroidconKotlin icon indicating copy to clipboard operation
DroidconKotlin copied to clipboard

Unable to `./gradlew build`

Open mochadwi opened this issue 3 years ago • 1 comments

When trying to runs with ./gradlew build (based on IOSDEV.md steps no. 5), the ktlint works as expected (failing if there's file violate the rules), due to a lot of file violated, I'm commenting the ktlint plugin, and re-run the ./gradlew build afterwards following error happened:

> Task :shared-ui:compileKotlinIosSimulatorArm64 FAILED
e: /root/DroidconKotlin-Mobile/shared-ui/src/commonMain/kotlin/co.touchlab.droidcon/ui/settings/PlatformSpecificSettings.kt: (7, 21): Expected function 'PlatformSpecificSettingsView' has no actual declaration in module <Droidcon:shared-ui> for Native
e: /root/DroidconKotlin-Mobile/shared-ui/src/commonMain/kotlin/co.touchlab.droidcon/ui/util/Dialog.kt: (6, 21): Expected function 'Dialog' has no actual declaration in module <Droidcon:shared-ui> for Native
e: /root/DroidconKotlin-Mobile/shared-ui/src/commonMain/kotlin/co.touchlab.droidcon/ui/util/LocalImage.kt: (7, 21): Expected function '__LocalImage' has no actual declaration in module <Droidcon:shared-ui> for Native
e: /root/DroidconKotlin-Mobile/shared-ui/src/commonMain/kotlin/co.touchlab.droidcon/ui/util/NavigationBackPressWrapper.kt: (6, 21): Expected function 'NavigationBackPressWrapper' has no actual declaration in module <Droidcon:shared-ui> for Native
e: /root/DroidconKotlin-Mobile/shared-ui/src/commonMain/kotlin/co.touchlab.droidcon/ui/util/RemoteImage.kt: (7, 21): Expected function '__RemoteImage' has no actual declaration in module <Droidcon:shared-ui> for Native

mochadwi avatar Aug 26 '22 02:08 mochadwi

I was facing the same issue, I'm running ./gradlew build in a MacBook M1 Pro, for that error I've decided to create the corresponding files in the suggested package, most of the content is similar from what iosMain package has except the RemoteImage file, that one depends on image-loader dependency support for iosSimulatorArm64

Screen Shot 2022-09-17 at 13 24 31

after that I don't get that error, but, now I'm getting this:

> Task :shared-ui:compileCommonMainKotlinMetadata FAILED
e: java.lang.IllegalStateException: e: Could not find "/Users/alejandrorios/Documents/Workstation/Kotlin-Native/DroidconKotlin/shared-ui/build/kotlinSourceSetMetadata/commonMain/org.jetbrains.kotlinx-atomicfu/org.jetbrains.kotlinx-atomicfu-nativeInterop.klib" in [/Users/alejandrorios/Library/Application Support/kotlin/daemon]
        at org.jetbrains.kotlin.library.SingleFileResolveKt$resolveSingleFileKlib$1.fatal(SingleFileResolve.kt:21)
        at org.jetbrains.kotlin.library.KotlinLibrarySearchPathResolver.resolve(SearchPathResolver.kt:175)
        at org.jetbrains.kotlin.library.KotlinLibrarySearchPathResolver.resolve(SearchPathResolver.kt:181)
        at org.jetbrains.kotlin.library.CompilerSingleFileKlibResolveStrategy.resolve(SearchPathResolver.kt:302)
        at org.jetbrains.kotlin.library.SingleFileResolveKt.resolveSingleFileKlib(SingleFileResolve.kt:24)
        at org.jetbrains.kotlin.library.SingleFileResolveKt.resolveSingleFileKlib$default(SingleFileResolve.kt:15)
        at org.jetbrains.kotlin.cli.metadata.KlibMetadataDependencyContainer.<init>(K2MetadataKlibSerializer.kt:122)
        at org.jetbrains.kotlin.cli.metadata.K2MetadataKlibSerializer$serialize$analyzer$1.invoke(K2MetadataKlibSerializer.kt:54)
        at org.jetbrains.kotlin.cli.metadata.K2MetadataKlibSerializer$serialize$analyzer$1.invoke(K2MetadataKlibSerializer.kt:48)
        at org.jetbrains.kotlin.cli.metadata.CommonAnalysisKt.runCommonAnalysisForSerialization(CommonAnalysis.kt:42)
        at org.jetbrains.kotlin.cli.metadata.K2MetadataKlibSerializer.serialize(K2MetadataKlibSerializer.kt:53)
        at org.jetbrains.kotlin.cli.metadata.K2MetadataCompiler.doExecute(K2MetadataCompiler.kt:122)
        at org.jetbrains.kotlin.cli.metadata.K2MetadataCompiler.doExecute(K2MetadataCompiler.kt:40)
        at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.kt:94)
        at org.jetbrains.kotlin.cli.common.CLICompiler.execImpl(CLICompiler.kt:43)
        at org.jetbrains.kotlin.cli.common.CLITool.exec(CLITool.kt:101)
        at org.jetbrains.kotlin.daemon.CompileServiceImpl.compile(CompileServiceImpl.kt:1642)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:566)
        at java.rmi/sun.rmi.server.UnicastServerRef.dispatch(UnicastServerRef.java:359)
        at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:200)
        at java.rmi/sun.rmi.transport.Transport$1.run(Transport.java:197)
        at java.base/java.security.AccessController.doPrivileged(Native Method)
        at java.rmi/sun.rmi.transport.Transport.serviceCall(Transport.java:196)
        at java.rmi/sun.rmi.transport.tcp.TCPTransport.handleMessages(TCPTransport.java:562)
        at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run0(TCPTransport.java:796)
        at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.lambda$run$0(TCPTransport.java:677)
        at java.base/java.security.AccessController.doPrivileged(Native Method)
        at java.rmi/sun.rmi.transport.tcp.TCPTransport$ConnectionHandler.run(TCPTransport.java:676)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
        at java.base/java.lang.Thread.run(Thread.java:829)

Is there an option to solve this??

alejandro-rios avatar Sep 17 '22 18:09 alejandro-rios

Had same problem. That should fix it. Although I don't know why it depends on old version of atomicFu and why it even there.

Index: settings.gradle.kts
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/settings.gradle.kts b/settings.gradle.kts
--- a/settings.gradle.kts	(revision 979eb977ec1a99f0c22d57160f0a4d9c917e1814)
+++ b/settings.gradle.kts	(date 1664445069498)
@@ -75,6 +75,7 @@
 
             alias("kotlin-test-common").to("org.jetbrains.kotlin", "kotlin-test-common").versionRef(kotlinRef)
             alias("android-desugar").to("com.android.tools", "desugar_jdk_libs").version("1.1.5")
+            alias("atomicFu").to("org.jetbrains.kotlinx", "atomicfu").version("0.18.3")
 
             alias("androidx-compose-ui-core").to("androidx.compose.ui", "ui").versionRef(composeRef)
             alias("androidx-compose-ui-tooling").to("androidx.compose.ui", "ui-tooling").versionRef(composeRef)
Index: shared-ui/build.gradle.kts
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/shared-ui/build.gradle.kts b/shared-ui/build.gradle.kts
--- a/shared-ui/build.gradle.kts	(revision 979eb977ec1a99f0c22d57160f0a4d9c917e1814)
+++ b/shared-ui/build.gradle.kts	(date 1664441451618)
@@ -74,6 +74,7 @@
                 api(libs.kotlinx.coroutines.core)
                 api(libs.kotlinx.datetime)
                 api(libs.multiplatformSettings.core)
+                api(libs.atomicFu)
                 api(libs.uuid)
 
                 implementation(libs.bundles.ktor.common)

```Index: settings.gradle.kts
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/settings.gradle.kts b/settings.gradle.kts
--- a/settings.gradle.kts	(revision 979eb977ec1a99f0c22d57160f0a4d9c917e1814)
+++ b/settings.gradle.kts	(date 1664445069498)
@@ -75,6 +75,7 @@
 
             alias("kotlin-test-common").to("org.jetbrains.kotlin", "kotlin-test-common").versionRef(kotlinRef)
             alias("android-desugar").to("com.android.tools", "desugar_jdk_libs").version("1.1.5")
+            alias("atomicFu").to("org.jetbrains.kotlinx", "atomicfu").version("0.18.3")
 
             alias("androidx-compose-ui-core").to("androidx.compose.ui", "ui").versionRef(composeRef)
             alias("androidx-compose-ui-tooling").to("androidx.compose.ui", "ui-tooling").versionRef(composeRef)
Index: shared-ui/build.gradle.kts
IDEA additional info:
Subsystem: com.intellij.openapi.diff.impl.patch.CharsetEP
<+>UTF-8
===================================================================
diff --git a/shared-ui/build.gradle.kts b/shared-ui/build.gradle.kts
--- a/shared-ui/build.gradle.kts	(revision 979eb977ec1a99f0c22d57160f0a4d9c917e1814)
+++ b/shared-ui/build.gradle.kts	(date 1664441451618)
@@ -74,6 +74,7 @@
                 api(libs.kotlinx.coroutines.core)
                 api(libs.kotlinx.datetime)
                 api(libs.multiplatformSettings.core)
+                api(libs.atomicFu)
                 api(libs.uuid)
 
                 implementation(libs.bundles.ktor.common)

mikolajOn avatar Sep 30 '22 09:09 mikolajOn

It works!!, thank you very much @mikolajOn

alejandro-rios avatar Sep 30 '22 19:09 alejandro-rios

(To internal team member) please attempt to repro the issue on an M1 machine, and if we can't we'll close for now. The Droidcon app will be going through version updates as Kotlin and Compose progress, so issues will probably resolve over time.

kpgalligan avatar Oct 31 '22 13:10 kpgalligan