Sárga levél - cikkek - megoldás a problémák a végrehajtás csapatok

Előfordul, hogy a szokásos sorrend nem működik összeállításához a programot. Úgy kezdődik, hogy megjelenítse a különböző hibák és állítja össze a programot. Mit kell tenni? Ez a cikk leírja, hogyan lehet megszabadulni a sok gyakori hibákat.

Megjegyzés: Ez a cikk feltételezi, hogy már van egy bizonyos mennyiségű tudást a munka területén a parancssorban, és tudja, hogyan kell dolgozni a disztró csomagkezelőjével.

Hibák a ./configure parancs

Hibákat a make parancs

Hibák a make install parancsokat

Hibák a ./configure parancs

Az alábbi lista tartalmaz néhány, a leggyakoribb hiba, hogy tud adni Kamanda ./configure. Hibák megrendelt előfordulásának gyakorisága. Először is, a leggyakoribb. A dolgok között (és) nem kötelező, lehet, hogy nem jelenik meg megjegyzések. VAGY, vastag dőlt betűkkel azt jelenti, hogy néhány hibát is egy megoldás. A szöveg között <и> Ez azt mutatja, a vonal típusát, amelyet meg kell jelennie ezen a helyen.

(Beállítás :) (hiba :) (Ltsomeversiongt (vagy magasabb)) nem található. (Kérjük, ellenőrizze a telepítését!) OR ellenőrzése . (Konfigurálása :) (error :) nem található. OR (beállítani :) (hiba :) ( (Vagy újabb)) van szükség, hogy létrejöjjön

Ez általában azt jelenti, hogy a -dev vagy -devel verziója a csomag, amely az úgynevezett nincs telepítve a számítógépre. A csomagkezelőt használja a disztribúció (vagy bármely más módja, hogy megtalálják, és a telepítésnél), hogy megtalálja a csomag és telepíteni, ha lehetséges, vagy -dev -devel változata. Ha a -dev vagy -devel verziója már telepítve van, vagy nem suschechtvuet, nézd meg a verzió már telepítve van. Ez viszonylag új? Ha ez kisebb, mint , próbálja frissíteni a csomagot. Ha a frissítés csomag nem lehetséges, akkor megpróbálja lefordítani egy változata MTAP programot. A régebbi verziók jellemzően régebbi verziói könyvtárak és programok összeállításához szükséges.

(Konfigurálása :) (error :) nem találja header (fájl) .h OR (configure :) (hiba :) (header) (fájl) .h hiányzik! VAGY

A configure script nem találja a .h szükséges fájl összeállítása. Ez a hiba hasonló az előzőhöz, amelyben meg kell telepíteni, vagy -devel -dev verziója a csomag. Általában azonban nem világos, hogy milyen csomagot telepíteni kívánt megoldani ezt a problémát, hiszen a Ez lehet nagyon gyakori név. Próbáljon meg keresni az internetet .h, hogy megtalálják a csomagot, hogy ez a fájl található, majd telepítse ezt a csomagot (és -dev vagy -devel verzió ha lehetséges) a csomagkezelő segítségével a forgalmazás.

(Konfigurálása :) (error :) nem elfogadható CC találhatók

Ön használja telepíteni a gcc fordító, mint a CC környezeti változó hiányzik, vagy nincs telepítve. Ügyeljen arra, hogy a gcc csomag telepítése a csomagkezelő segítségével a forgalmazás. Ha ez a csomag nincs telepítve, telepítse. Ha telepítve van, próbálja ki a következő parancsot:

Ha ez működik, akkor adja hozzá a parancsot a / etc / profile (a fájl, amely parancsokat végrehajtani, amikor a felhasználó bejelentkezik), és akkor nem kell beírni újra.

(Konfigurálása :) (error :) C ++ előfeldolgozó "/ lib / cpp" nem alapvető ellenőrzést

A csomag g ++ hiányzik vagy sérült. Használja használja a disztribúció csomagkezelő (vagy bármely más módja, hogy megtalálják, és a telepítésnél), hogy megtalálja a csomag g ++ és telepíteni. Ne felejtsük el, hogy néhány disztribúció, ez a csomag nem hívják g ++. Fedora, például a nevet használja gcc-c ++ -ban soem adattár yum. Ha nem találja g ++, próbálja keresni c ++, cpp vagy gcc.

(Konfigurálása :) (error :) C ++ előfeldolgozó "CC (-E)" nem alapvető ellenőrzést

Ezt a hibát az okozza, hogy egy furcsa „bug” egyes verziói libtool könyvtár, ami a configure script, hogy ellenőrizze az összes fordítóprogramok támogatást libtool. A legegyszerűbb megoldás - telepíteni g ++.

Hibákat a make parancs

Mivel a hibákat a teljesítményt a csapat általában, hogy nagyon sajátos, adok egy listát az alapvető dolog, hogy segíthet:

Ha egy programot fordítasz gcc 4 (használat gcc -dumpversion, hogy ezt kiderítsük), próbáld meg a régebbi változata a fordító. Először győződjön meg róla, hogy egy régebbi verzió. Ez általában megtalálható használja a következő parancsot:

Ha visszatér, valahogy így:

Használhatja gcc32 paranccsal fordíthatjuk le a programot a korábbi verziókban gcc. Ha a parancs nem tér vissza, mint egy string, használja a disztribúció csomagkezelő megtalálni és telepíteni a korábbi verziók a gcc (általában compat-gcc vagy GCC). A telepítés után kell állnia, hogy egy másik változata a gcc. Megtalálható az ls parancs. ./configure make a csapat, make és a make install kell használni a régebbi verziójú gcc Ön:

] $ CC = "/ usr / bin / gcc32" ./configure
[Rechosen @ localhost

] $ CC = "/ usr / bin / gcc32" make
[Rechosen @ localhost

] $ CC = "/ usr / bin / gcc32" make install

