Package Details: looking-glass 2:B1-1

Git Clone URL: https://aur.archlinux.org/looking-glass.git (read-only)
Package Base: looking-glass
Description: A client application for accessing the LookingGlass IVSHMEM device of a VM
Upstream URL: https://looking-glass.hostfission.com
Licenses: GPL2
Submitter: Omar007
Maintainer: Omar007
Last Packager: Omar007
Votes: 11
Popularity: 1.60
First Submitted: 2017-12-22 16:49
Last Updated: 2019-07-25 19:05

Latest Comments

1 2 Next › Last »

Omar007 commented on 2019-07-25 19:05

Update to the first official release version. From here on out, the package will only be updated on new official releases, not on RC releases.

If anyone has interest in RC releases, feel free to create a looking-glass-rc variant based on this yourself.

darthvader commented on 2019-06-17 03:47

Thanks for your support @Omar007, indeed I had sdl2_ttf already installed before. My issue is solved now.

Omar007 commented on 2019-06-16 13:24

It doesn't. That's why you get the error. If it did, it would have removed it without making a fuzz about it. Case in point:

$ pacman -Qi sdl2_ttf
...
Required By     : looking-glass
...
Install Reason  : Installed as a dependency for another package
...
$ pactree -r sdl2_ttf
sdl2_ttf
└─looking-glass
$ pacman -Rns sdl2_ttf
checking dependencies...
error: failed to prepare transaction (could not satisfy dependencies)
:: looking-glass: removing sdl2_ttf breaks dependency 'sdl2_ttf'

And no, you can't (shouldn't) as sdl2_ttf is not a dependency for everything, only for looking-glass.

The problem is that AFTER build but BEFORE installation, it would indeed no longer be needed to keep sdl2_ttf around. But since you also install it, it can not be removed as it is now again depended upon by something on your system. Hence the error.

EDIT: Also, the reason it now suddenly succeeds is most likely because you already had sdl2_ttf installed now and -s didn't need to sync it to satisfy the dependency, thus -r also not removing it. As I said, it's already in the depends array for looking-glass.

darthvader commented on 2019-06-16 12:29

The problem with having sdl2_ttf inside makedepends is that pacman will mark sdl2_ttf as an orphan after installation (you can see it with pacman -Qtdq). Would it be possible to move the top-level sdl2_ttf out of makedepends? I tried the following changes and installation is working fine:

diff --git a/PKGBUILD b/PKGBUILD
index 40d2186..b2669b4 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -10,7 +10,8 @@ pkgdesc="An extremely low latency KVMFR (KVM FrameRelay) implementation for gues
 url="https://looking-glass.hostfission.com"
 arch=('x86_64')
 license=('GPL2')
