JaneaSystems / nodejs-mobile

Full-fledged Node.js on Android and iOS
https://code.janeasystems.com/nodejs-mobile
Other
2.55k stars 183 forks source link

native module build error #301

Open nawbc opened 3 years ago

nawbc commented 3 years ago

react-native 0.63

system info

  System:
    OS: Linux 5.9 Manjaro Linux
    CPU: (8) x64 Intel(R) Core(TM) i5-8250U CPU @ 1.60GHz
    Memory: 191.52 MB / 7.54 GB
    Container: Yes
    Shell: 5.8 - /bin/zsh
  Binaries:
    Node: 14.15.4 - ~/.nvm/versions/node/v14.15.4/bin/node
    Yarn: 1.22.10 - /usr/bin/yarn
    npm: 6.14.10 - ~/.nvm/versions/node/v14.15.4/bin/npm
  Managers:
    pip3: 20.2.4 - /usr/bin/pip3
  Utilities:
    Git: 2.30.0 - /usr/bin/git
    FFmpeg: 4.3.1 - /usr/bin/ffmpeg
  Servers:
    Apache: 2.4.46 - /usr/bin/apachectl
  SDKs:
    Android SDK:
      API Levels: 29, 30
      Build Tools: 28.0.3, 29.0.2, 30.0.3
      System Images: android-30 | Google APIs Intel x86 Atom
  IDEs:
    Android Studio: 4.1 AI-201.8743.12.41.7042882
    Nano: 5.5 - /usr/bin/nano
    VSCode: 1.52.1 - /usr/bin/code
  Languages:
    Bash: 5.1.0 - /usr/bin/bash
    Java: 1.8.0_275 - /usr/bin/javac
    Perl: 5.32.0 - /usr/bin/perl
    Protoc: 3.12.4 - /usr/bin/protoc
    Python: 3.9.1 - /usr/bin/python
    Python3: 3.9.1 - /usr/bin/python3
  Databases:
    SQLite: 3.34.0 - /usr/bin/sqlite3
  Browsers:
    Chrome: 88.0.4324.146
    Firefox: 85.0
Jetifier found 978 file(s) to forward-jetify. Using 8 workers...
info JS server already running.
info Installing the app...

> Configure project :nodejs-mobile-react-native
Support for ANDROID_NDK_HOME is deprecated and will be removed in the future. Use android.ndkVersion in build.gradle instead.

> Task :nodejs-mobile-react-native:GenerateNodeNativeAssetsListsarm64-v8a FAILED

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.2/userguide/command_line_interface.html#sec:command_line_warnings
5 actionable tasks: 2 executed, 3 up-to-date

FAILURE: Build failed with an exception.

* What went wrong:
A problem was found with the configuration of task ':nodejs-mobile-react-native:GenerateNodeNativeAssetsListsarm64-v8a' (type 'DefaultTask').
> Directory '/home/maxcalibur/Desktop/duo_duo_miao/android/build/nodejs-native-assets/nodejs-native-assets-arm64-v8a' specified for property '$1' does not exist.

* 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

BUILD FAILED in 3s

error Failed to install the app. Make sure you have the Android development environment set up: https://reactnative.dev/docs/environment-setup. Run CLI with --verbose flag for more details.
Error: Command failed: ./gradlew app:installDebug -PreactNativeDevServerPort=8081
semidark commented 3 years ago

I think I've got a similar problem here. Trying to use the Cordova variant with sqlite3 fails for me in a similar way...

~/src/CordovaSqlite$ cordova build android --verbose

command output

