Portál AbcLinuxu, 8. června 2025 18:58


Dotaz: Rekompilace balíku končí hláškou No rule to make target 'install'

13.12.2005 14:21 Aleš Kapica
Rekompilace balíku končí hláškou No rule to make target 'install'
Přečteno: 610×
Odpovědět | Admin
Už si vážně připadám jako blázen. Každý pokus o rekompilaci balíku kdebase-3.4.3 pro debian amd64 končí následujícím:
/make[1]: Entering directory `/home/want/kompilace/kdebase-3.4.3/obj-x86_64-linux-gnu'
installing ./apidocs/
make[1]: Leaving directory `/home/want/kompilace/kdebase-3.4.3/obj-x86_64-linux-gnu'
dh_installdirs -pkdebase 
dh_installdirs -pkdebase-data 
dh_installdirs -pkdebase-doc 
dh_installdirs -pkdebase-doc-html 
dh_installdirs -pxfonts-konsole 
( set -e; \
        tmpf=`mktemp debian/versions.XXXXXX`; \
        perl debian/cdbs/versions.pl >$tmpf; \
        for p in kdebase kdebase-data kdebase-doc kdebase-doc-html xfonts-konsole; do \
            cat $tmpf >>debian/$p.substvars; \
        done; \
        rm -f $tmpf )
make: *** No rule to make target `install', needed by `binary/kdebase'.  Stop.
(Vybral jsem pochopitelně jen poslední řádky na kterých to končí). Přitom vše se jeví zkompilované. Chybí někde něco v control, nebo rules? Pokud jo, tak jak je možné, že originální binární balíky zkopilovat šly?
Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

13.12.2005 14:26 mike
Rozbalit Rozbalit vše Re: Rekompilace balíku končí hláškou No rule to make target 'install'
Odpovědět | | Sbalit | Link | Blokovat | Admin
v souboru Makefile neni zadny target "install", proto, kdyz se zavola make install, tak make zahlasi "No rule to make target 'install'". Nezbyva ti nic jineho, nez prekopirovat binarky rucne.
13.12.2005 14:36 Aleš Kapica
Rozbalit Rozbalit vše Re: Rekompilace balíku končí hláškou No rule to make target 'install'
No jo, pak bych ale protom rád věděl, jakým záhadným způsobem se podařilo zkompilovat originální binárky? Manuální překopírování nic neřeší, protože celou rekompilaci jsem prováděl právě kvůli tomu abych ošetřil chybu v závislostech (kde je dbus-qt-1 zatímco já používám libdbus-qt-1).
13.12.2005 14:45 mike
Rozbalit Rozbalit vše Re: Rekompilace balíku končí hláškou No rule to make target 'install'
No kompilace probehne v pohode, protoze pro ni targety existujou. Pak kdyz je vse zkompilovane, tak make zpracovava pravidla pro target install (vetsinou je to tak delane, ale nemusi bejt:) ). No a jelikoz target install neexistuje, nepodari se nainstalovat balik (cela procedura make all vrati chybu, i kdyz dilci procedury pro kompilaci probehli uspesne). Zkus se podivat na manovou stranku pro make, pripadne nejaky manual.
13.12.2005 15:00 Aleš Kapica
Rozbalit Rozbalit vše Re: Rekompilace balíku končí hláškou No rule to make target 'install'
To všechno mi je jasné. Problém tkví v tom, že mi není jasné, jak za takových okolností mohly být zkompilované, resp. vytvořené originální binární balíky které jsou k dispozici. Jejich sestavení přeci muselo končit na stejném bodě.
13.12.2005 15:05 mike
Rozbalit Rozbalit vše Re: Rekompilace balíku končí hláškou No rule to make target 'install'
ted nevim co myslis "originalnimi binarnimi baliky", pokud tim myslis balik s binarkama, tak ten zadnou kompilaci nepotrebuje, tudiz nemusi se volat make, ale nejaky skript, ktery zavola cp. Jestli to dobre chapu, tak jsi nainstaloval nejaky binarni balik, a ted sis stahnul src balik (nebo jak je ta terminologie v Debianu) a chces ho nainstalovat. Jenze rozdil mezi binarnim a src balikem je ze src obsahuje zdrojaky, ktere je potreba zkompilovat a pak nekam nakopirovat a binarni balik obsahuje binarky, ktere se jenom nakopirujou na spravna mista.
13.12.2005 15:09 mike
Rozbalit Rozbalit vše Re: Rekompilace balíku končí hláškou No rule to make target 'install'
pokud ovsem tim "originalnim src balikem" myslis balik, ktery sestavil spravce toho baliku, pak je to mozne tak, ze ho sestavil a neotestoval, zda je vse vporadku :)
13.12.2005 15:35 Aleš Kapica
Rozbalit Rozbalit vše Re: Rekompilace balíku končí hláškou No rule to make target 'install'
Ne, ne a ještě jednou ne. Aby sis to nevyložil zle, jsem rád že se mi snažíš pomoci, ale věci se mají trochu jinak než myslíš.
"Originální binární balíky" to jsou ty které je možno nainstalovat přímo z debianovských zdrojů instalačních balíků. Ty však někdo musel vytvořit, že? A obvykle je tomu tak, že se zdrojový balík tj. takový ze kterého se provádí kompilace, vytváří během sestavení binárních balíků. O co jde.. Pokud v originálním balíku chybí parametr pro instalaci, který je nezbytně nutný pro instalaci balíku, pak to znamená že..
..se při sestavení musí zadat nějaký parametr (ovšem netuším jaký), nebo někde něco chybí co se během procesu sestavení balíku využívá.
Vím že se chyba v závislostech dá odrbat vytvořením prázdného balíku co uspokojí tu touhu po závislostech - ovšem to jsem zatím nedělal tudíž nevím jak na to.
13.12.2005 15:45 mike
Rozbalit Rozbalit vše Re: Rekompilace balíku končí hláškou No rule to make target 'install'
Dobra

1) nemyslim, ze je nutny (ani bych nerekl, ze se to tak dela) postup zdrojaky -> src balik -> binarni balik, spis je postup zdrojaky -> src balik a paralelne src -> kompilace binarek -> binarni balik.

2) mozna, ze jsem nepochytil, o co ti prave jde. Pokud ti vadi, ze ten balik je prasacky udelan nebo to, ze se ti ho nedari nainstalovat. Pokud se ti jedna jenom o instalaci, tak do Makefilu pripis

install:
    ./muj_instalacni_skript
kde muj_instalacni_skript je skript, ktery si vytvoris, aby prekopiroval binarky, popr. zmenil nejake konfiguraky.
13.12.2005 16:10 Aleš Kapica
Rozbalit Rozbalit vše Re: Rekompilace balíku končí hláškou No rule to make target 'install'
To by vysvětlovalo leccos. Díky za tvůj čas.

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.