Skip to main content
Topic solved
This topic has been marked as solved and requires no further attention.
Topic: [Solved] libicu 73 causes conflicting packages (Read 3598 times) previous topic - next topic
0 Members and 4 Guests are viewing this topic.

[Solved] libicu 73 causes conflicting packages

When opening the newest version of libreoffice-fresh 7.6.4-2 it does not open due to an error with conflicting libraries:
Code: [Select]
/usr/lib/libreoffice/program/soffice.bin: error while loading shared libraries: libicuuc.so.74: cannot open shared object file: No such file or directory
and since libicu and lib32-icu is only on 73.2-2 on the system and multilib

Code: [Select]
~ ❯ p -Ss libicu
system/icu 73.2-2 [installed]
    International Components for Unicode library
multilib/lib32-icu 74.2-1 [installed]
    International Components for Unicode library (32 bit)

There is no way to upgrade to libicu 74.

I tried to install the up to date version by compiling the package build from source https://gitlab.archlinux.org/archlinux/packaging/packages/icu

But it also created conflicts with multiple other packages on my system.
Code: [Select]
error: failed to prepare transaction (could not satisfy dependencies)
:: installing icu (74.2-1) breaks dependency 'libicuuc.so=73-64' required by gspell
:: installing icu (74.2-1) breaks dependency 'libicuuc.so=73-64' required by harfbuzz-icu
:: installing icu (74.2-1) breaks dependency 'libicui18n.so=73-64' required by mpd
:: installing icu (74.2-1) breaks dependency 'libicuuc.so=73-64' required by mpd
:: installing icu (74.2-1) breaks dependency 'libicui18n.so=73-64' required by ncmpcpp
:: installing icu (74.2-1) breaks dependency 'libicuuc.so=73-64' required by ncmpcpp
:: installing icu (74.2-1) breaks dependency 'libicuuc.so=73-64' required by raptor
:: installing icu (74.2-1) breaks dependency 'libicui18n.so=73-64' required by thunderbird
:: installing icu (74.2-1) breaks dependency 'libicuuc.so=73-64' required by thunderbird

I ended up using [downgrade](https://aur.archlinux.org/packages/downgrade) to on libreoffice to get it working, but I would like this to be fixed so I can use the newest version possible.

Re: libicu 73 causes conflicting packages

Reply #1
I'd suggest don't mix artix' and arch's packages. libreoffice-fresh 7.6.4-2 for now is in arch's extra repo, and in artix' galaxy repo is libreoffice-fresh 7.6.4-1. I do believe there will be an update soon enough.

Re: libicu 73 causes conflicting packages

Reply #2
Oh I see, that is an issue on my part. For some reason I thought the galaxy repo wasn't active anymore as I skimmed through this thread https://forum.artixlinux.org/index.php/topic,5887.0.html

I just read the bottom post and uncommented the galaxy repo from my /etc/pacman.conf

I reinstalled the correct version of libreoffice and I didn't get that issue.

Sorry for the misunderstanding and thank you for helping.

The other packages that are listed all are working, but won't upgrade until libicu 74 is available.

lib32/lib32-icu and system/icu have incompatible versions and are behind release

Reply #3
Related:

lib32/lib32-icu is now at version 74.1-1, while system/icu, which is a dependency for lib32/lib32-icu, is at version 73.2-2, and upstream icu is at release version 74.2.

As a workaround, there is an AUR package icu74.

Re: libicu 73 causes conflicting packages

Reply #4
And Chromium won't load due to the same reason. Waiting for the update. Just my 5¢.

Re: libicu 73 causes conflicting packages

Reply #5
I can confirm. On a clean machine:

Code: [Select]
:: installing icu (74.2-1) breaks dependency 'libicuuc.so=73-64' required by gspell
:: installing icu (74.2-1) breaks dependency 'libicuuc.so=73-64' required by harfbuzz-icu
:: installing icu (74.2-1) breaks dependency 'libicuuc.so=73-64' required by raptor

Btw, note for AUR users: this new 74 version of icu will break some things that depend on it, thus needing to be recompiled. For example, a dropped qt5-webkit package etc.

 

Re: libicu 73 causes conflicting packages

Reply #6
Btw, note for AUR users: this new 74 version of icu will break some things that depend on it, thus needing to be recompiled. For example, a dropped qt5-webkit package etc.
But can be installed in parallel with Artix' icu version 73 (it only provides the libraries .so.74*, no executables.) So it should not break the Artix packages that depend on icu 73.

And when Artix has upgraded to icu 74 everything should get fine again anyway.

Re: libicu 73 causes conflicting packages

Reply #7
But can be installed in parallel with Artix' icu version 73 (it only provides the libraries .so.74*, no executables.) So it should not break the Artix packages that depend on icu 73.

And when Artix has upgraded to icu 74 everything should get fine again anyway.



It cannot upgrade at the moment as I've mentioned above.

Re: libicu 73 causes conflicting packages

Reply #8
But can be installed in parallel with Artix' icu version 73 (it only provides the libraries .so.74*, no executables.) So it should not break the Artix packages that depend on icu 73.

And when Artix has upgraded to icu 74 everything should get fine again anyway.
It cannot upgrade at the moment as I've mentioned above.
Ah OK, Artix now also has upgraded to from icu 73.2 to icu 74.2.

So ping the maintainers of the ill-depending packages :-), or build a compatibility package icu73:

