Puncte:1

/usr/include/x86_64-linux-gnu/sys conține doar linkuri simbolice întrerupte

drapel gb

Sistemul meu de operare este Ubuntu 20.04.

Problema inițială: încercam să rulez un „make” și am primit erori precum:

/usr/include/sys/cdefs.h:453:10: eroare fatală: bits/long-double.h: Nu există un astfel de fișier sau director
  453 | #include <bits/long-double.h>
      | ^~~~~~~~~~~~~~~~~~~~

Am încercat inițial să rezolv acest lucru căutând un antet echivalent (de obicei în /usr/include/x86_64-linux-gnu) și adăugarea unei legături simbolice. Arbitrul inițial era de obicei de la /usr/include/c++/9/<indiferent>. După vreo duzină dintre acestea, păreau să lipsească o grămadă de antete /usr/include/sys și fiecare părea să aibă un echivalent în /usr/include/x86_64-linux-gnu/sys. Apoi am încercat să creez un link simbolic al formularului

/usr/include/sys --> /usr/include/x86_64-linux-gnu/sys

Nu știu dacă asta a fost cauza problemelor mele ulterioare, dar probabil că nu a fost cea mai strălucită idee a mea. Mi s-a părut că mă întorc în cerc, pentru că unele dintre erorile anterioare de antet au revenit. Am decis să reinstalez libc6 și libc6:i386. După aceea, toate „anteturile” din /usr/include/x86_64-linux-gnu/sys au fost legături simbolice marcate ca rupte. Când am verificat proprietățile câtorva, a devenit clar de ce... toate erau link-uri către ei înșiși!!

Poate cineva să-mi dea un indiciu despre cum să anulez daunele și să obțin o configurație care să ruleze cu succes Makefile?

Puncte:3
drapel zw

Nu trebuie să atingeți manual structura fișierelor în locurile în care fișierele sunt controlate de APT. Eliminați și anulați toate astfel de intervenții manuale. Nu face asta data viitoare!

Trebuie să (re)instalați relevante pachet de dezvoltare care deține biţi/lung-dublu.h fişier de

sudo apt-get install --reinstall libc6-dev

Dacă aveți daune masive, reinstalați toate pachetele care oferă includes folosind comenzile de mai jos:

sudo apt-get install --reinstall $(dpkg -l | grep ^ii | grep "\-dev" | awk "{print $2}")
sudo apt-get install --reinstall $(dpkg -S /usr/include/ | sed 's/,//g' | sed 's/: \/usr\/include//g')
drapel gb
Reinstalarea libc6-dev a remediat anteturile lipsă din `/usr/include/x86_64-linux-gnu/sys`, dar încă primesc aceleași erori de realizare ca înainte, deoarece nu există un director numit `usr/include/sys`. Acesta a fost motivul pentru care am creat link-ul simbolic. (Bănuiesc că am greșit sintaxa.) După ce am citit această pagină [https://askubuntu.com/questions/1320971/about-files-in-usr-include-x86-64-linux-gnu] mi se pare că `usr/include/sys` ar trebui să existe. În mod clar, trebuie să fac mai multe cercetări în acest sens.
N0rbert avatar
drapel zw
Întrebarea mea principală aici - ce aplicație încercați să „faceți” în întrebarea originală de mai sus? Puteți, vă rog, să distribuiți un link către sursele sale?
drapel gb
Scuze pentru răspunsul târziu... Nu pot introduce codul aici. Motivul principal este că este un proiect intern pentru companie. Probabil că colegii mei s-ar supăra să spună ușor. Compania ne permite să alegem ce sistem de operare să folosim, iar ceilalți din echipă folosesc alte variante de Linux sau folosesc Windows. Poate că trebuie să încerc abordarea mai complexă pe care o descrieți, dar înainte de a o face vreau să îmi dau seama exact ce face. Vă voi anunța ce se întâmplă.
drapel gb
În cele din urmă, nu a fost nevoie să folosesc abordarea dpkg/grep/awk/sed. Reinstalarea libc6-dev a fost suficientă. Au existat, de fapt, probleme cu Makefile din ramura depozitului git pe care o folosea.

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.