``` No scripts found for hook "before_build". No scripts found for hook "before_prepare". Checking for saved platforms that haven't been added to the project Platform API successfully found in: /home/user/src/CordovaSqlite/platforms/android/cordova/Api.js Checking for saved plugins that haven't been added to the project Generating platform-specific config.xml from defaults for android at /home/user/src/CordovaSqlite/platforms/android/app/src/main/res/xml/config.xml Merging project's config.xml into platform-specific android config.xml [Gradle Properties] Preparing Configuration [Gradle Properties] Appending default configuration properties [Gradle Properties] Appending custom configuration properties [Gradle Properties] Updating and Saving File Merging and updating files from [www, platforms/android/platform_www] to platforms/android/app/src/main/assets/www copy www/nodejs-project/node_modules/sqlite3/package.json platforms/android/app/src/main/assets/www/nodejs-project/node_modules/sqlite3/package.json (updated file) Wrote out android application name "HelloCordova" to /home/user/src/CordovaSqlite/platforms/android/app/src/main/res/values/strings.xml android-versionCode not found in config.xml. Generating a code based on version in config.xml (1.0.0): 10000 Wrote out Android package name "io.cordova.hellocordova" to /home/user/src/CordovaSqlite/platforms/android/app/src/main/java/io/cordova/hellocordova/MainActivity.java This app does not have launcher icons defined This app does not have splash screens defined This app does not have additional resource files defined Prepared android project successfully Executing script found in plugin nodejs-mobile-cordova for hook "after_prepare": plugins/nodejs-mobile-cordova/install/hooks/android/after-prepare-build-node-assets-lists.js Executing script found in plugin nodejs-mobile-cordova for hook "after_prepare": plugins/nodejs-mobile-cordova/install/hooks/both/after-prepare-patch-npm-packages.js Executing script found in plugin nodejs-mobile-cordova for hook "after_prepare": plugins/nodejs-mobile-cordova/install/hooks/android/after-prepare-create-macOS-builder-helper.js Executing script found in plugin nodejs-mobile-cordova for hook "after_prepare": plugins/nodejs-mobile-cordova/install/hooks/android/after-prepare-create-macOS-builder-helper.js Executing script found in plugin nodejs-mobile-cordova for hook "after_prepare": plugins/nodejs-mobile-cordova/install/hooks/both/after-prepare-native-modules-preference.js Executing script found in plugin nodejs-mobile-cordova for hook "after_prepare": plugins/nodejs-mobile-cordova/install/hooks/both/after-prepare-native-modules-preference.js No scripts found for hook "before_compile". No scripts found for hook "before_compile". No scripts found for hook "before_compile". Checking Java JDK and Android SDK versions ANDROID_SDK_ROOT=/home/user/Android/Sdk (recommended setting) ANDROID_HOME=/home/user/Android/Sdk (DEPRECATED) Using Android SDK: /home/user/Android/Sdk Subproject Path: CordovaLib Subproject Path: CordovaLib Subproject Path: CordovaLib Subproject Path: app Subproject Path: app Subproject Path: app Gradle Distribution URL: https://services.gradle.org/distributions/gradle-6.5-all.zip Gradle Distribution URL: https://services.gradle.org/distributions/gradle-6.5-all.zip Gradle Distribution URL: https://services.gradle.org/distributions/gradle-6.5-all.zip > Configure project :app nodejs-mobile-cordova detected no ABI filters were set. Will use ["armeabi-v7a", "x86", "arm64-v8a", "x86_64"]. WARNING: Support for ANDROID_NDK_HOME is deprecated and will be removed in the future. Use android.ndkVersion in build.gradle instead. Support for ANDROID_NDK_HOME is deprecated and will be removed in the future. Use android.ndkVersion in build.gradle instead. > Task :app:MakeToolchainarm64-v8a FAILED FAILURE: Build failed with an exception. * What went wrong: A problem was found with the configuration of task ':app:MakeToolchainarm64-v8a' (type 'Exec'). > Cannot write to file '/home/user/src/CordovaSqlite/platforms/android/build/standalone-toolchains/aarch64' specified for property '$1' as it is a directory. * 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 BUILD FAILED in 10s 2 actionable tasks: 1 executed, 1 up-to-date Command failed with exit code 1: /home/user/src/CordovaSqlite/platforms/android/gradlew cdvBuildDebug -b /home/user/src/CordovaSqlite/platforms/android/build.gradle Error: Command failed with exit code 1: /home/user/src/CordovaSqlite/platforms/android/gradlew cdvBuildDebug -b /home/user/src/CordovaSqlite/platforms/android/build.gradle at makeError (/home/user/src/CordovaSqlite/node_modules/execa/lib/error.js:59:11) at handlePromise (/home/user/src/CordovaSqlite/node_modules/execa/index.js:114:26) at processTicksAndRejections (internal/process/task_queues.js:97:5) Error: Command failed with exit code 1: /home/user/src/CordovaSqlite/platforms/android/gradlew cdvBuildDebug -b /home/user/src/CordovaSqlite/platforms/android/build.gradle at makeError (/home/user/src/CordovaSqlite/node_modules/execa/lib/error.js:59:11) at handlePromise (/home/user/src/CordovaSqlite/node_modules/execa/index.js:114:26) at processTicksAndRejections (internal/process/task_queues.js:97:5) Error: Command failed with exit code 1: /home/user/src/CordovaSqlite/platforms/android/gradlew cdvBuildDebug -b /home/user/src/CordovaSqlite/platforms/android/build.gradle at makeError (/home/user/src/CordovaSqlite/node_modules/execa/lib/error.js:59:11) at handlePromise (/home/user/src/CordovaSqlite/node_modules/execa/index.js:114:26) at processTicksAndRejections (internal/process/task_queues.js:97:5) ```

