bytedeco / javacpp-presets

The missing Java distribution of native C++ libraries
Other
2.68k stars 744 forks source link

Error trying to build android-arm #1502

Closed nickgitnick closed 6 months ago

nickgitnick commented 6 months ago

I am trying to build the ffmpeg presets for javacv for android-arm following these instructions: https://github.com/bytedeco/javacpp-presets/tree/master#build-instructions

I have cloned the repo and from the javacpp-presets folder call: mvn clean install --projects .,ffmpeg -Djavacpp.platform=android-arm -Djavacpp.platform.root=/usr/local/android-ndk/ -X

I end up getting this output:

1 warning generated.
  CCLD   libvo-amrwbenc.la
make[1]: Entering directory '/home/nick/javacpp-presets/ffmpeg/cppbuild/android-arm/vo-amrwbenc-0.1.3'
 /usr/bin/mkdir -p '/home/nick/javacpp-presets/ffmpeg/cppbuild/android-arm/lib'
 /bin/bash ./libtool   --mode=install /usr/bin/install -c   libvo-amrwbenc.la '/home/nick/javacpp-presets/ffmpeg/cppbuild/android-arm/lib'
libtool: install: /usr/bin/install -c .libs/libvo-amrwbenc.lai /home/nick/javacpp-presets/ffmpeg/cppbuild/android-arm/lib/libvo-amrwbenc.la
libtool: install: /usr/bin/install -c .libs/libvo-amrwbenc.a /home/nick/javacpp-presets/ffmpeg/cppbuild/android-arm/lib/libvo-amrwbenc.a
libtool: install: chmod 644 /home/nick/javacpp-presets/ffmpeg/cppbuild/android-arm/lib/libvo-amrwbenc.a
libtool: install: /usr/local/android-ndk//toolchains/llvm/prebuilt/linux-x86_64//bin/llvm-ranlib /home/nick/javacpp-presets/ffmpeg/cppbuild/android-arm/lib/libvo-amrwbenc.a
libtool: finish: PATH="/home/nick/javacpp-presets/ffmpeg/cppbuild/android-arm/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/snap/bin:/sbin" ldconfig -n /home/nick/javacpp-presets/ffmpeg/cppbuild/android-arm/lib
----------------------------------------------------------------------
Libraries have been installed in:
   /home/nick/javacpp-presets/ffmpeg/cppbuild/android-arm/lib

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:
   - add LIBDIR to the `LD_LIBRARY_PATH' environment variable
     during execution
   - add LIBDIR to the `LD_RUN_PATH' environment variable
     during linking
   - use the `-Wl,-rpath -Wl,LIBDIR' linker flag
   - have your system administrator add LIBDIR to `/etc/ld.so.conf'

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.
----------------------------------------------------------------------
 /usr/bin/mkdir -p '/home/nick/javacpp-presets/ffmpeg/cppbuild/android-arm/include/vo-amrwbenc'
 /usr/bin/install -c -m 644 enc_if.h '/home/nick/javacpp-presets/ffmpeg/cppbuild/android-arm/include/vo-amrwbenc'
 /usr/bin/mkdir -p '/home/nick/javacpp-presets/ffmpeg/cppbuild/android-arm/lib/pkgconfig'
 /usr/bin/install -c -m 644 vo-amrwbenc.pc '/home/nick/javacpp-presets/ffmpeg/cppbuild/android-arm/lib/pkgconfig'
make[1]: Leaving directory '/home/nick/javacpp-presets/ffmpeg/cppbuild/android-arm/vo-amrwbenc-0.1.3'
Configuring OpenSSL version 3.3.0 for target android-arm
Using os-specific seed configuration

Failure!  build file wasn't produced.
Please read INSTALL.md and associated NOTES-* files.  You may also have to
look over your available compiler tool chain or change your configuration.

