39aldo39 / libdecsync

Other
28 stars 5 forks source link

building on linux-x86_64 (via Nix) fails due to missing Android SDK #16

Open steveej opened 1 year ago

steveej commented 1 year ago

i'm working on packaging DecSync-Evolution (and libdecsync) for Nix, and i'm running into a situation that hasn't previously been reported.

in the Nix build i try not to use gradlew but instead use nixpkgs' gradle version.

the following build log is produced by the following command, which has gradle v6 and jdk8 in its PATH:

export GRADLE_USER_HOME=$(mktemp -d)
gradle --no-daemon build -x test

build log:

cts> root project> root project > Compiling build file 'build.gradle'<-------------> 0% CONFIGURING [2s]> root project> root project > Resolve dependencies of :classpath

> root project > Resolve dependencies of :classpath > kotlin-gradle-plugin-1.6.> root project > Resolve dependencies of :classpath > kotlin-serialization-1.6.> root project > Resolve dependencies of :classpath > gradle-4.1.3.pom<-------------> 0% CONFIGURING [3s]> IDLE> IDLE> root project > Resolve dependencies of :classpath
> root project > Resolve dependencies of :classpath > crash-27.1.3.pom> root project > Resolve dependencies of :classpath > jopt-simple-4.9.pom> root project > Resolve dependencies of :classpath > databinding-compiler-comm> root project > Resolve dependencies of :classpath > transform-api-2.0.0-depre> root project > Resolve dependencies of :classpath > builder-4.1.3.pom> root project > Resolve dependencies of :classpath > bundletool-0.14.0.pom> root project > Resolve dependencies of :classpath > gradle-api-4.1.3.pom> IDLE<-------------> 0% CONFIGURING [4s]> IDLE> root project > Resolve dependencies of :classpath> IDLE> root project > Resolve dependencies of :classpath > gson-parent-2.8.6.pom> root project > Resolve dependencies of :classpath > common-27.1.3.pom> root project > Resolve dependencies of :classpath > bcpkix-jdk15on-1.56.pom> root project > Resolve dependencies of :classpath > manifest-merger-27.1.3.po> root project > Resolve dependencies of :classpath > signflinger-4.1.3.pom> root project > Resolve dependencies of :classpath > tracker-27.1.3.pom> root project > Resolve dependencies of :classpath > apksig-4.1.3.pom> root project > Resolve dependencies of :classpath > sdk-common-27.1.3.pom> root project > Resolve dependencies of :classpath > apkzlib-4.1.3.pom> IDLE> IDLE> root project > Resolve dependencies of :classpath > layoutlib-api-27.1.3.pom> IDLE> root project > Resolve dependencies of :classpath> root project > Resolve dependencies of :classpath > lint-model-27.1.3.pom> root project > Resolve dependencies of :classpath > antlr4-master-4.5.3.pom> root project > Resolve dependencies of :classpath > commons-parent-25.pom> root project > Resolve dependencies of :classpath > databinding-common-4.1.3.> root project > Resolve dependencies of :classpath > jaxb-runtime-parent-2.3.1<-------------> 0% CONFIGURING [5s]> IDLE> root project > Resolve dependencies of :classpath > jaxb-bom-2.3.1.pom> IDLE> IDLE> root project > Resolve dependencies of :classpath> root project > Resolve dependencies of :classpath > auto-value-annotations-1.> root project > Resolve dependencies of :classpath > error_prone_annotations-2> root project > Resolve dependencies of :classpath > jdom2-2.0.6.pom> IDLE> root project > Resolve dependencies of :classpath> root project > Resolve dependencies of :classpath > kotlin-native-utils-1.6.0> root project > Resolve dependencies of :classpath > error_prone_annotations-2> root project > Resolve dependencies of :classpath > jsr305-3.0.2.pom> root project > Resolve dependencies of :classpath > j2objc-annotations-1.3.po> root project > Resolve dependencies of :classpath > failureaccess-1.0.1.pom> root project > Resolve dependencies of :classpath > listenablefuture-9999.0-e> root project > Resolve dependencies of :classpath > kotlinx-coroutines-core-j> root project > Resolve dependencies of :classpath > kotlin-daemon-client-1.6.> IDLE> root project > Resolve dependencies of :classpath > kotlin-build-common-1.6.0> root project > Resolve dependencies of :classpath > kotlin-scripting-jvm-1.6.> root project > Resolve dependencies of :classpath > kotlin-scripting-common-1> IDLE<-------------> 0% CONFIGURING [6s]> root project > Resolve dependencies of :classpath> IDLE> root project > Resolve dependencies of :classpath > shared-27.1.3.pom> root project > Resolve dependencies of :classpath > commons-codec-1.10.pom> root project > Resolve dependencies of :classpath > commons-logging-1.2.pom> root project > Resolve dependencies of :classpath > apache-15.pom> IDLE> root project > Resolve dependencies of :classpath > jvnet-parent-1.pom> root project > Resolve dependencies of :classpath > jimfs-1.1.pom> root project > Resolve dependencies of :classpath> root project > Resolve files of :classpath > crash-27.1.3.jar> root project > Resolve files of :classpath > builder-4.1.3.jar> root project > Resolve files of :classpath > aapt2-proto-4.1.3-6503028.jar> root project > Resolve files of :classpath > builder-test-api-4.1.3.jar> root project > Resolve files of :classpath > zipflinger-4.1.3.jar > 36 KiB/47> root project > Resolve files of :classpath > builder-4.1.3.jar > 90.9 KiB/9.1> root project > Resolve files of :classpath > aapt2-proto-4.1.3-6503028.jar > > root project > Resolve files of :classpath > kotlin-serialization-1.6.0.jar ><-------------> 0% CONFIGURING [7s]> root project > Resolve files of :classpath > repository-27.1.3.jar > 68 KiB/1> root project > Resolve files of :classpath > builder-4.1.3.jar > 144.7 KiB/9.> root project > Resolve files of :classpath > repository-27.1.3.jar > 106.7 Ki> root project > Resolve files of :classpath > builder-4.1.3.jar > 185.1 KiB/9.> root project > Resolve files of :classpath > repository-27.1.3.jar > 149.5 Ki> root project > Resolve files of :classpath > builder-4.1.3.jar > 228.1 KiB/9.> root project > Resolve files of :classpath > repository-27.1.3.jar > 181.5 Ki> root project > Resolve files of :classpath > builder-4.1.3.jar > 262.7 KiB/9.> root project > Resolve files of :classpath > jetifier-core-1.0.0-beta09.jar> root project > Resolve files of :classpath > builder-4.1.3.jar > 303 KiB/9.1 > root project > Resolve files of :classpath > jetifier-core-1.0.0-beta09.jar >> root project > Resolve files of :classpath > builder-4.1.3.jar > 343.4 KiB/9.> root project > Resolve files of :classpath > builder-4.1.3.jar > 391.9 KiB/9.> root project > Resolve files of :classpath > builder-4.1.3.jar > 451.1 KiB/9.> root project > Resolve files of :classpath > kotlin-gradle-plugin-api-1.6.0.j> root project > Resolve files of :classpath > builder-4.1.3.jar > 529.1 KiB/9.> root project > Resolve files of :classpath > kotlin-klib-commonizer-api-1.6.0> root project > Resolve files of :classpath > apkzlib-4.1.3.jar > 23.6 KiB/199> root project > Resolve files of :classpath > builder-4.1.3.jar > 604.5 KiB/9.<-------------> 0% CONFIGURING [8s]> root project > Resolve files of :classpath > apkzlib-4.1.3.jar > 104 KiB/199.> root project > Resolve files of :classpath > builder-4.1.3.jar > 690.6 KiB/9.> root project > Resolve files of :classpath > kotlin-android-extensions-1.6.0.> root project > Resolve files of :classpath > apkzlib-4.1.3.jar > 189.6 KiB/19> root project > Resolve files of :classpath > builder-4.1.3.jar > 786.8 KiB/9.> root project > Resolve files of :classpath > kotlin-compiler-embeddable-1.6.0> root project > Resolve files of :classpath > kotlin-scripting-compiler-impl-e> root project > Resolve files of :classpath > bcprov-jdk15on-1.56.jar > 223.4 > root project > Resolve files of :classpath > builder-4.1.3.jar > 878.3 KiB/9.> root project > Resolve files of :classpath > fastutil-7.2.0.jar> root project > Resolve files of :classpath > bcprov-jdk15on-1.56.jar > 440.5 > root project > Resolve files of :classpath > builder-4.1.3.jar > 937.5 KiB/9.> root project > Resolve files of :classpath > fastutil-7.2.0.jar > 711.4 KiB/1> root project > Resolve files of :classpath > bcprov-jdk15on-1.56.jar > 658.3 > root project > Resolve files of :classpath > builder-4.1.3.jar > 1018.3 KiB/9> root project > Resolve files of :classpath > fastutil-7.2.0.jar > 3.3 MiB/16.> root project > Resolve files of :classpath > bcprov-jdk15on-1.56.jar > 1 MiB/> root project > Resolve files of :classpath > builder-4.1.3.jar > 1.1 MiB/9.1 > root project > Resolve files of :classpath > fastutil-7.2.0.jar > 4.9 MiB/16.> root project > Resolve files of :classpath > bcprov-jdk15on-1.56.jar > 1.2 Mi> root project > Resolve files of :classpath > builder-4.1.3.jar > 1.2 MiB/9.1 > root project > Resolve files of :classpath > fastutil-7.2.0.jar > 6.1 MiB/16.> root project > Resolve files of :classpath > bcprov-jdk15on-1.56.jar > 1.5 Mi> root project > Resolve files of :classpath > builder-4.1.3.jar > 1.3 MiB/9.1 > root project > Resolve files of :classpath > fastutil-7.2.0.jar > 7.3 MiB/16.> root project > Resolve files of :classpath > bcprov-jdk15on-1.56.jar > 1.8 Mi> root project > Resolve files of :classpath > builder-4.1.3.jar > 1.4 MiB/9.1 > root project > Resolve files of :classpath > fastutil-7.2.0.jar > 7.8 MiB/16.> root project > Resolve files of :classpath > bcprov-jdk15on-1.56.jar > 2.2 Mi> root project > Resolve files of :classpath > builder-4.1.3.jar > 1.5 MiB/9.1 <-------------> 0% CONFIGURING [9s]> root project > Resolve files of :classpath > bcprov-jdk15on-1.56.jar > 2.6 Mi> root project > Resolve files of :classpath > builder-4.1.3.jar > 1.6 MiB/9.1 > root project > Resolve files of :classpath > bcprov-jdk15on-1.56.jar > 3.1 Mi> root project > Resolve files of :classpath > builder-4.1.3.jar > 1.8 MiB/9.1 > root project > Resolve files of :classpath > fastutil-7.2.0.jar > 7.9 MiB/16.> root project > Resolve files of :classpath > proguard-base-6.0.3.jar > 95.4 K> root project > Resolve files of :classpath > builder-4.1.3.jar > 1.9 MiB/9.1 > root project > Resolve files of :classpath > proguard-base-6.0.3.jar > 527.4 > root project > Resolve files of :classpath > builder-4.1.3.jar > 2.1 MiB/9.1 > root project > Resolve files of :classpath > proguard-base-6.0.3.jar > 930.3 > root project > Resolve files of :classpath > builder-4.1.3.jar > 2.3 MiB/9.1 > root project > Resolve files of :classpath > failureaccess-1.0.1.jar> root project > Resolve files of :classpath > builder-4.1.3.jar > 2.5 MiB/9.1 > root project > Resolve files of :classpath > fastutil-7.2.0.jar > 8 MiB/16.5 > root project > Resolve files of :classpath > kotlin-daemon-embeddable-1.6.0.j> root project > Resolve files of :classpath > builder-4.1.3.jar > 2.8 MiB/9.1 > root project > Resolve files of :classpath > builder-4.1.3.jar > 3 MiB/9.1 Mi> root project > Resolve files of :classpath > kotlin-daemon-client-1.6.0.jar >> root project > Resolve files of :classpath > builder-4.1.3.jar > 3.3 MiB/9.1 > root project > Resolve files of :classpath > fastutil-7.2.0.jar > 8.1 MiB/16.> root project > Resolve files of :classpath > builder-4.1.3.jar > 3.6 MiB/9.1 <-------------> 0% CONFIGURING [10s]> root project > Resolve files of :classpath > kotlin-scripting-common-1.6.0.ja> root project > Resolve files of :classpath > builder-4.1.3.jar > 3.9 MiB/9.1 > root project > Resolve files of :classpath > kxml2-2.3.0.jar> root project > Resolve files of :classpath > builder-4.1.3.jar > 4.3 MiB/9.1 > root project > Resolve files of :classpath > commons-codec-1.10.jar > 143.4 K> root project > Resolve files of :classpath > builder-4.1.3.jar > 4.7 MiB/9.1 > root project > Resolve files of :classpath > FastInfoset-1.2.15.jar > 191.4 K> root project > Resolve files of :classpath > builder-4.1.3.jar > 5.2 MiB/9.1 > root project > Resolve files of :classpath > fastutil-7.2.0.jar > 8.2 MiB/16.> IDLE> root project > Resolve files of :classpath > builder-4.1.3.jar > 5.7 MiB/9.1 > root project > Resolve files of :classpath > builder-4.1.3.jar > 6.2 MiB/9.1 > root project > Resolve files of :classpath > builder-4.1.3.jar > 6.7 MiB/9.1 > root project > Resolve files of :classpath > builder-4.1.3.jar > 7.3 MiB/9.1 > root project > Resolve files of :classpath > fastutil-7.2.0.jar > 8.3 MiB/16.> root project > Resolve files of :classpath > builder-4.1.3.jar > 7.9 MiB/9.1 > root project > Resolve files of :classpath > builder-4.1.3.jar > 8.6 MiB/9.1 <-------------> 0% CONFIGURING [11s]> IDLE> root project > Resolve files of :classpath > fastutil-7.2.0.jar > 8.4 MiB/16.> root project > Resolve files of :classpath > fastutil-7.2.0.jar > 8.5 MiB/16.> root project > Resolve files of :classpath > fastutil-7.2.0.jar > 9.7 MiB/16.> root project > Resolve files of :classpath > fastutil-7.2.0.jar > 11.5 MiB/16> root project > Resolve files of :classpath > fastutil-7.2.0.jar > 13.2 MiB/16> root project > Resolve files of :classpath > fastutil-7.2.0.jar > 14.9 MiB/16> IDLE<-------------> 0% CONFIGURING [12s]<-------------> 0% CONFIGURING [13s]<-------------> 0% CONFIGURING [14s]<-------------> 0% CONFIGURING [15s]<-------------> 0% CONFIGURING [16s]> root project > Resolve files of :classpath> root project<-------------> 0% CONFIGURING [17s]<-------------> 0% CONFIGURING [18s]<-------------> 0% CONFIGURING [19s]<-------------> 0% CONFIGURING [20s]<-------------> 0% CONFIGURING [21s]<-------------> 0% CONFIGURING [22s]<-------------> 0% CONFIGURING [23s]<-------------> 0% CONFIGURING [24s]<-------------> 0% CONFIGURING [25s]<-------------> 0% CONFIGURING [26s]<-------------> 0% CONFIGURING [27s]<-------------> 0% CONFIGURING [28s]<-------------> 0% CONFIGURING [29s]<-------------> 0% CONFIGURING [30s]<-------------> 0% CONFIGURING [31s]> root project > Compiling build file 'build.gradle'> root project<-------------> 0% CONFIGURING [32s]<-------------> 0% CONFIGURING [33s]<-------------> 0% CONFIGURING [34s]
> Configure project :

