Mobile-ffmpeg: android.sh binary never build, stuck at fatal: not a git repository (or any of the parent directories): .git

Created on 6 Oct 2020  Â·  12Comments  Â·  Source: tanersener/mobile-ffmpeg

Description
Just trying to run andorid.sh using git bash, but its never succeed, after giving android home sdk path and running shell again it says:

**KNIGHTS@DESKTOP-SAPNDRN MINGW64 /d/ffmpeg/mobile-ffmpeg
$ /d/ffmpeg/mobile-ffmpeg/android.sh
grep: D:\Bilal's\PcBackupData\Sdk\ndk\21.3.6528147/source.properties: No such file or directory

error: Can not run git commands in this folder. See build.log.**

and then in log it says

**INFO: Using Android NDK v provided at D:\Bilal's\PcBackupData\Sdk
dk\21.3.6528147

INFO: Build options:

fatal: not a git repository (or any of the parent directories): .git**

and then doing some research i tried this command to create empty git repo

KNIGHTS@DESKTOP-SAPNDRN MINGW64 /d/ffmpeg/mobile-ffmpeg
$ git init
Initialized empty Git repository in D:/ffmpeg/mobile-ffmpeg/.git/

adn then log says

**INFO: Using Android NDK v provided at D:\Bilal's\PcBackupData\Sdk
dk\21.3.6528147

INFO: Build options:

fatal: No names found, cannot describe anything.**

Expected behavior
I just want to run android.sh so i can manage disabling some libs i dont want, i am really stuck for days, not very familiar with shell scripts so please help me out. thanks

Environment

  • Android Studio version: 4.0.1
  • Android NDK version : 21.3.6528147

Screenshots
Capture
Capture2

question

All 12 comments

You need to clone mobile-ffmpeg repository if you want to build it. Those git errors tell that you have mobile-ffmpeg source code but .git folder is not there. Manually creating .git folder won't solve your issues.

Dear @tanersener I have tried cloning too but its giving me following error

Store.imagestack/Middle.imagestacklayer/Content.imageset/mobile-ffmpeg-icon-v5-1280x768.png: Filename too long Updating files: 100% (30796/30796)

Updating files: 100% (30796/30796), done.

unable to checkout working tree warning: Clone succeeded, but checkout failed. You can inspect what was checked out with 'git status' and retry with 'git restore --source=HEAD :/'

Screenshot
Capture3

here's the complete clone failed log:

Updating files: 87% (26793/30796) Updating files: 88% (27101/30796) Updating files: 88% (27104/30796) Updating files: 89% (27409/30796) Updating files: 90% (27717/30796) Updating files: 91% (28025/30796) Updating files: 92% (28333/30796) Updating files: 93% (28641/30796) Updating files: 93% (28888/30796) Updating files: 94% (28949/30796) Updating files: 95% (29257/30796) Updating files: 96% (29565/30796) Updating files: 97% (29873/30796) Updating files: 98% (30181/30796) Updating files: 99% (30489/30796) unable to create file tvos/test-app/manual-frameworks/MobileFFmpegTest-tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Back.imagestacklayer/Content.imageset/mobile-ffmpeg-icon-v5-1280x768.png: Filename too long unable to create file tvos/test-app/manual-frameworks/MobileFFmpegTest-tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Front.imagestacklayer/Content.imageset/mobile-ffmpeg-icon-v5-1280x768.png: Filename too long unable to create file tvos/test-app/manual-frameworks/MobileFFmpegTest-tvOS/Assets.xcassets/App Icon & Top Shelf Image.brandassets/App Icon - App Store.imagestack/Middle.imagestacklayer/Content.imageset/mobile-ffmpeg-icon-v5-1280x768.png: Filename too long Updating files: 100% (30796/30796) Updating files: 100% (30796/30796), done. unable to checkout working tree warning: Clone succeeded, but checkout failed. You can inspect what was checked out with 'git status' and retry with 'git restore --source=HEAD :/'

These are the limitations of Windows and has nothing to do with this project. You shouldn't be asking them to me.

An alternative to git clone is to download the following two packages and extract them into the same folder. I don't know whether you'll have the same issue but it's worth a try.

https://github.com/tanersener/mobile-ffmpeg/archive/v4.4.tar.gz
https://github.com/tanersener/mobile-ffmpeg/releases/download/v4.4/master.git.tar.gz

Thanks @tanersener ! i was able to run shell doing some RND but now stuck here

INFO: System information

INFO: MINGW64_NT-10.0-17758 DESKTOP-SAPNDRN 3.1.6-340.x86_64 2020-07-09 14:33 UTC x86_64 Msys

----------------------------------------------------------------


DEBUG: Downloading library source: cpu-features

DEBUG: Checking if cpu-features is already downloaded at /d/Bilal's/Projects/GithubProjects/Ffmpeg_mobile/src/cpu-features

INFO: cpu-features library already downloaded

INFO: cpu-features already downloaded. Source folder found at /d/Bilal's/Projects/GithubProjects/Ffmpeg_mobile/src/cpu-features

