Building ffmpeg-git, target not found: intel-graphics-compiler-bin

I have the same problem as MPV can't play files over samba share anymore because of FFMPEG, the difference is I’m using Manjaro ARM on Raspberry Pi 4B. So per this solution, I tried uninstalling mpv and building ffmpeg-git with --enable-libsmbclient option in the config file. Then there’s this error:

target not found: intel-graphics-compiler-bin

How do I solve this problem? Thanks.

You would have to change the pkgbuild to use intel-graphics-compiler-git instead.
But before that you have to build intel-graphics-compiler-git first, by changing the arch=() line in it’s PKGBUILD to include aarch64.

1 Like

Thanks for the quick reply! Do I change PKGBUILD’s arch=() line to arch=('aarch64')? I tried this and continued building intel-graphics-compiler-git but there’s a CMake error:

==> Starting build()...
-- The C compiler identification is GNU 10.2.0
-- The CXX compiler identification is GNU 10.2.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
CMake Error at IGC/CMakeLists.txt:2081 (message):
  IGC_OPTION__ARCHITECTURE_TARGET,

  IGC_OPTION__ARCHITECTURE_HOST: Current target / host architecture
  combination requires cross-compiling.  Please specify correct toolchain.


-- Configuring incomplete, errors occurred!
See also "/var/tmp/pamac-build-gbai/intel-graphics-compiler-git/src/build/CMakeFiles/CMakeOutput.log".
==> ERROR: A failure occurred in build().
    Aborting...

Can I ask if I changed arch=() line right at all?

– Edit –

I tried arch=('x86_64' 'aarch64') but it gives same CMake error.

A little further down in the pkgbuild, there is the section:

build() {
    cmake -B build -S igc \
        -DCMAKE_BUILD_TYPE='Release' \
        -DCMAKE_INSTALL_PREFIX='/usr' \
        -DIGC_OPTION__ARCHITECTURE_TARGET='Linux64' \
        -DINSTALL_GENX_IR='ON' \
        -DCCLANG_FROM_SYSTEM='OFF' \
        -Wno-dev
    make -C build
}

Try adding:

-DIGC_OPTION__ARCHITECTURE_HOST='Linux64' \

After the line:

-DIGC_OPTION__ARCHITECTURE_TARGET='Linux64' \

It appears it is unable to determine the host architecture… which is not a good sign this build will be successful. But maybe this will do the trick.

1 Like

Something does not smell right using the pkgbuild from aur that looks like it is really geared for a desktop. Have you tried the arch-arm build that we get from them? They removed the nvidia and intel stuff and have some arm config’s added.

You will have to add in the PKGBUILD arch=('x86_64' 'aarch64') and add --enable-libsmbclient \ as explained in the middle of the configure section.

https://archlinuxarm.org/packages/aarch64/ffmpeg

1 Like

Thanks for the reply! I tried your suggestions but no luck, the build() ran but after long process there’s error. I’m trying @Darksky 's method.

Yes, take @Darksky’s advise, he is far more knowledgeable than I.

I built the package like I described above and it compiled.

compiled

Could you please share the exact commands to build ffmpeg?

I used pamac build ffmpeg and it prompts

Install ffmpeg from extra ? [y/N]

I typed “n”, now it’s cloning tons of build files and asking Trust FFmpeg release signing key ... and import the PGP key ? [y/N] many times.

We all can not know everything on every subject but as a collective of all here we will be unstoppable.

2 Likes

Hold on. Putting together a pkgbuild for you.

1 Like

Here is the PKGBUILD.

Download the tarball
tar -xvf ffmpeg.tar
cd ffmpeg
export MAKEFLAGS="-j4"
makepkg -si

ffmpeg.tar

2 Likes

That works well! Thanks for you time and patience. I need learn more about Arch Build System.

So with your advice I managed to build ffmepg with libsmbclient enabled. Then now should I build mpv on top of this or install mpv with pamac directly?

I am not sure why he uninstalled mpv in the first place. He said that mpv switched to using ffmpeg for smbclient but never said anything about re-compiling mpv with any extra config. If that is the case then install from the repo.

EDITED

Meh you have successfully drawn my attention here. The uninstallation of other dependencies is meant for the purpose of avoiding complaints from pamac which sometimes barfs a whole lot of arguments, such as the need to even uninstalling telegram just because it has dependency on ffmpeg. If some perfectionist wants to maintain a clean sheet of the system packages and totally pure integrity of dependency chains, he may first try to use pamac to remove the original ffmpeg packages, which therefore brings out the ancillary confirmation of uninstalling all the depending applications. Someone will press “y” to agree, which leads to a mess of recovery operations later. Thus my advice to uninstall mpv is a friendly reminder just to prevent novice users to mess up. As you may be aware, the original post was written in Chinese intending for Chinese users to solve the problem; thus I extended the care to a bit more latitude that leads to safer operation. Hardcore eastern bloc fellows whom I respect can totally ignore it.

And after building ffmpeg, it is OK to be back to GUI pamac to install mpv at will. Theoretically ARM devices would save a lot of power, which I am interested in its performance.

1 Like

This topic was automatically closed 15 days after the last reply. New replies are no longer allowed.