Please wait while Kotlin/Native compiler 1.6.0 is being installed.

<-------------> 0% CONFIGURING [34s]> IDLE> IDLE> root project> IDLE<-------------> 0% CONFIGURING [35s]Download https://download.jetbrains.com/kotlin/native/builds/releases/1.6.0/linux-x86_64/kotlin-native-prebuilt-linux-x86_64-1.6.0.tar.gz (174.71 MB)

<-------------> 0% CONFIGURING [35s]> IDLE> IDLE> root project > Resolve dependencies of :detachedConfiguration2> IDLE> root project > Resolve files of :detachedConfiguration2 > kotlin-native-prebu<-------------> 0% CONFIGURING [36s]<-------------> 0% CONFIGURING [37s]<-------------> 0% CONFIGURING [38s]<-------------> 0% CONFIGURING [39s]<-------------> 0% CONFIGURING [40s]<-------------> 0% CONFIGURING [41s]<-------------> 0% CONFIGURING [42s]<-------------> 0% CONFIGURING [43s]<-------------> 0% CONFIGURING [44s]<-------------> 0% CONFIGURING [45s]<-------------> 0% CONFIGURING [46s]<-------------> 0% CONFIGURING [47s]<-------------> 0% CONFIGURING [48s]<-------------> 0% CONFIGURING [49s]<-------------> 0% CONFIGURING [50s]<-------------> 0% CONFIGURING [51s]<-------------> 0% CONFIGURING [52s]<-------------> 0% CONFIGURING [53s]<-------------> 0% CONFIGURING [54s]> root project > Resolve files of :detachedConfiguration2Download https://download.jetbrains.com/kotlin/native/builds/releases/1.6.0/linux-x86_64/kotlin-native-prebuilt-linux-x86_64-1.6.0.tar.gz finished, took 19 s 247 ms
Unpack Kotlin/Native compiler to /build/.konan/kotlin-native-prebuilt-linux-x86_64-1.6.0

