포물선(아치형) - ICU 업데이트로 인해 일부 프로그램에는 두 가지 다른 버전의 ICU 라이브러리가 필요합니다. 둘 다 시작하지 못합니다. 재생산할 수 없다

포물선(아치형) - ICU 업데이트로 인해 일부 프로그램에는 두 가지 다른 버전의 ICU 라이브러리가 필요합니다. 둘 다 시작하지 못합니다. 재생산할 수 없다

난 달린다포물선(자유 소프트웨어가 아닌 소프트웨어를 블랙리스트에 추가하고 다른 많은 소프트웨어를 추가한 Arch Linux의 파생물). ICU 패키지는 최근 v.59에서 v.60으로 업데이트되었습니다(ICU 패키지는 Parabola가 아닌 Arch 저장소에서 직접 제공됩니다). 따라서 Ring-client-gnome 및 California를 포함하여 Parabola 자체 저장소의 많은 패키지가 ICU의 새 버전에 맞게 다시 빌드되어야 합니다.

"gnome-ring"과 "california"가 모두 새 가상 머신에서 제대로 작동하는 것을 확인했습니다. IRC의 다른 사용자들도 같은 내용을 보고했습니다.

그러나 내 개인 컴퓨터에서는 "gnome-ring"이나 "california"가 시작되지 않습니다. 불행하게도 손상된 오래된 가상 머신이 아닌 이상 이 문제를 재현할 수 없습니다.

이상하게도 Ring-client-gnome은 ICU v60용으로 제작되었지만 v59와 v60을 원하는 것 같습니다. 예를 들어, ICU를 제거하면 gnome-ring은 "libicui18n.so.60"을 예상대로 찾을 수 없다고 출력합니다. 하지만 ICU를 설치하면 "libicui18n.so.59" notfound가 출력됩니다. 서로 다른 두 ICU 버전을 충돌 없이 설치하는 것이 불가능하기 때문에 이는 말이 되지 않으며 설치에 문제가 있는 것 같습니다.

흥미롭게도 ICU 설치 여부에 관계없이 "california"는 ICU v60용으로 제작되었음에도 불구하고 항상 "libicui18n.so.59"를 찾을 수 없음을 출력합니다.

최신 ICU 패키지(60.1-1)를 설치했습니다.

[user@hostname ~]$ gnome-ring
gnome-ring: error while loading shared libraries: libicui18n.so.59: cannot open shared object file: No such file or directory

[user@hostname ~]$ california
california: error while loading shared libraries: libicui18n.so.59: cannot open shared object file: No such file or directory

ICU 패키지가 설치되어 있지 않습니다(캘리포니아에 있는 패키지는아니요철자 오류):

[user@hostname ~]$ gnome-ring
gnome-ring: error while loading shared libraries: libicui18n.so.60: cannot open shared object file: No such file or directory

[user@hostname ~]$ california
california: error while loading shared libraries: libicui18n.so.59: cannot open shared object file: No such file or directory

좀 더 유용한 출력:

[user@hostname ~]$ ldd /usr/lib/libring.so /usr/lib/libring.so.0 /usr/lib/libring.so.0.0.0 /usr/lib/ring/dring /usr/bin/gnome-ring /usr/bin/ring.cx | grep icu

    libicuuc.so.60 => /usr/lib/libicuuc.so.60 (0x0000604eec817000)
    libicudata.so.60 => /usr/lib/libicudata.so.60 (0x0000604ee9dca000)
    libicuuc.so.60 => /usr/lib/libicuuc.so.60 (0x000069782c24c000)
    libicudata.so.60 => /usr/lib/libicudata.so.60 (0x00006978297ff000)
    libicuuc.so.60 => /usr/lib/libicuuc.so.60 (0x00006ea1e4d8a000)
    libicudata.so.60 => /usr/lib/libicudata.so.60 (0x00006ea1e233d000)
    libicuuc.so.60 => /usr/lib/libicuuc.so.60 (0x0000686de13da000)
    libicudata.so.60 => /usr/lib/libicudata.so.60 (0x0000686dde98d000)
    libicui18n.so.60 => /usr/lib/libicui18n.so.60 (0x0000603da97c4000)
    libicuuc.so.60 => /usr/lib/libicuuc.so.60 (0x0000603da940b000)
    libicui18n.so.59 => not found
    libicuuc.so.59 => not found
    libharfbuzz-icu.so.0 => /usr/lib/libharfbuzz-icu.so.0 (0x0000603da49ee000)
    libicuuc.so.59 => not found
    libicui18n.so.59 => not found
    libicudata.so.60 => /usr/lib/libicudata.so.60 (0x0000603d9f05a000)
    libicuuc.so.59 => not found
    libicui18n.so.59 => not found
    libicuuc.so.59 => not found