Code: [Select]
# Contributor: dreieck (https://aur.archlinux.org/account/dreieck)
# Contributor: Ujhhgtg (https://aur.archlinux.org/account/Ujhhgtg)

## Based on `PKGBUILD` for package `icu71`, version 71.1-1, by Ujhhgtg (https://aur.archlinux.org/account/Ujhhgtg).

_pkgname=icu
_pkgmainver=73
_pkgminorver=2
pkgname="${_pkgname}${_pkgmainver}"
pkgver="${_pkgmainver}.${_pkgminorver}"
pkgrel=1
pkgdesc="International Components for Unicode library (legacy version ${_pkgmainver})."
arch=(
  'i686'
  'x86_64'
)
url="http://www.icu-project.org/"
license=('custom:icu')
depends=(
  'gcc-libs'
  'glibc'
)
makedepends=(
  'clang'
  'make'
  'patch'
  'python'
)
provides=(
  # "${_pkgname}=${pkgver}" # Do not provide `icu` itself, since the executable tools are not provided.
  "libicudata.so=${_pkgmainver}"
  "libicui18n.so=${_pkgmainver}"
  "libicuio.so=${_pkgmainver}"
  "libicutest.so=${_pkgmainver}"
  "libicutu.so=${_pkgmainver}"
  "libicuuc.so=${_pkgmainver}"
)
conflicts=(
  "${_pkgname}=${_pkgmainver}"
  "${_pkgname}=${_pkgmainver}.0"
  "${_pkgname}=${_pkgmainver}.1"
  "${_pkgname}=${_pkgmainver}.2"
  "${_pkgname}=${_pkgmainver}.3"
  "${_pkgname}=${_pkgmainver}.4"
  "${_pkgname}=${_pkgmainver}.5"
  "${_pkgname}=${_pkgmainver}.6"
  "${_pkgname}=${_pkgmainver}.7"
  "${_pkgname}=${_pkgmainver}.8"
  "${_pkgname}=${_pkgmainver}.9"
  "libicudata.so=${_pkgmainver}"
  "libicui18n.so=${_pkgmainver}"
  "libicuio.so=${_pkgmainver}"
  "libicutest.so=${_pkgmainver}"
  "libicutu.so=${_pkgmainver}"
  "libicuuc.so=${_pkgmainver}"
)
source=(
  "https://github.com/unicode-org/icu/releases/download/release-${pkgver//./-}/icu4c-${pkgver//./_}-src.tgz"
  #"https://github.com/unicode-org/icu/releases/download/release-${pkgver//./-}/icu4c-${pkgver//./_}-src.tgz.asc"
  "https://github.com/unicode-org/icu/raw/main/LICENSE"
)
sha256sums=(
  '818a80712ed3caacd9b652305e01afc7fa167e6f2e94996da44b90c2ab604ce1'
  #''
  'SKIP'
)
md5sums=(
  'b8a4b8cf77f2e2f6e1341eac0aab2fc4'
  #''
  'SKIP'
)
#validpgpkeys=(
#  '4058F67406EAA6AB'
#)

build()
{
  cd "${_pkgname}/source"

  ## `--enable-tools` is needed to build `genrb` binary, which is needed somewhere during the compilation process.
  ./configure \
    --prefix=/usr \
    --sysconfdir=/etc \
    --mandir=/usr/share/man \
    --sbindir=/usr/bin \
    --disable-icu-config \
    --disable-debug \
    --enable-release \
    --enable-shared \
    --disable-static \
    --disable-auto-cleanup \
    --enable-draft \
    --enable-renaming \
    --disable-tracing \
    --enable-plugins \
    --enable-dyload \
    --enable-rpath \
    --disable-weak-threads \
    --enable-extras \
    --enable-icuio \
    --enable-layoutex \
    --enable-tools \
    --disable-fuzzer \
    --enable-tests \
    --disable-samples \
    --with-data-packaging=library

  make
}

check()
{
  cd "${_pkgname}/source"

  make -k check
}

package()
{
  cd "${_pkgname}/source"

  make DESTDIR="${pkgdir}" install

  ## Remove files that would make this package conflict with the generic `icu` package, and other "garbage" files:
  rm -rf "${pkgdir}"/usr/{bin,include,share,lib/{pkgconfig,*.so,icu/{current,Makefile.inc,pkgdata.inc}}}

  ## Install license
  install -Dvm644 "${srcdir}/LICENSE" "${pkgdir}/usr/share/licenses/${pkgname}/LICENSE"
}

Re: libicu 73 causes conflicting packages

Reply #9
Very massive update and after that everything is working on my system so far.