This is the Stacktrace I get wen calling Gradle directly

~/src/CordovaSqlite/platforms/android/app$ gradle build --stacktrace

command output with Stacktrace

``` Starting a Gradle Daemon, 1 incompatible and 1 stopped Daemons could not be reused, use --status for details > Configure project :app nodejs-mobile-cordova detected no ABI filters were set. Will use ["armeabi-v7a", "x86", "arm64-v8a", "x86_64"]. WARNING: Support for ANDROID_NDK_HOME is deprecated and will be removed in the future. Use android.ndkVersion in build.gradle instead. Support for ANDROID_NDK_HOME is deprecated and will be removed in the future. Use android.ndkVersion in build.gradle instead. > Task :app:MakeToolchainarm64-v8a FAILED FAILURE: Build failed with an exception. * What went wrong: A problem was found with the configuration of task ':app:MakeToolchainarm64-v8a' (type 'Exec'). > Cannot write to file '/home/user/src/CordovaSqlite/platforms/android/build/standalone-toolchains/aarch64' specified for property '$1' as it is a directory. * Try: Run with --info or --debug option to get more log output. Run with --scan to get full insights. * Exception is: org.gradle.internal.execution.WorkValidationException: A problem was found with the configuration of task ':app:MakeToolchainarm64-v8a' (type 'Exec'). at org.gradle.internal.execution.steps.ValidateStep.execute(ValidateStep.java:71) at org.gradle.internal.execution.steps.SkipEmptyWorkStep.lambda$execute$2(SkipEmptyWorkStep.java:88) at org.gradle.internal.execution.steps.SkipEmptyWorkStep.execute(SkipEmptyWorkStep.java:88) at org.gradle.internal.execution.steps.SkipEmptyWorkStep.execute(SkipEmptyWorkStep.java:34) at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsStartedStep.execute(MarkSnapshottingInputsStartedStep.java:38) at org.gradle.internal.execution.steps.LoadExecutionStateStep.execute(LoadExecutionStateStep.java:46) at org.gradle.internal.execution.steps.LoadExecutionStateStep.execute(LoadExecutionStateStep.java:34) at org.gradle.internal.execution.steps.AssignWorkspaceStep.lambda$execute$0(AssignWorkspaceStep.java:43) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$TaskExecution$3.withWorkspace(ExecuteActionsTaskExecuter.java:286) at org.gradle.internal.execution.steps.AssignWorkspaceStep.execute(AssignWorkspaceStep.java:43) at org.gradle.internal.execution.steps.AssignWorkspaceStep.execute(AssignWorkspaceStep.java:33) at org.gradle.internal.execution.steps.IdentityCacheStep.execute(IdentityCacheStep.java:40) at org.gradle.internal.execution.steps.IdentityCacheStep.execute(IdentityCacheStep.java:30) at org.gradle.internal.execution.steps.IdentifyStep.execute(IdentifyStep.java:54) at org.gradle.internal.execution.steps.IdentifyStep.execute(IdentifyStep.java:40) at org.gradle.internal.execution.impl.DefaultExecutionEngine.execute(DefaultExecutionEngine.java:41) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.lambda$executeIfValid$1(ExecuteActionsTaskExecuter.java:183) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeIfValid(ExecuteActionsTaskExecuter.java:183) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:173) at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:109) at org.gradle.api.internal.tasks.execution.FinalizePropertiesTaskExecuter.execute(FinalizePropertiesTaskExecuter.java:46) at org.gradle.api.internal.tasks.execution.ResolveTaskExecutionModeExecuter.execute(ResolveTaskExecutionModeExecuter.java:62) at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:57) at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:56) at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:36) at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.executeTask(EventFiringTaskExecuter.java:77) at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:55) at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:52) at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:200) at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:195) at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:75) at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:68) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:153) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:68) at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:62) at org.gradle.internal.operations.DefaultBuildOperationExecutor.lambda$call$2(DefaultBuildOperationExecutor.java:76) at org.gradle.internal.operations.UnmanagedBuildOperationWrapper.callWithUnmanagedSupport(UnmanagedBuildOperationWrapper.java:54) at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:76) at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:52) at org.gradle.execution.plan.LocalTaskNodeExecutor.execute(LocalTaskNodeExecutor.java:41) at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:411) at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:398) at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:391) at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:377) at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.lambda$run$0(DefaultPlanExecutor.java:127) at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.execute(DefaultPlanExecutor.java:191) at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.executeNextNode(DefaultPlanExecutor.java:182) at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:124) at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64) at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48) at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56) Caused by: org.gradle.api.InvalidUserDataException: Cannot write to file '/home/user/src/CordovaSqlite/platforms/android/build/standalone-toolchains/aarch64' specified for property '$1' as it is a directory. at org.gradle.internal.execution.steps.ValidateStep.execute(ValidateStep.java:71) at org.gradle.internal.execution.steps.SkipEmptyWorkStep.lambda$execute$2(SkipEmptyWorkStep.java:88) at org.gradle.internal.execution.steps.SkipEmptyWorkStep.execute(SkipEmptyWorkStep.java:88) at org.gradle.internal.execution.steps.SkipEmptyWorkStep.execute(SkipEmptyWorkStep.java:34) at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsStartedStep.execute(MarkSnapshottingInputsStartedStep.java:38) at org.gradle.internal.execution.steps.LoadExecutionStateStep.execute(LoadExecutionStateStep.java:46) at org.gradle.internal.execution.steps.LoadExecutionStateStep.execute(LoadExecutionStateStep.java:34) at org.gradle.internal.execution.steps.AssignWorkspaceStep.lambda$execute$0(AssignWorkspaceStep.java:43) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$TaskExecution$3.withWorkspace(ExecuteActionsTaskExecuter.java:286) at org.gradle.internal.execution.steps.AssignWorkspaceStep.execute(AssignWorkspaceStep.java:43) at org.gradle.internal.execution.steps.AssignWorkspaceStep.execute(AssignWorkspaceStep.java:33) at org.gradle.internal.execution.steps.IdentityCacheStep.execute(IdentityCacheStep.java:40) at org.gradle.internal.execution.steps.IdentityCacheStep.execute(IdentityCacheStep.java:30) at org.gradle.internal.execution.steps.IdentifyStep.execute(IdentifyStep.java:54) at org.gradle.internal.execution.steps.IdentifyStep.execute(IdentifyStep.java:40) at org.gradle.internal.execution.impl.DefaultExecutionEngine.execute(DefaultExecutionEngine.java:41) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.lambda$executeIfValid$1(ExecuteActionsTaskExecuter.java:183) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeIfValid(ExecuteActionsTaskExecuter.java:183) at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:173) at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:109) at org.gradle.api.internal.tasks.execution.FinalizePropertiesTaskExecuter.execute(FinalizePropertiesTaskExecuter.java:46) at org.gradle.api.internal.tasks.execution.ResolveTaskExecutionModeExecuter.execute(ResolveTaskExecutionModeExecuter.java:62) at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:57) at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:56) at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:36) at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.executeTask(EventFiringTaskExecuter.java:77) at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:55) at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:52) at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:200) at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:195) at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:75) at org.gradle.internal.operations.DefaultBuildOperationRunner$3.execute(DefaultBuildOperationRunner.java:68) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:153) at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:68) at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:62) at org.gradle.internal.operations.DefaultBuildOperationExecutor.lambda$call$2(DefaultBuildOperationExecutor.java:76) at org.gradle.internal.operations.UnmanagedBuildOperationWrapper.callWithUnmanagedSupport(UnmanagedBuildOperationWrapper.java:54) at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:76) at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:52) at org.gradle.execution.plan.LocalTaskNodeExecutor.execute(LocalTaskNodeExecutor.java:41) at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:411) at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:398) at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:391) at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:377) at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.lambda$run$0(DefaultPlanExecutor.java:127) at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.execute(DefaultPlanExecutor.java:191) at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.executeNextNode(DefaultPlanExecutor.java:182) at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:124) at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64) at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48) at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56) * Get more help at https://help.gradle.org BUILD FAILED in 23s 2 actionable tasks: 2 executed ```

my Environment looks like this:

I also tried to build the sample provided in the sample repo. Without luck:

https://github.com/JaneaSystems/nodejs-mobile-samples/issues/31