ICU 버전:

[user@hostname ~]$ sudo pacman -Q icu
icu 60.1-1

/usr/lib/icu의 내용:

[user@hostname icu]$ ls -l
total 12
drwxr-xr-x 1 root root 46 Nov 22 14:16 60.1
lrwxrwxrwx 1 root root  4 Nov 12 09:33 current -> 60.1
lrwxrwxrwx 1 root root 20 Nov 12 09:33 Makefile.inc -> current/Makefile.inc
lrwxrwxrwx 1 root root 19 Nov 12 09:33 pkgdata.inc -> current/pkgdata.inc

/lib/libicu의 내용

[alex@LibrebootT400 lib]$ ls -la libicu*
lrwxrwxrwx 1 root root       18 Nov 12 09:33 libicudata.so -> libicudata.so.60.1
lrwxrwxrwx 1 root root       18 Nov 12 09:33 libicudata.so.60 -> libicudata.so.60.1
-rwxr-xr-x 1 root root 26825368 Nov 12 09:33 libicudata.so.60.1
lrwxrwxrwx 1 root root       18 Nov 12 09:33 libicui18n.so -> libicui18n.so.60.1
lrwxrwxrwx 1 root root       18 Nov 12 09:33 libicui18n.so.60 -> libicui18n.so.60.1
-rwxr-xr-x 1 root root  2762816 Nov 12 09:33 libicui18n.so.60.1
lrwxrwxrwx 1 root root       16 Nov 12 09:33 libicuio.so -> libicuio.so.60.1
lrwxrwxrwx 1 root root       16 Nov 12 09:33 libicuio.so.60 -> libicuio.so.60.1
-rwxr-xr-x 1 root root    55056 Nov 12 09:33 libicuio.so.60.1
lrwxrwxrwx 1 root root       18 Nov 12 09:33 libicutest.so -> libicutest.so.60.1
lrwxrwxrwx 1 root root       18 Nov 12 09:33 libicutest.so.60 -> libicutest.so.60.1
-rwxr-xr-x 1 root root    64616 Nov 12 09:33 libicutest.so.60.1
lrwxrwxrwx 1 root root       16 Nov 12 09:33 libicutu.so -> libicutu.so.60.1
lrwxrwxrwx 1 root root       16 Nov 12 09:33 libicutu.so.60 -> libicutu.so.60.1
-rwxr-xr-x 1 root root   203288 Nov 12 09:33 libicutu.so.60.1
lrwxrwxrwx 1 root root       16 Nov 12 09:33 libicuuc.so -> libicuuc.so.60.1
lrwxrwxrwx 2 root root       16 Nov 12 09:33 libicuuc.so.59 -> libicuuc.so.60.1
lrwxrwxrwx 2 root root       16 Nov 12 09:33 libicuuc.so.60 -> libicuuc.so.60.1
-rwxr-xr-x 1 root root  1799952 Nov 12 09:33 libicuuc.so.60.1

답변1

Parabola에는 "프리즘 없음"일반적으로 개인 정보 보호를 강화하는 강화된 패키지가 많이 포함되어 있습니다. 얼마 전에 테스트를 위해 활성화한 것을 잊어버렸습니다.

이 저장소를 비활성화하면 gnome-ring과 캘리포니아가 수정되어프리즘 없음패키지가 손상되었습니다. 진화 데이터 서버가 범인임을 시사하는 손상된 종속성으로 범위를 좁혔습니다. 물론 있습니다.Non-Prism/Evolution 데이터 서버이는 일반 패키지 뒤에 있는 두 가지 버전입니다.

Non-Prism/Evolution 데이터 서버이제 재구축 대기열에 있습니다. 문제가 해결되면 이 질문을 해결됨으로 표시하겠습니다.

답변2

이것은 나에게 효과적입니다.

sudo ln /usr/lib/libicuuc.so.60 /usr/lib/libicuuc.so.59

(시스템이 ICU v60에서 실행되고 있다고 가정합니다. v59를 사용하는 경우 59를 60으로 심볼릭 링크할 수 있습니다.)

관련 정보