intel/ipu6-camera-hal

failed build in Arch Linux after recent commits

Opened this issue · 3 comments

pengux commented

The error is:

yay -S intel-ipu6ep-camera-hal-git
AUR Explicit (1): intel-ipu6ep-camera-hal-git-r48.8bad42c-1
AUR Dependency (1): intel-ipu6ep-camera-bin-r32.0797f74-1
:: PKGBUILD up to date, skipping download: intel-ipu6ep-camera-hal-git
:: PKGBUILD up to date, skipping download: ipu6-camera-bin
  2 ipu6-camera-bin                          (Build Files Exist)
  1 intel-ipu6ep-camera-hal-git              (Build Files Exist)
==> Packages to cleanBuild?
==> [N]one [A]ll [Ab]ort [I]nstalled [No]tInstalled or (1 2 3, 1-3, ^4)
==>
  2 intel-ipu6ep-camera-hal-git              (Build Files Exist)
  1 ipu6-camera-bin                          (Build Files Exist)
==> Diffs to show?
==> [N]one [A]ll [Ab]ort [I]nstalled [No]tInstalled or (1 2 3, 1-3, ^4)
==>
==> Making package: intel-ipu6ep-camera-hal-git r48.8bad42c-1 (Thu 10 Aug 2023 02:34:11 PM CEST)
==> Retrieving sources...
  -> Updating ipu6-camera-hal git repo...
==> Making package: ipu6-camera-bin r32.0797f74-1 (Thu 10 Aug 2023 02:34:11 PM CEST)
==> Retrieving sources...
  -> Updating ipu6-camera-bins git repo...
==> WARNING: Skipping verification of source file PGP signatures.
==> Validating source files with sha256sums...
    ipu6-camera-hal ... Skipped
==> WARNING: Skipping verification of source file PGP signatures.
==> Validating source files with sha256sums...
    ipu6-camera-bins ... Skipped
:: (1/2) Parsing SRCINFO: ipu6-camera-bin
:: (2/2) Parsing SRCINFO: intel-ipu6ep-camera-hal-git
==> Making package: ipu6-camera-bin r32.0797f74-1 (Thu 10 Aug 2023 02:34:14 PM CEST)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Updating ipu6-camera-bins git repo...
==> Validating source files with sha256sums...
    ipu6-camera-bins ... Skipped
==> Removing existing $srcdir/ directory...
==> Extracting sources...
  -> Creating working copy of ipu6-camera-bins git repo...
Cloning into 'ipu6-camera-bins'...
done.
==> Starting pkgver()...
==> Updated version: ipu6-camera-bin r70.c4f9e52-1
==> Sources are ready.
==> Making package: ipu6-camera-bin r70.c4f9e52-1 (Thu 10 Aug 2023 02:34:18 PM CEST)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> WARNING: Using existing $srcdir/ tree
==> Starting pkgver()...
==> Removing existing $pkgdir/ directory...
==> Entering fakeroot environment...
==> Starting package_intel-ipu6-camera-bin()...
cp: cannot stat 'ipu6-camera-bins/ipu6/lib': No such file or directory
==> ERROR: A failure occurred in package_intel-ipu6-camera-bin().
    Aborting...
 -> Failed to install layer, rolling up to next layer.error:error making: ipu6-camera-bin - exit status 4
==> Making package: ipu6-camera-bin r70.c4f9e52-1 (Thu 10 Aug 2023 02:34:21 PM CEST)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> Retrieving sources...
  -> Updating ipu6-camera-bins git repo...
==> Validating source files with sha256sums...
    ipu6-camera-bins ... Skipped
==> Removing existing $srcdir/ directory...
==> Extracting sources...
  -> Creating working copy of ipu6-camera-bins git repo...
Cloning into 'ipu6-camera-bins'...
done.
==> Starting pkgver()...
==> Sources are ready.
==> Making package: ipu6-camera-bin r70.c4f9e52-1 (Thu 10 Aug 2023 02:34:25 PM CEST)
==> Checking runtime dependencies...
==> Checking buildtime dependencies...
==> WARNING: Using existing $srcdir/ tree
==> Starting pkgver()...
==> Removing existing $pkgdir/ directory...
==> Entering fakeroot environment...
==> Starting package_intel-ipu6-camera-bin()...
cp: cannot stat 'ipu6-camera-bins/ipu6/lib': No such file or directory
==> ERROR: A failure occurred in package_intel-ipu6-camera-bin().
    Aborting...
 -> error making: ipu6-camera-bin-exit status 4