$ANDROID_NDK=/usr/local/android-ndk/ is invalid at (eval 10) line 28.
[INFO] ------------------------------------------------------------------------
[INFO] Reactor Summary:
[INFO] 
[INFO] JavaCPP Presets 1.5.11-SNAPSHOT .................... SUCCESS [01:51 min]
[INFO] JavaCPP Presets for FFmpeg 7.0-1.5.11-SNAPSHOT ..... FAILURE [03:28 min]
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time:  05:22 min
[INFO] Finished at: 2024-05-17T15:09:34-06:00
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.bytedeco:javacpp:1.5.11-SNAPSHOT:build (javacpp-cppbuild-install) on project ffmpeg: Execution javacpp-cppbuild-install of goal org.bytedeco:javacpp:1.5.11-SNAPSHOT:build failed: Process exited with an error: 2 -> [Help 1]
org.apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.bytedeco:javacpp:1.5.11-SNAPSHOT:build (javacpp-cppbuild-install) on project ffmpeg: Execution javacpp-cppbuild-install of goal org.bytedeco:javacpp:1.5.11-SNAPSHOT:build failed: Process exited with an error: 2
    at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2 (MojoExecutor.java:375)
    at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute (MojoExecutor.java:351)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:215)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:171)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:163)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:298)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:960)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:293)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:196)
    at jdk.internal.reflect.DirectMethodHandleAccessor.invoke (DirectMethodHandleAccessor.java:103)
    at java.lang.reflect.Method.invoke (Method.java:580)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:283)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:226)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:407)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:348)
Caused by: org.apache.maven.plugin.PluginExecutionException: Execution javacpp-cppbuild-install of goal org.bytedeco:javacpp:1.5.11-SNAPSHOT:build failed: Process exited with an error: 2
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:148)
    at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2 (MojoExecutor.java:370)
    at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute (MojoExecutor.java:351)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:215)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:171)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:163)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:298)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:960)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:293)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:196)
    at jdk.internal.reflect.DirectMethodHandleAccessor.invoke (DirectMethodHandleAccessor.java:103)
    at java.lang.reflect.Method.invoke (Method.java:580)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:283)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:226)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:407)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:348)
Caused by: java.lang.RuntimeException: Process exited with an error: 2
    at org.bytedeco.javacpp.tools.Builder.build (Builder.java:1052)
    at org.bytedeco.javacpp.tools.BuildMojo.execute (BuildMojo.java:417)
    at org.apache.maven.plugin.DefaultBuildPluginManager.executeMojo (DefaultBuildPluginManager.java:137)
    at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute2 (MojoExecutor.java:370)
    at org.apache.maven.lifecycle.internal.MojoExecutor.doExecute (MojoExecutor.java:351)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:215)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:171)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute (MojoExecutor.java:163)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:117)
    at org.apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject (LifecycleModuleBuilder.java:81)
    at org.apache.maven.lifecycle.internal.builder.singlethreaded.SingleThreadedBuilder.build (SingleThreadedBuilder.java:56)
    at org.apache.maven.lifecycle.internal.LifecycleStarter.execute (LifecycleStarter.java:128)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:298)
    at org.apache.maven.DefaultMaven.doExecute (DefaultMaven.java:192)
    at org.apache.maven.DefaultMaven.execute (DefaultMaven.java:105)
    at org.apache.maven.cli.MavenCli.execute (MavenCli.java:960)
    at org.apache.maven.cli.MavenCli.doMain (MavenCli.java:293)
    at org.apache.maven.cli.MavenCli.main (MavenCli.java:196)
    at jdk.internal.reflect.DirectMethodHandleAccessor.invoke (DirectMethodHandleAccessor.java:103)
    at java.lang.reflect.Method.invoke (Method.java:580)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced (Launcher.java:283)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch (Launcher.java:226)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode (Launcher.java:407)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main (Launcher.java:348)
[ERROR] 
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.apache.org/confluence/display/MAVEN/PluginExecutionException
[ERROR] 
[ERROR] After correcting the problems, you can resume the build with the command
[ERROR]   mvn <args> -rf :ffmpeg
nickgitnick commented 6 months ago

I tried moving the android-ndk to ~/Android/android-ndk and passing that as a parameter, but I still get the error $ANDROID_NDK=/home/nick/Android/android-ndk is invalid at (eval 10) line 28.

saudet commented 6 months ago

Duplicate of #1483

saudet commented 6 months ago

BTW, you might have more luck using GitHub Actions instead of trying to do everything manually