Package Details: yacreaderlibraryserver 10.0.0-1

Git Clone URL: https://aur.archlinux.org/yacreader.git (read-only, click to copy)
Package Base: yacreader
Description: Headless YACReaderLibrary server for use with YACReader for iOS.
Upstream URL: http://www.yacreader.com
Keywords: cbr cbz comic pdf reader
Licenses: GPL-3.0-only
Conflicts: yacreader-bin, yacreader-git, yacreaderlibraryserver-standalone
Submitter: selmf
Maintainer: selmf
Last Packager: selmf
Votes: 47
Popularity: 1.53
First Submitted: 2014-07-06 15:35 (UTC)
Last Updated: 2026-05-12 09:08 (UTC)

Pinned Comments

selmf commented on 2021-05-24 11:17 (UTC)

Important: If you are having troubles compiling or launching YACReader and libicuuc is part of the error message, you need to rebuild libpdfium!

Latest Comments

1 2 3 4 5 6 .. 9 Next › Last »

j1simon commented on 2026-05-16 07:28 (UTC)

@taiviam The error itself is telling you: you’re trying to install two packages that install the same program. If you only want the YACReader server, you should install only yacreaderlibraryserver. If you want the full package — server, client, and library manager — then you should install yacreader. Not both.

taivlam commented on 2026-05-15 14:41 (UTC)

What can I do to fix this error? I'm getting an install error at the very end and my stdout is below:

==> Installing yacreader package group with pacman -U...
[sudo] password for tai: 
loading packages...
resolving dependencies...
looking for conflicting packages...

Package (2)             Old Version  New Version  Net Change

yacreader               9.16.3-1     10.0.0-1       3.28 MiB
yacreaderlibraryserver  9.16.3-1     10.0.0-1       0.47 MiB

Total Installed Size:  10.89 MiB
Net Upgrade Size:       3.75 MiB

:: Proceed with installation? [Y/n] Y
(2/2) checking keys in keyring                                                    [###############################################] 100%
(2/2) checking package integrity                                                  [###############################################] 100%
(2/2) loading package files                                                       [###############################################] 100%
(2/2) checking for file conflicts                                                 [###############################################] 100%
error: failed to commit transaction (conflicting files)
/usr/bin/YACReaderLibraryServer exists in both 'yacreader' and 'yacreaderlibraryserver'
/usr/lib/systemd/user/yacreaderlibraryserver.service exists in both 'yacreader' and 'yacreaderlibraryserver'
/usr/share/yacreader/server/docroot/images/webui/YACLibraryServer.svg exists in both 'yacreader' and 'yacreaderlibraryserver'
Errors occurred, no packages were upgraded.
==> WARNING: Failed to install built package(s).
==> Cleaning up...

j1simon commented on 2026-05-15 12:24 (UTC)

A small cleanup suggestion regarding conflicts:

  conflicts=('yacreader-bin' 'yacreaderlibraryserver-standalone' 'yacreader-git')

It's declared at global level, so it applies identically to both split packages. But each subpackage installs a different set of files, so a single shared list isn't quite right.

Verified state on the AUR right now:

  • yacreader-bin is built from a Fedora RPM (cp -r ${srcdir}/usr ${pkgdir}/) and ships every binary (client + library + server). It overlaps with both splits.
  • yacreader-poppler and yacreader-poppler-git install only YACReader and YACReaderLibrary (their package() calls sub-YACReader-install_subtargets sub-YACReaderLibrary-install_subtargets), so they only overlap with package_yacreader(), not with the headless server.
  • yacreader-git and yacreaderlibraryserver-standalone don't currently exist on the AUR, so they can be dropped from the list.
  • The yacreader split itself installs /usr/bin/YACReaderLibraryServer (pacman -Ql yacreader confirms it), so it overlaps with the yacreaderlibraryserver split — that one isn't declared currently.

A cleaner setup:

  package_yacreader() {
    conflicts=('yacreader-bin' 'yacreader-poppler' 'yacreader-poppler-git' 'yacreaderlibraryserver')
    cd "$srcdir/$pkgbase-$pkgver/"
    DESTDIR="$pkgdir" cmake --install build
  }

  package_yacreaderlibraryserver() {
    pkgdesc="Headless YACReaderLibrary server for use with YACReader for iOS."
    install=yacreaderlibraryserver.install
    conflicts=('yacreader-bin')
    cd "$srcdir/$pkgbase-$pkgver/"
    DESTDIR="$pkgdir" cmake --install build-server
  }

Pacman applies conflicts bidirectionally, so listing yacreaderlibraryserver in package_yacreader() is enough; no need to also list yacreader in package_yacreaderlibraryserver(). yacreader-bin needs to appear in both because its own PKGBUILD only declares conflicts=(yacreader).

Not blocking anything — pacman catches file conflicts at install time anyway — just a cleanup suggestion.

j1simon commented on 2026-05-15 11:41 (UTC)

git clone https://aur.archlinux.org/yacreader.git downloads qml_error.patch but it's unnecessary now.

patlefort commented on 2026-05-12 16:02 (UTC)

Ok. I'd suggest adding provides+=(yacreaderlibraryserver) and conflicts+=(yacreaderlibraryserver) in package_yacreader() to make it more clear.

selmf commented on 2026-05-12 15:00 (UTC)

@patlefort: The CMake build changed how targets are seperated. So yes and no - the issue is I can't cleanly split the server off the package right now so you're getting the next best thing.