==> Making package: intel-ipu6ep-camera-hal-git r48.8bad42c-1 (Thu 10 Aug 2023 02:34:27 PM CEST)
==> Checking runtime dependencies...
==> Missing dependencies:
  -> intel-ipu6ep-camera-bin
==> Checking buildtime dependencies...
==> ERROR: Could not resolve all dependencies.
 -> error making: intel-ipu6ep-camera-hal-git-exit status 8
 -> Failed to install the following packages. Manual intervention is required:
intel-ipu6ep-camera-bin - exit status 4
intel-ipu6ep-camera-hal-git - exit status 8

You can do:
yay --editmenu -S intel-ipu6ep-camera-bin

and remove the "/ipu6" and "/ipu6ep" from the PKGBUILD and intel-ipu6ep-camera-bin will install.

After that, however, intel-ipu6ep-camera-hal-git fails to build with:
-- Package 'ia_imaging', required by 'virtual:world', not found
CMake Error at cmake/FindIA_IMAGING.cmake:28 (message):
IA_IMAGING not found
Call Stack (most recent call first):
CMakeLists.txt:285 (find_package)

This is where I'm stuck at the moment. BTW this is probably more suited as an issue for: https://github.com/stefanpartheym/archlinux-ipu6-webcam

pengux commented

@aforembs thanks, I was thinking maybe to install on a previous commit that was working, but couldn't find an easy way to do it with all dependencies, do you know?

After that, however, intel-ipu6ep-camera-hal-git fails to build with: -- Package 'ia_imaging', required by 'virtual:world', not found CMake Error at cmake/FindIA_IMAGING.cmake:28 (message): IA_IMAGING not found Call Stack (most recent call first): CMakeLists.txt:285 (find_package)

CMake needs to locate the library information through pkgconfig, which is located under lib/<generation>/pkgconfig/*.pc. Also, as a side note, the gstreamer plugin icamerasrc will be looking for libia_cca.so, libia_log.so and libgcss.so.0. My gut feeling is that Intel is halfway on its hardware-level abstraction on the current build, so I create some symbolic links for them as a dirty workaround. Ultimately your PKGBUILD may look like this:

package_intel-ipu6-camera-bin() {
    provides=(ipu6-camera-bin)
    conflicts=(intel-ipu6ep-camera-bin)
    pkgdesc+=" (Tiger Lake)"

    install -dm755 "$pkgdir/usr"
    cp -rT "$_pkgname/lib" "$pkgdir/usr/lib"
    cp -rT "$_pkgname/lib/ipu_tgl/pkgconfig" "$pkgdir/usr/lib/pkgconfig"
    cp -rT "$_pkgname/include" "$pkgdir/usr/include"

    pushd $pkgdir/usr/lib
    ln -s ipu_tgl/{libia_cca.so,libia_log.so,libgcss.so.0} .
    popd
}

package_intel-ipu6ep-camera-bin() {
    provides=(ipu6-camera-bin)
    conflicts=(intel-ipu6-camera-bin)
    pkgdesc+=" (Alder Lake)"

    install -dm755 "$pkgdir/usr"
    cp -rT "$_pkgname/lib" "$pkgdir/usr/lib"
    cp -rT "$_pkgname/lib/ipu_adl/pkgconfig" "$pkgdir/usr/lib/pkgconfig"
    cp -rT "$_pkgname/include" "$pkgdir/usr/include"

    pushd $pkgdir/usr/lib
    ln -s ipu_adl/{libia_cca.so,libia_log.so,libgcss.so.0} .
    popd
}

This is where I'm stuck at the moment. BTW this is probably more suited as an issue for: https://github.com/stefanpartheym/archlinux-ipu6-webcam

This script pulls ipu6-camera-bin straight from AUR as well. I think it may be better to inform the maintainer directly at https://aur.archlinux.org/packages/intel-ipu6ep-camera-bin