abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    dnes 00:11 | Nová verze

    Open source modální textový editor Helix, inspirovaný editory Vim, Neovim či Kakoune, byl vydán ve verzi 25.07. Přehled novinek se záznamy terminálových sezení v asciinema v oznámení na webu. Detailně v CHANGELOGu na GitHubu.

    Ladislav Hagara | Komentářů: 0
    včera 20:44 | IT novinky

    Americký výrobce čipů Nvidia získal od vlády prezidenta Donalda Trumpa souhlas s prodejem svých pokročilých počítačových čipů používaných k vývoji umělé inteligence (AI) H20 do Číny. Prodej těchto čipů speciálně upravených pro čínský trh by tak mohl být brzy obnoven, uvedla firma na svém blogu. Americká vláda zakázala prodej v dubnu, v době eskalace obchodního sporu mezi oběma zeměmi. Tehdy to zdůvodnila obavami, že by čipy mohla využívat čínská armáda.

    Ladislav Hagara | Komentářů: 0
    včera 17:22 | Nová verze

    3D software Blender byl vydán ve verzi 4.5 s prodlouženou podporou. Podrobnosti v poznámkách k vydání. Videopředstavení na YouTube.

    Ladislav Hagara | Komentářů: 0
    14.7. 22:22 | Komunita

    Open source webový aplikační framework Django slaví 20. narozeniny.

    Ladislav Hagara | Komentářů: 0
    14.7. 16:11 | Komunita

    V Brestu dnes začala konference vývojářů a uživatelů linuxové distribuce Debian DebConf25. Na programu je řada zajímavých přednášek. Sledovat je lze online.

    Ladislav Hagara | Komentářů: 0
    14.7. 11:33 | IT novinky

    Před 30 lety, tj. 14. července 1995, se začala používat přípona .mp3 pro soubory s hudbou komprimovanou pomocí MPEG-2 Audio Layer 3.

    Ladislav Hagara | Komentářů: 26
    14.7. 10:55 | IT novinky

    Výroba 8bitových domácích počítačů Commodore 64 byla ukončena v dubnu 1994. Po více než 30 letech byl představen nový oficiální Commodore 64 Ultimate (YouTube). S deskou postavenou na FPGA. Ve 3 edicích v ceně od 299 dolarů a plánovaným dodáním v říjnu a listopadu letošního roku.

    Ladislav Hagara | Komentářů: 20
    13.7. 17:55 | Zajímavý projekt

    Společnost Hugging Face ve spolupráci se společností Pollen Robotics představila open source robota Reachy Mini (YouTube). Předobjednat lze lite verzi za 299 dolarů a wireless verzi s Raspberry Pi 5 za 449 dolarů.

    Ladislav Hagara | Komentářů: 17
    11.7. 16:44 | Komunita

    Dnes v 17:30 bude oficiálně vydána open source počítačová hra DOGWALK vytvořena v 3D softwaru Blender a herním enginu Godot. Release party proběhne na YouTube od 17:00.

    Ladislav Hagara | Komentářů: 3
    11.7. 14:55 | Humor

    McDonald's se spojil se společností Paradox a pracovníky nabírá také pomocí AI řešení s virtuální asistentkou Olivii běžící na webu McHire. Ian Carroll a Sam Curry se na toto AI řešení blíže podívali a opravdu je překvapilo, že se mohli přihlásit pomocí jména 123456 a hesla 123456 a získat přístup k údajům o 64 milionech uchazečů o práci.

    Ladislav Hagara | Komentářů: 16
    Jaký je váš oblíbený skriptovací jazyk?
     (59%)
     (26%)
     (7%)
     (3%)
     (1%)
     (1%)
     (4%)
    Celkem 398 hlasů
     Komentářů: 16, poslední 8.6. 21:05
    Rozcestník

    Dotaz: make install - instalace na určené místo

    7.4.2007 19:32 Jarda
    make install - instalace na určené místo
    Přečteno: 3918×
    Ahoj, potreboval bych poradit s make install. Potrebuji zkompilovat program a nainstalovat ho do umisteni, ktere zadam. Kdys napisu make install tak by program make mel hledat cil install v souboru makefile a zkopirovat soubory do cilovych adresaru. Ale, kdyz otevru makefile a hledam cil install tak tam proste neni. Je tam pouze
    NORMAL_INSTALL = :
    PRE_INSTALL = :
    POST_INSTALL = :

    Diky za rady.

    Odpovědi

    7.4.2007 20:01 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: make install
    Tohle se tak obecně říct nedá. Doporučuji dokumentaci k tomu programu, tam by mělo být popsáno, jak se má přeložit a nainstalovat.
    7.4.2007 20:20 Jack Hokus | skóre: 34 | blog: LostHeaven
    Rozbalit Rozbalit vše Re: make install
    Dobrý večer,

    je to už nějaký čas co jsem se pokoušel něco kompilovat, ale mám pocit, že existuje proměnná prefix, která dělá právě to, co potřebujete.

    Mělo by se to zadávat ve tvaru ./configure --prefix=cílový adresář

    S pozdravem

    Jack Hokus
    http://www.jackhokus.cz/
    7.4.2007 21:28 pakanek | skóre: 28 | Vyškov
    Rozbalit Rozbalit vše Re: make install
    Pokud program nepouziva skript configure a neni mozno pouzit --prefix= tak muzes zkusit neco jako:

    make install DESTDIR=/work/builds
    make install ROOT=/work/builds
    make install prefix=/work/builds/usr

    Tusim ze treba cpufrequtils nema configure.
    Všechno dobré je pro něco zlé.
    7.4.2007 21:51 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: make install
    Ale tohle jsou všechno jen konvence. Podstatné je, co je napsáno v tom Makefile.
    7.4.2007 22:30 Jarda
    Rozbalit Rozbalit vše Re: make install - instalace na určené místo
    Diky za rady, fungovaly tyto prikazy ./configure --prefix=cilovy adresar make install DESTDIR=cilovy adresar make install prefix=cilovy adresar

    Jestli tomu dobre rozumim:

    make DESTDIR=cilovy adresar to znamena ze program make najde v makefile promenou DESTDIR a zmeni ji?

    kdyz otevru makefile a hledam promenou DESTDIR tak ji najdu nekde uprostred makefile, nemela by tato promenna mit deklaraci?

    Ale vubec netusim co znamena prefix.

    Dik. Jarda.
    7.4.2007 22:34 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: make install - instalace na určené místo
    'make var=value' provede totéž, co make, pouze make proměnné var přiřadí hodnotu value. A znovu: zda bude fungovat DESTDIR, prefix, něco jiného nebo vůbec nic, to záleží jen a jen na tom, co je napsáno v tom konkrétním Makefile.
    7.4.2007 23:15 trekker.dk | skóre: 72
    Rozbalit Rozbalit vše Re: make install - instalace na určené místo
    Ale vubec netusim co znamena prefix.
    make install instaluje soubory adresářů, které jsou podadresáři prefixu.

    Když nebudeš prefix nijak zadávat, výchozí hodnota je většinou /usr nebo /usr/local. Takže make install bude instalovat do /usr/bin, /usr/share atd.

    Když prefix změníš třeba na /home/jarda, tak se soubory toho stejného programu umístí do /home/jarda/bin a /home/jarda/share

    Pokud jsi tedy použil ty příkazy tak, jak jsi je vypsal, tj.
    $ ./configure --prefix=cil
    $ make install DESTDIR=cil
    $ make install prefix=cil
    tak zadávání parametrů pro make install bylo s největší pravděpodobností zbytečné. Poté, co ti configure vygeneruje Makefile, můžeš se přesvědčit, že DESTDIR (nebo jinak pojmenovaná proměnná, která dělá totéž) je nastavena podle toho "cil" v --prefix=cil a nemusíš ji tedy nastavovat znovu na to samé.
    Quando omni flunkus moritati
    7.4.2007 23:43 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: make install - instalace na určené místo
    make install instaluje soubory adresářů, které jsou podadresáři prefixu.

    Ne. 'make install' provede příkazy, které jsou v makefile uvedeny na řádcích následujících za tím, který začíná 'install:'.

    8.4.2007 00:32 Jarda
    Rozbalit Rozbalit vše Re: make install - instalace na určené místo
    Jenomze ja v makefile nemam install: Dik Jarda.
    8.4.2007 02:04 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: make install - instalace na určené místo
    Pokud ho tam nemáte, pak vám make skončí s chybou "No rule to make target `install'. Stop." Pokud se tak nezachová, pak ho tam máte - i když o něm možná nevíte.
    8.4.2007 00:40 trekker.dk | skóre: 72
    Rozbalit Rozbalit vše Re: make install - instalace na určené místo
    Ukaž mi Makefile, který na make install nenainstaluje přeložený program a já ti za každý ukážu (z lenosti jenom) dva, které to dělají.

    Že si vždycky, když někdo vymýšlí jednoduchý příklad, najdeš čas na tu práci, abys ukázal, že ten příklad je úplně špatně (viz nedávno diskuze o load avg), načež přidáš ještě něco, co je sice naprosto pravdivé, ale taky často úplně k ničemu. Nejsi náhodou matematik?

    Ano, je pravda, že 'make install' provede příkazy, které jsou v makefile uvedeny na řádcích následujících za tím, který začíná 'install:' a možná tě to překvapí, ale vím to taky. Jenom bych řekl, že TAHLE informace je pro člověka, který se ptá na to, jak nainstalovat program do specifického adresáře, úplně nahouby.
    Quando omni flunkus moritati
    8.4.2007 02:02 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: make install - instalace na určené místo

    Sice je pravda, že 'make install' většinou nainstaluje přeložený program (a viděl jsem i dost projektů, kde to tak není), ale rozhodně není pravda, že každý makefile respektuje DESTDIR (a určitě bych si nevsadil na to, že ho respektuje většina) nebo že každý respektuje proměnnou prefix (nehledě na to, že i u těch, u kterých ano, tato proměnná znamená něco poněkud jiného).

    Že si vždycky, když někdo vymýšlí jednoduchý příklad, najdeš čas na tu práci, abys ukázal, že ten příklad je úplně špatně (viz nedávno diskuze o load avg)

    Pokud bude kdokoli tazatelům tlačit do hlavy věci, které nejsou pravda, a já si toho všimnu, budu se snažit jeho zavádějící tvrzení uvést na pravou míru. Může se vám to nelíbit, můžete proti tomu protestovat, ale to je asi tak všechno, co s tím můžete dělat.

    Ano, je pravda, že 'make install' provede příkazy, které jsou v makefile uvedeny na řádcích následujících za tím, který začíná 'install:' a možná tě to překvapí, ale vím to taky. Jenom bych řekl, že TAHLE informace je pro člověka, který se ptá na to, jak nainstalovat program do specifického adresáře, úplně nahouby.

    A právě v tom se naše názory diametrálně liší. Protože vím, že zdaleka ne každý projekt respektuje DESTDIR nebo prefix (nemluvě o tom, že každá z těch proměnných znamená něco úplně jiného - i tam, kde fungují), považuji za podstatně užitečnější tazateli sdělit, jak se věci skutečně mají, ne jak to možná funguje. Tedy že je potřeba se podívat do dokumentace a není-li tam odpověď, pak do makefile. Musím-li si vybrat mezi jednoduchou a správnou odpovědí, volím tu správnou.

    8.4.2007 02:28 trekker.dk | skóre: 72
    Rozbalit Rozbalit vše Re: make install - instalace na určené místo
    ...ale rozhodně není pravda, že každý makefile respektuje DESTDIR (a určitě bych si nevsadil na to, že ho respektuje většina)...
    Ukaž mi, prosím, něco, co jsem napsal a ty sis to takto vyložil.
    ...nebo že každý respektuje proměnnou prefix...
    Předpokládám, že pokud configure umožňuje zadat --prefix, pak předpokldáám, že vytvořený Makefile bude tuto hodnotu nějakým způsobem respektovat. Jinak by tam ta volba byla poněkud zbytečná. Abych pravdu řekl, pokud by to tak nebylo a make install instaloval někam úplně jinam, než bylo prefixem zadáno, považoval bych to za chybu.

    K tomu zbytku... Já považuji za podstatné, jestli je otázka dobře zodpovězena. Tazatel se ptal, jak nainstalovat program do zadaného adresáře a bylo mu to zodpovězeno: "většinou funguje ./configure --prefix=cil" Ano, pokud by to nezabralo, bylo by potřeba další řešení, ale ono to zabralo. Vědět, jak se věci skutečně mají je v tomto případě vcelku zbytečné a tazatel si to může zjistit, až to bude opravdu potřebovat. Nelze začít vstřebáním všech informací.
    Tedy že je potřeba se podívat do dokumentace a není-li tam odpověď, pak do makefile.
    Pokud program používá configure, většinou je vygenerovaný Makefile příliš složitý na to, aby se v něm začátečník na první pohled vyznal. Takže stráví spoustu času bádáním nad Makefile, aby nakonec zjistil, že měl bádat nad configure.

    Ano, kdybych na dotaz "make install - instalace na určené místo" odpovídal první, řeknu tazateli, ať hledá. Když už ale odpovídám na otázku, co dělá --prefix=cil u configure, tak tvrdím, že odpověď "způsobí, že make install nainstaluje program do adresáře cil" bude v 99% případech správná.
    Quando omni flunkus moritati
    8.4.2007 03:13 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: make install - instalace na určené místo
    Předpokládám, že pokud configure umožňuje zadat --prefix, pak předpokldáám, že vytvořený Makefile bude tuto hodnotu nějakým způsobem respektovat.

    To je velmi optimistický předpoklad. Je-li configure vygenerován autoconfem, nabízí volbu --prefix automaticky, a nejspíš by nebylo úplně triviální mu to rozmluvit. To, zda se zadaný prefix nějakým způsobem odrazí v chování výsledného Makefile, už ale závisí čistě na dobré vůli autora Makefile.in

    Pokud program používá configure, většinou je vygenerovaný Makefile příliš složitý na to, aby se v něm začátečník na první pohled vyznal.

    Zdaleka ne každý projekt, kde se vyskytuje configure, používá automake. Používá-li pouze autoconf (a z toho, co jsem viděl, bych si troufal odhadovat, že to je častější), spočívá generování Makefile pouze v substitucích hodnot za zvolené symboly. Takže s tou přehledností to není zase tak hrozné.

    Když už ale odpovídám na otázku, co dělá --prefix=cil u configure, tak tvrdím, že odpověď "způsobí, že make install nainstaluje program do adresáře cil" bude v 99% případech správná.

    O tom by se dalo polemizovat. Ale museli bychom začít tím, že bychom si upřesnili, co vlastně znamená výraz "nainstaluje program do adresáře cil". Protože zatím tazatel nedal najevo, zda tím myslí to, co má obvykle na svědomí --prefix, nebo to, co má často na svědomí DESTDIR - a nebo také něco úplně jiného. Mimochodem, on tazatel vlastně dosud ani nepotvrdil, že ten projekt (dosud nebylo odtajněno jeho jméno) vůbec používá nějaký configure skript, natož že byl generován autoconfem.

    8.4.2007 12:13 Ash
    Rozbalit Rozbalit vše Re: make install - instalace na určené místo
    Troufnul bych si z logiky věci a kontextu odhadnout, že tam jenom chybělo "do". make install instaluje soubory adresářů, které jsou podadresáři prefixu. -> make install instaluje soubory do adresářů, které jsou podadresáři prefixu.

    Ono nakonec ani to tvrzení že "make install provede příkazy které..." není pravdivé, pokud je pominuta omezující podmínka, že to platí jen pro řádky začínající tableátorem ;)
    8.4.2007 12:24 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: make install - instalace na určené místo
    Neupřesňoval jsem, kolik následujících řádků to bude a jak se poznají. Kdybyste chtěl hledat nepřesnosti, spíš byste se mohl zabývat možností, že target install bude mít nějaké prerequisities.
    8.4.2007 00:15 Jarda
    Rozbalit Rozbalit vše Re: make install - instalace na určené místo
    Diky za reakci,

    prikazy
    $ ./configure --prefix=cil
    $ make install DESTDIR=cil
    $ make install prefix=cil

    jsem nezadaval po sobe, spatne jsem se vyjadril. Zkousel jsem je jednotlive.

    Diky za vysvetleni prefix.

    Jenom mi porad neni jasne, kdyz otevru makefile a podivam se na zacatek tak vidim deklaraci promennynch napr:

    build_triplet = i686-pc-linux-gnu

    ocekaval bych ze tam bude uvedeno neco jako

    DESTDIR = cil ale nic takoveho tam neni, az nekde uprostred je $(DESTDIR) a nejake prikazy pokud jsem to pochopil tak to znamena ze promenna $(DESTDIR) je uz nekde deklarovana, ale kde?

    no treba toto, jsem na zacatku makefile:

    pkgdatadir = $(datadir)/irssi

    do promenne pkgdatadir se ulozi obsah promenne $(datadir)/irrssi, ale odkud se vezme promena $(datadir) kdyz jeste nebyla deklarovana v makefile.

    DIK. Jarda.
    8.4.2007 03:20 Michal Kubeček | skóre: 72 | Luštěnice
    Rozbalit Rozbalit vše Re: make install - instalace na určené místo
    Pokud proměnné nepřiřadíte hodnotu, make se chová, jako by to byl prázdný řetězec. Proměnná DESTDIR - je-li v makefilech použita obvyklým způsobem - se nejčastěji používá při vytváření balíčků. Specifikuje základní adresář, který se přidá před všechny cesty, kam se instalují jednotlivé soubory, ale celý projekt je pořád přeložen a nakonfigurován tak, jako by tam žádný DESTDIR nebyl. Prostě takový "falešný kořenový adresář". Takže prázdný řetězec je obvyklá a pro normální 'make install' (instalace pro přímé použití) také správná hodnota.
    8.4.2007 11:45 Jarda
    Rozbalit Rozbalit vše Re: make install - instalace na určené místo
    Uz to chapu. Diky Jarda.

    Založit nové vláknoNahoru

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

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.