Puncte:0

dependențe de bibliotecă partajată cale greșită

drapel in

Am construit clazy cu clang-12, dar Qt creator dă o eroare:

Comanda „/usr/local/clazy/bin/clazy-standalone --version” sa încheiat cu codul de ieșire 127. /usr/local/clazy/bin/clazy-standalone: ​​eroare la încărcarea bibliotecilor partajate: libclang-cpp.so.12: nu se poate deschide fișierul obiect partajat: nu există un astfel de fișier sau director

Am adăugat directoarele corecte la .bashrc:

  • export PATH=/usr/local/clang-12/bin:$PATH
  • export LD_LIBRARY_PATH=/usr/local/clang-12/lib:$LD_LIBRARY_PATH

Iată o imprimare a dependențelor de obiecte partajate pentru clazy-standalone:

    linux-vdso.so.1 (0x00007ffd9ebe0000)
    ClazyPlugin.so => ​​/usr/local/clazy/lib/ClazyPlugin.so (0x00007f06c929d000)
    libclang-cpp.so.12 => /usr/local/clang-12/lib/libclang-cpp.so.12 (0x00007f06c4b2b000)
    librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007f06c4b08000)
    libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f06c4b02000)
    libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f06c4adf000)
    libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007f06c4990000)
    libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f06c4972000)
    libtinfo.so.6 => /lib/x86_64-linux-gnu/libtinfo.so.6 (0x00007f06c4942000)
    libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007f06c4761000)
    libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007f06c4746000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f06c4554000)
    /lib64/ld-linux-x86-64.so.2 (0x00007f06c9437000)

Iată o imprimare a dependențelor de obiecte partajate pentru libclang-cpp.so.12:

    linux-vdso.so.1 (0x00007ffee8df9000)
    libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007fbe393b1000)
    librt.so.1 => /lib/x86_64-linux-gnu/librt.so.1 (0x00007fbe393a6000)
    libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007fbe393a0000)
    libm.so.6 => /lib/x86_64-linux-gnu/libm.so.6 (0x00007fbe39251000)
    libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007fbe39235000)
    libtinfo.so.6 => /lib/x86_64-linux-gnu/libtinfo.so.6 (0x00007fbe39205000)
    libstdc++.so.6 => /lib/x86_64-linux-gnu/libstdc++.so.6 (0x00007fbe39022000)
    libgcc_s.so.1 => /lib/x86_64-linux-gnu/libgcc_s.so.1 (0x00007fbe39007000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007fbe38e15000)
    /lib64/ld-linux-x86-64.so.2 (0x00007fbe3db60000)

libcland-cpp.so.12 nu este o legătură simbolică.

Din nou, comentariul lui @N0rbert nu oferă nicio valoare. Am și alte probleme similare despre care bănuiesc că provin din acest tip de problemă. Din anumite motive, Linux nu poate găsi sau utiliza fișierele date.

Am găsit postări cu probleme cu biblioteci partajate din 2005, așa că evident că nu sunt singurul.

Poate cineva să dea în sfârșit un răspuns corect despre cum să rezolvi acest tip de problemă? Astfel, oamenii ca mine nu trebuie să petreacă ore întregi citind postări fără răspunsuri. Sau este aceasta o „funcție” a Linux-ului?

N0rbert avatar
drapel zw
Ce a fost în neregulă cu https://packages.ubuntu.com/focal/clazy? De ce dai vina pe OS în timp ce te-ai jucat cu `/usr/local`?
drapel hr
Este `/usr/local/gcc-11.1.0/lib64/libstdc++.so.6` un fișier real sau o legătură simbolică? dacă acesta din urmă, unde se rezolvă (ex. `realpath /usr/local/gcc-11.1.0/lib64/libstdc++.so.6`)?
FROST SKIPPER avatar
drapel in
Prima întrebare este o întrebare încărcată care va duce doar la argumente. Deci, nici un comentariu. Am citit că aceasta este calea recomandată pentru a instala aplicații suplimentare. Dacă e greșit, bine. Ceea ce ai fi putut face, N0rbert, i se oferă calea corectă, mai degrabă decât doar troll. În cazul în care nu ați putut citi printre rânduri, am făcut asta pe Windows și nu am avut probleme. Pe Ubuntu tot ce am este o durere de cap.
FROST SKIPPER avatar
drapel in
Se pare că este o legătură simbolică și realpath oferă: . Fișierul respectiv există. Făcând --version pe ea, dă „Eroare de segmentare (core duped)”. Bănuiesc că asta înseamnă că am o problemă cu instalarea gcc-11. Nu știu cum să-mi dau seama ce este în neregulă cu asta. Nu înțeleg de ce compilația gcc-11 are succes când produsul final nu funcționează.
FROST SKIPPER avatar
drapel in
Am compilat clazy pe clang-12 și am o problemă similară. Comanda „/usr/local/clazy/bin/clazy-standalone --version” sa încheiat cu codul de ieșire 127. /usr/local/clazy/bin/clazy-standalone: ​​eroare la încărcarea bibliotecilor partajate: libclang-cpp.so.12: nu se poate deschide fișierul obiect partajat: nu există un astfel de fișier sau director.
FROST SKIPPER avatar
drapel in
/usr/local/clang-12/lib/libclang-cpp.so.12 --version --> bash: /usr/local/clang-12/lib/libclang-cpp.so.12: Permisiune refuzată
Puncte:0
drapel in

Da bine. Așa că i-am dat o șansă Linux și aceasta este o problemă fundamentală printre multe altele pe care comunitatea nu a rezolvat-o.

Dacă construiți programe, nu primiți erori, dar bibliotecile partajate nu funcționează și aveți toate pachetele necesare instalate. Există o soluție. Instalează Windows, chiar funcționează și nu trebuie să pierzi timpul cu această scuză tristă a unui sistem de operare.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.