Természetesen a / usr / bin / gcc32 kell cserélni, amelyben Ön alternatív változata gcc.

Néha hibák oka egyszerű „bug” program. Próbálja meg letölteni a legfrissebb verziót (ez a cvs, svn, vagy más tároló, vagy töltse le a legújabb snapshot), és lefordítani, akkor talán ez a hiba már javítva.

Hiba make komadny is okozhatja, ha helytelen verziója szükséges könyvtár vagy program. Ez a probléma gyakran nagyon új, vagy nagyon régi csomagokat. Ellenőrizze a csomag függőségeket (ők obchno írt a honlapján a program), és összehasonlítani a verziószámát a verzió van telepítve a számítógépen (láthatod őket obchno segítségével disztribúció csomagkezelő). Ha a verziószám a rendszer több, mint ami meg van írva a honlapon, talán próbál összeállítani egy nagyon régi csomagot. Ha deysvitelno kell fordítani, próbálja meg telepíteni a régebbi változatai a függő paketov.Kak mást nebylo általában jobb keresni egy másik módja annak, hogy telepíteni ezt a csomagot, vagy keresni egy másik. Ha a verziószám a rendszerben kisebb, mint a honlapon, akkor próbálja meg frissíteni a megfelelő paket.Vy mozhetepoprobovat frissíti a szükséges könyvtár, vagy fordítsd idősebb vesiyu programmy.Tak ugyanazon ellenőrzés lehet már ezt a csomagot összeállítani avshego forgalmazás. A telepítés általában könnyebb, mint kijavítása fordításkor hibákat.

A másik dolog, hogy megpróbálja - a keresést az adott hibát az interneten. Ha nem talál valami hasznos, próbálja meg eltávolítani a dolgokat, mint sorszám (ez módosíthatja az új változat), a verziószámot (ez helyettesíthető egy csillaggal, ha az benne van a program neve) és a különleges karaktereket, például idézőjeleket, mivel befolyásolja a keresési szolgáltatást. Ön általában találni egy csomó információt levelezési listán. Néha úgy jön ki egy javítást, amely kijavítja a hibákat a forráskódot. Meg lehet alkalmazni sludeyuschim módon:

] $ Patch -Np1

Ne felejtsük el felragasztani a tapaszt, a jelenlegi kell lennie a forrás könyvtárat.

Hibák a make install parancsokat

Ezek a hibák általában könnyű megérteni, de még mindig írok róluk. Két leggyakoribb eset, hogy miért a make install parancs hibát jelez:

Nem kell root jogosultságokkal. Próbálja futtatni make install parancsot a sudo parancsot, vagy váltson át a root a su paranccsal. A sudo parancs használata a következő:

] $ Sudo make install

Arra kéri a jelszót; általában csak a saját jelszavával vagy a root jelszót. Akkor isplzovat su paranccsal, polpovatelem root:

Ez a parancs is kér egy jelszót, de ebben az esetben ez naobhodim root jelszót. Ha lesz a root, csak futtasd a make install.

A csomag, amit csak össze az a setup parancs. Ebben az esetben meg kell másolni a lefordított bináris fájlt a bin könyvtárban kézzel. Ha fut az ls parancs a forrás könyvtárban, a futtatható legyen világoszöld. Meg kell másolni a / usr / bin (vagy ha úgy tetszik, a / usr / local / bin) a következő parancsot:

] $ Cp / Usr / bin

Egyetértek azzal, hogy ez nem mindig a legegyszerűbb módja, de néha a fejlesztők nem töltik az időt, hogy megteremtse a setup parancs. Nem szabad haragudni rájuk erre: először is, mert hogy hasznos program számunkra.

Íme néhány további lehetséges problémákat és azok megoldásait:

Minden jól megy, de mikor írja a program nevét, hogy az éppen beállított, bash azt mondja, nem találja meg. Ez általában akkor fordul elő annak a ténynek köszönhető, hogy a make install készlet minden a / usr / local vagy a / opt /. Nézd meg a kimeneti make install: hol másolni a fájlokat? Próbálja dobvavit ezt a könyvtárat a PATH (az alábbi példa található a csomagban: / usr / local):

Ki kell cserélni a / usr / local / bin abba a könyvtárba, ahol telepítette a futtatható a csomag. Ha ez működik, ezt a sort a / etc / profile, így nem kell beírni, hogy minden alkalommal. By the way, akkor az ellenőrzés a hely, ahol a csomag telepítéséhez írja be a következő lehetőség, ha a configure script futtatása:

Változás a / usr könyvtárban vagy, ahova telepíteni szeretné a csomagot. Ne felejtsük el, hogy még csak egy előtag; bináris telepíti bele alkönyvtárban a könyvtár, a fejléc fájlokat a stb Például, ha a megadott előtag, bináris fájlok vannak telepítve a / usr / bin.

Szeretnék telepíteni egy nagyon régi verziója a csomag, de nem találom a forráskód az interneten. Még mindig van egy kis esély. Próbáld megtalálni az rpm csomagot fájl az a változat, amit akar, és töltse le a megfelelő fájlt a src rpm. Csomagolja ki az alábbiak szerint:

] $ Rpm2cpio | cpio -idv

Most már használhatja a forráskód kivont rpm fájl.