<-------------> 0% CONFIGURING [54s]> IDLE> IDLE> root project> IDLE<-------------> 0% CONFIGURING [55s]<-------------> 0% CONFIGURING [56s]<-------------> 0% CONFIGURING [57s]Unpack Kotlin/Native compiler to /build/.konan/kotlin-native-prebuilt-linux-x86_64-1.6.0 finished, took 2 s 865 ms

<-------------> 0% CONFIGURING [57s]> IDLE> IDLE> root project> IDLE<-------------> 0% CONFIGURING [58s]<-------------> 0% CONFIGURING [59s]<-------------> 0% CONFIGURING [1m 0s]<=============> 100% CONFIGURING [1m 0s]> root project > Resolve files of :classpath > gradle-api-4.1.3.jar
FAILURE: Build failed with an exception.

* What went wrong:
Could not determine the dependencies of task ':compileReleaseJavaWithJavac'.
> SDK location not found. Define location with an ANDROID_SDK_ROOT environment variable or by setting the sdk.dir path in your project's local properties file at '/build/source/local.properties'.

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

Deprecated Gradle features were used in this build, making it incompatible with Gradle 7.0.
Use '--warning-mode all' to show the individual deprecation warnings.
See https://docs.gradle.org/6.9.2/userguide/command_line_interface.html#sec:command_line_warnings

BUILD FAILED in 1m 2s

<-------------> 0% WAITING> IDLE> IDLE> root project > Resolve files of :classpath > gradle-api-4.1.3.jar> IDLE

is it expected that the build requires the Android SDK? if so, is there a way to circumvent that in case i want to only build the shared object to be used by the plugin for Evolution?

39aldo39 commented 1 year ago

The command ./gradlew build (or similar for Nix) will build libdecsync for Android. For Linux you need to execute ./gradlew linkReleaseSharedLinuxX64, which creates the necessary files in build/bin/linuxX64/releaseShared. You maybe also need src/linuxMain/libdecsync.h and src/linuxMain/decsync.pc.in (with the prefix substituted). This is also basically what the Makefile does. When I try to execute the Makefile without the android SDK it does work.