-makedepends=('cmake' 'sdl2_ttf' 'glu' 'fontconfig' 'spice-protocol')
+depends=('sdl2_ttf')
+makedepends=('cmake' 'glu' 'fontconfig' 'spice-protocol')
 source=("https://github.com/gnif/LookingGlass/archive/${_pkgver}.tar.gz"
         "https://github.com/gnif/LookingGlass/pull/167.diff")
 sha512sums=('5e4539d7decbfb37e8eb481c5d27cc38c1d7ed65df5e49a64f9a14402243b9f9ee97c939d3733bd90859ded71961a866c627d3c6c44bff6bd36881eced1fc1ec'

Omar007 commented on 2019-06-16 11:40

It's declared in both so that error is expected then if you use -r, as the depends entry blocks the removal. Nothing I can change about that.

darthvader commented on 2019-06-16 11:28

@Omar007, thanks for the quick answer. I was installing looking-glass by using makepg -sri.

s = install missing dependencies
r = remove build-time dependencies after install
i = install package

Building the package with makepkg or makepkg -s is successful.

Installing the package by using makepkg -i is successful.

However sdl2_ttf and other required dependencies in the PKGBUILD are declared inside makedepends, as far as I understand makedepends is used for build-time dependencies and depends for regular dependencies, so if you install looking-glass by using makepkg -ri, pacman will try to remove the dependencies declared inside makedepends after looking-glass is installed which will fail as shown in my previous comment.

Omar007 commented on 2019-06-16 10:59

@darthvader; To get things out of the way real quick, I do not see the installation fail; it seems to build and install perfectly fine but for some reason your system wants to remove 'sdl2_ttf'. It really shouldn't as it is a dependency for looking-glass, which is also why it's erroring out; an installed package depends on it (looking-glass). Because of that dependency, sdl2_ttf is not actually removed and as a result nothing happened to impact the installation so everything is fine. I have no clue why your system decided it needs to remove it in the first place though.

As such I also have no way to reproduce this. The best I can do is maybe provide a hint on where it goes wrong if you can provide answers to the following questions, but don't get your hopes up. What command are you using to build and install this? Are you using an AUR helper?

I did update the package for the DKMS problem as mentioned earlier but I forgot to push the update that includes the required patch here. Will push it in a bit.

EDIT: Commit that includes the DKMS fix is pushed as pkgver 3.

darthvader commented on 2019-06-16 05:37

Installation fails but looking-class command works fine

Install the project...
-- Install configuration: ""
-- Installing: /tmp/looking-glass/pkg/looking-glass-host/usr/bin/looking-glass-host
==> Tidying install...
  -> Removing libtool files...
  -> Purging unwanted files...
  -> Removing static library files...
  -> Stripping unneeded symbols from binaries and libraries...
  -> Compressing man and info pages...
==> Checking for packaging issues...
==> WARNING: Package contains reference to $srcdir
usr/bin/looking-glass-host
==> Creating package "looking-glass-host"...
  -> Generating .PKGINFO file...
  -> Generating .BUILDINFO file...
  -> Generating .MTREE file...
  -> Compressing package...
==> Leaving fakeroot environment.
==> Finished making: looking-glass 1:B1_rc5-2 (Sun 16 Jun 2019 02:08:36 PM)
==> Installing looking-glass package group with pacman -U...
loading packages...
resolving dependencies...
looking for conflicting packages...

Packages (4) dkms-2.7.1-1  looking-glass-1:B1_rc5-2  looking-glass-host-1:B1_rc5-2  looking-glass-module-dkms-1:B1_rc5-2

Total Installed Size:  2.87 MiB

:: Proceed with installation? [Y/n] 
(4/4) checking keys in keyring                                                                                                 [############################################################################] 100%
(2/4) checking package integrity                                                                                               [############################################################################] 100%
(2/4) loading package files                                                                                                    [############################################################################] 100%
(4/4) checking for file conflicts                                                                                              [############################################################################] 100%
(4/4) checking available disk space                                                                                            [############################################################################] 100%
:: Processing package changes...
(1/4) installing looking-glass                                                                                                 [############################################################################] 100%
(2/4) installing dkms                                                                                                          [############################################################################] 100%
Optional dependencies for dkms
    linux-headers: build modules against the Arch kernel [installed]
    linux-lts-headers: build modules against the LTS kernel
    linux-zen-headers: build modules against the ZEN kernel
    linux-hardened-headers: build modules against the HARDENED kernel
(3/4) installing looking-glass-module-dkms                                                                                     [############################################################################] 100%
(4/4) installing looking-glass-host                                                                                            [############################################################################] 100%
:: Running post-transaction hooks...
(1/2) Install DKMS modules
==> dkms install looking-glass/B1_rc5 -k 5.1.9-arch1-1-ARCH
Error! Bad return status for module build on kernel: 5.1.9-arch1-1-ARCH (x86_64)
Consult /var/lib/dkms/looking-glass/B1_rc5/build/make.log for more information.
(2/2) Arming ConditionNeedsUpdate...
==> Removing installed dependencies...
checking dependencies...
error: failed to prepare transaction (could not satisfy dependencies)
:: looking-glass: removing sdl2_ttf breaks dependency 'sdl2_ttf'
==> WARNING: Failed to remove installed dependencies.

==> ERROR: An unknown error has occurred. Exiting...
User defined signal 1
$ cat /var/lib/dkms/looking-glass/B1_rc5/build/make.log
DKMS make.log for looking-glass-B1_rc5 for kernel 5.1.9-arch1-1-ARCH (x86_64)
Sun 16 Jun 2019 02:08:49 PM
make: Entering directory '/usr/lib/modules/5.1.9-arch1-1-ARCH/build'
scripts/Makefile.build:42: /var/lib/dkms/kvmfr/0.1/build/Makefile: No such file or directory
make[1]: *** No rule to make target '/var/lib/dkms/kvmfr/0.1/build/Makefile'.  Stop.
make: *** [Makefile:1571: _module_/var/lib/dkms/kvmfr/0.1/build] Error 2
make: Leaving directory '/usr/lib/modules/5.1.9-arch1-1-ARCH/build'

Omar007 commented on 2019-06-04 21:11

Ah yes I see what's going on. I updated the package to use the upstream dkms.conf instead but didn't realize that the upstream file is expecting a hard-coded path.

This is a bit more annoying as I don't see a way to supply/use the upstream dkms.conf without breaking Arch DKMS conventions...

EDIT: Taking another look at the upstream dkms.conf and it looks like this might be an exact rip from the debian wiki with just the PACKAGE_NAME adapted. It also def. doesn't need to rebuild the initrd or be included in one; as far as I'm aware there is no reason at all for this module to be available before the initrd kernel hand-over. I might just switch back to the previously used dkms.conf

EDIT2: Also found that the Makefile is actually overruling dkms itself so it technically already failed in the past if you had multiple kernels installed, even with the 'working' dkms.conf. Holding off until I can provide a fix to upstream for this.

EDIT3: Submitted a patch for the Makefile upstream. Will continue on this later.

EDIT4: Upstream merged, pulling in that specific patch to this package in a bit.

kantras commented on 2019-06-04 19:44

Theres a problem with the DKMS package - you install it under /usr/src as module looking-glass, with version B1-rc5, however the dkms.conf file makes reference to module name kvmfr, version 0.1, and thus can't find the build files.