find: ‘D:Bilals\\PcBackupData\\Sdk’: No such file or directory
find: ‘export’: No such file or directory
find: ‘ANDROID_HOME=D:\\BilalsPcBackupDataSdk/cmake’: No such file or directory
CMake Error at D:/Bilal's/PcBackupData/Sdk/cmake/3.10.2.4988404/share/cmake-3.10/Modules/CMakeDetermineSystem.cmake:100 (message):
  Could not find toolchain file: D:Bilals\PcBackupData\ndk
Call Stack (most recent call first):
  CMakeLists.txt:9 (project)


CMake Error: CMake was unable to find a build program corresponding to "NMake Makefiles".  CMAKE_MAKE_PROGRAM is not set.  You probably need to select a different build tool.
CMake Error: CMAKE_C_COMPILER not set, after EnableLanguage

Another Windows issue. Your parent directory is /d/Bilal's/Projects/GithubProjects. Try to use simpler universal paths, without spaces or quotes; e.g. /d/bilal/.

yes i have changed paths and stuff, also downloaded latest CMake 3.18, re-downloaded ndk-bundle, and set environmental variables too

DEBUG: Downloading library source: cpu-features

DEBUG: Checking if cpu-features is already downloaded at /d/Bilals/Projects/GithubProjects/Ffmpeg_mobile/src/cpu-features

INFO: cpu-features library already downloaded

INFO: cpu-features already downloaded. Source folder found at /d/Bilals/Projects/GithubProjects/Ffmpeg_mobile/src/cpu-features

-- Detecting C compiler ABI info
CMake Error: Generator: execution of make failed. Make command was: nmake /nologo cmTC_90e27\fast && 
-- Detecting C compiler ABI info - failed
-- Check for working C compiler: D:/Bilals/PcBackupData/Sdk/ndk-bundle/toolchains/llvm/prebuilt/windows-x86_64/bin/clang.exe
CMake Error: Generator: execution of make failed. Make command was: nmake /nologo cmTC_b8ddc\fast && 
-- Check for working C compiler: D:/Bilals/PcBackupData/Sdk/ndk-bundle/toolchains/llvm/prebuilt/windows-x86_64/bin/clang.exe - broken
CMake Error at D:/Bilals/PcBackupData/Sdk/cmake/share/cmake-3.18/Modules/CMakeTestCCompiler.cmake:66 (message):
  The C compiler

    "D:/Bilals/PcBackupData/Sdk/ndk-bundle/toolchains/llvm/prebuilt/windows-x86_64/bin/clang.exe"

  is not able to compile a simple test program.

  It fails with the following output:

    Change Dir: D:/Bilals/Projects/GithubProjects/Ffmpeg_mobile/android/build/cpu-features/arm/CMakeFiles/CMakeTmp

    Run Build Command(s):nmake /nologo cmTC_b8ddc\fast && The system cannot find the file specified
    Generator: execution of make failed. Make command was: nmake /nologo cmTC_b8ddc\fast && 




  CMake will not be able to correctly generate this project.
Call Stack (most recent call first):
  CMakeLists.txt:9 (project)


-- Configuring incomplete, errors occurred!
See also "D:/Bilals/Projects/GithubProjects/Ffmpeg_mobile/android/build/cpu-features/arm/CMakeFiles/CMakeOutput.log".
See also "D:/Bilals/Projects/GithubProjects/Ffmpeg_mobile/android/build/cpu-features/arm/CMakeFiles/CMakeError.log".

You can find the answers of these questions on stackoverflow. Please ask them there. I don't know what they are.

As you can see from the following message, cmake tries to run a command but that command fails. It fails with The system cannot find the file specified message and that command is nmake ...., it is not cmake ..... Therefore, try to understand where does that nmake come from. It doesn't come from mobile-ffmpeg. Also make sure that you have all the prerequisites installed.

Run Build Command(s):nmake /nologo cmTC_b8ddc\fast && The system cannot find the file specified

Thanks @tanersener tried every possible solution regarding cmake, still not able to finding a solution,

what i want is to reduce the size of apk, simply just building ffmpeg-lts-4.4-min give me 34 mb, i want to reduce it more. but anyways is there a way if i made bundle.aab file out of it and it will reduce the size for every ndk filters when uploading on playstore?

i am using bravobit/ffmpeg lib, but its not supporting android 29,30.

building ffmpeg-lts-4.4-min give me 34 mb

You can definitely build a bundle, or manually split APKs, or simply drop all irrelevant ABIs from the ffmpeg-lts-4.4-min package. If you only go for arm64-only, which will be enough to upload your APK to PlayStore, it will be 6.2MB of native libs.

Thanks @alexcohn and @tanersener will try bundle

Google will anyway enforce AAB on Play Store next year, so it's good time to start getting used to it.

Was this page helpful?
0 / 5 - 0 ratings

Related issues

andyrenkehe picture andyrenkehe  Â·  8Comments

nihkilft123 picture nihkilft123  Â·  5Comments

dnhyde picture dnhyde  Â·  5Comments

arabsiphone picture arabsiphone  Â·  4Comments

JayParikh20 picture JayParikh20  Â·  4Comments