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 15:11 | Komunita

    Na webu konference Den IPv6, která se konala 4. června v Národní technické knihovně v pražských Dejvicích, jsou nyní k dispozici všechny prezentace (v PDF) a jejich videozáznamy. Organizátory konference byly i letos sdružení CESNET, CZ.NIC a NIX.CZ.

    VSladek | Komentářů: 0
    dnes 13:11 | Nová verze

    Byla vydána nová verze 9.1.0 správce sbírky fotografií digiKam (Wikipedie). Přehled novinek i s náhledy v oficiálním oznámení (NEWS). Vypíchnout lze vylepšené vyhledávání nebo podporu Pixel Motion Photos. Nejnovější digiKam je ke stažení také jako balíček ve formátu AppImage. Stačí jej stáhnout, nastavit právo ke spuštění a spustit.

    Ladislav Hagara | Komentářů: 0
    dnes 11:44 | Pozvánky

    Přihlaste svou přednášku na další ročník konference LinuxDays, který proběhne 3. a 4. října na FIT ČVUT v pražských Dejvicích. Příjem témat poběží do konce prázdnin, pak proběhne veřejné hlasování a následně sestavení programu.

    Petr Krčmář | Komentářů: 2
    dnes 04:44 | Nová verze

    Byla vydána nová verze 2.4.68 svobodného multiplatformního webového serveru Apache (httpd). Řešeno je mimo jiné 13 zranitelností.

    Ladislav Hagara | Komentářů: 2
    včera 22:44 | IT novinky

    Apple na své vývojářské konferenci WWDC26 (Worldwide Developers Conference, keynote) představil řadu novinek. Vypíchnout lze novou generaci Apple Intelligence a zbrusu novou Siri, která dostala název Siri AI. Kvůli Aktu o digitálních trzích (DMA) však funkce Siri AI nebudou v systémech iOS 27 a iPadOS 27 k dispozici uživatelům v Evropské unii.

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

    Byla vydána nová verze 1.18.0 distribučního frameworku Flatpak (Wikipedie), tj. technologie umožňující distribuovat aplikace v podobě jednoho instalačního souboru na různé linuxové distribuce a jejich různá vydání. Přehled novinek na GitHubu. Vypíchnout lze podporu rozhraní /dev/kfd pro výpočty na kartách AMD (AMDKFD).

    Ladislav Hagara | Komentářů: 0
    včera 20:44 | Nová verze

    aMule (Wikipedie), tj. multiplatformní klient pro peer-to-peer sdílení souborů pro sítě eD2k and Kademlia, byl po více než pěti letech od vydání poslední verze 2.3.3, vydán v nové major verzi 3.0.0 (GitHub). S novou webovou stránkou a dokumentací.

    Ladislav Hagara | Komentářů: 5
    včera 12:55 | IT novinky

    Byly vyhlášeni vítězové a zveřejněny vítězné zdrojové kódy (YouTube, GitHub) již 29. ročníku soutěže International Obfuscated C Code Contest (IOCCC), tj. soutěže o nejnepřehlednější (nejobfuskovanější) zdrojový kód v jazyce C.

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

    Evropská komise předložila evropský balíček pro technologickou suverenitu, tedy soubor opatření, která mají posílit kapacity EU v oblasti polovodičů, umělé inteligence, cloudu a open source. To Evropě pomůže stát se lídrem v oblasti umělé inteligence, posílit její digitální autonomii a vytvářet podmínky pro udržitelnější digitální budoucnost.

    Ladislav Hagara | Komentářů: 15
    včera 04:44 | Nová verze

    OpenCV (Open Source Computer Vision, Wikipedie), tj. open source multiplatformní knihovna pro zpracování obrazu a počítačové vidění, byla vydána v nové major verzi 5.

    Ladislav Hagara | Komentářů: 0
    Které desktopové prostředí na Linuxu používáte?
     (11%)
     (8%)
     (2%)
     (15%)
     (31%)
     (3%)
     (6%)
     (3%)
     (15%)
     (26%)
    Celkem 1856 hlasů
     Komentářů: 30, poslední 3.4. 20:20
    Rozcestník


    Dotaz: Position dependent code a sdílená knihovna

    1.3.2013 23:09 Logik
    Position dependent code a sdílená knihovna
    Přečteno: 497×
    Mám knihovnu (64bit linux), zkompilovanou bez přepínače -fPIC. Zdrojáky k ní nemám. Chtěl bych z ní udělat pomocí f2py rozšíření do pythonu: to je ale sdílená knihovna a tedy použití -fPIC vyžaduje. Neznáte někdo nějakou cestu, jak to obejít?

    Napadlo mě např. nějaká transformace knihovny na PIC code? Nebo nějakej PIC wraper a vhodná kombinace přepínačů linkeru tak, by to šlo přeložit?

    Jediné co mě napadlo je to spustit v podprocesu, ale vzhledem k tomu, že to je řešič a jako argument tomu lezou desítky megabajtů, tak bych se rád vyhnul zbytečný duplikaci obsazený paměti a rád bych to spustil ve stejnym adresnim prostoru.

    Odpovědi

    1.3.2013 23:20 Logik
    Rozbalit Rozbalit vše Re: Position dependent code a sdílená knihovna
    PS: Ještě jsem našel toto, http://eli.thegreenplace.net/2011/11/11/position-independent-code-pic-in-shared-libraries-on-x64/ ale mimo to, že netuším, jestli by python s takovouto knihovnou správně kooperoval, tak mi to odmítá můj soubor zkompilovat.
    1.3.2013 23:20 Logik
    Rozbalit Rozbalit vše Re: Position dependent code a sdílená knihovna
    PS: Ještě jsem našel toto, http://eli.thegreenplace.net/2011/11/11/position-independent-code-pic-in-shared-libraries-on-x64/ ale mimo to, že netuším, jestli by python s takovouto knihovnou správně kooperoval, tak mi to odmítá můj soubor zkompilovat a hlásí to:

    internal compiler error: in cselib_hash_rtx, at cselib.c:741 Please submit a full bug report, with preprocessed source if appropriate.
    3.3.2013 15:48 graviton
    Rozbalit Rozbalit vše Re: Position dependent code a sdílená knihovna
    Jak taková "knihovna" vypadá? Obávám se, že bez podstatného upřesnění se nikdo nechytne.

    Jak to tady čtu, tak f2py popadne zdrojáky ve fortranu a vygeneruje z nich sdílenou knihovnu (je to tento případ? asi ne, že?). Strkat do f2py sdílenou knihovnu se mi zdá poněkud proti proudu.
    4.3.2013 00:26 Logik
    Rozbalit Rozbalit vše Re: Position dependent code a sdílená knihovna
    Knihovna je prostě balíček objektových (.o) souborů zabalených pomocí ar do .a souboru.

    S f2py ses trefil přesně - právě on dělá tu sdílenou knihovnu a já v ideálním případě potřebuju nějakou kombinaci přepínačů tak, aby do ní uměl naliknovat i ten position dependent code z té knihovny, popř. nějakou transformaci té knihovny tak, aby byla PIC.

    Konkrétně jde o jadamilu řešič: http://homepages.ulb.ac.be/~jadamilu/ a já hledám nějaký rozumný způsob, jakým volat z Pythonu (2.5), popř. Cythonu ten řešič. Varianta, že uložím zadání do souboru a spustím child process tu sice je, ale moc mě neláká.

    Na sdílenou knihovnu jsem se ptal, protože pokud udělám sdílenou knihovnu, tak tu už nějak z pythonu zavolám (přinejhorším tak, že z Cythonu zavolám C kód volající knihovnu), popř. z toho jak se dělá vyšaším, jaký parametry procpat do f2py, aby to jelo.

    Tak díky moc za pomoc.
    4.3.2013 07:16 graviton
    Rozbalit Rozbalit vše Re: Position dependent code a sdílená knihovna
    http://www.technovelty.org/c/position-independent-code-and-x86-64-libraries.html <- nějaké další vysvětlivky k té sdílené knihovně - moc nadějí bych do toho nevkládal.

    Varianta vedlejší proces+shared memory? Sice se data budou muset alespoň jednou kopírovat a pokud se jedná o stovky mega, tak si uživatel bude možná muset přenastavit v systému nějaké limity, ale rychlostně by to zas tak tragické být nemuselo.
    10.3.2013 05:38 kralyk z abclinuxu | skóre: 29 | blog:
    Rozbalit Rozbalit vše Re: Position dependent code a sdílená knihovna
    Knihovna je prostě balíček objektových (.o) souborů zabalených pomocí ar do .a souboru.
    Dělá to na mě dojem, že to je prostě statická knihovna.

    Mělo by se to ale dát celkem jednoduše přelinkovat do dynamického .so s -fPIC. Podívej se na tohle (druhá odpověď), imho velmi podobný problém.
    10.3.2013 21:38 Logik
    Rozbalit Rozbalit vše Re: Position dependent code a sdílená knihovna
    Možná mělo, ale nedá. :-) Při linkování do sdílené knihovny to zařve, že je to position dependent code (tu hlášku si přesně nepamatuju a makefile už mám jinej, je to něco s R_X86_64_PC32). Btw. kdyby to bylo tak jednoduchý, tak bych se asi neptal :-), protože f2py nedělá nic jinýho, než že k funkcím vygeneruje wrappery a celý to zabalí do jedný sdílený knihovny.

    fPIC je záležitost kompilace, nikoli linkování - musí se změnit způsob odkazování na globální symboly - takže "přelinkovat" pos-dependent code na independent jednoduše nelze.

    rADOn avatar 11.3.2013 18:08 rADOn | skóre: 44 | blog: bloK | Praha
    Rozbalit Rozbalit vše Re: Position dependent code a sdílená knihovna
    AFAIK pokud ten kód používá registr kde je globální offset, tak nic nenaděláš. A to by musel být hodně primitivní kód aby nechával ležet ladem nevyužitý registry :-)
    "2^24 comments ought to be enough for anyone" -- CmdrTaco
    3.3.2013 18:33 ivan
    Rozbalit Rozbalit vše Re: Position dependent code a sdílená knihovna
    Nejsem si uplne jistej, ale myslim, ze -fPIC je na 64bit architekture implicitni. Co to vlastne doopravdy mas? Mas .obj soubory anebo statickou .a knihovnu?
    3.3.2013 19:08 potato
    Rozbalit Rozbalit vše Re: Position dependent code a sdílená knihovna
    AFAIK x86_64 používá relativní offsety na data, to se ale netýká funkcí.
    4.3.2013 00:28 Logik
    Rozbalit Rozbalit vše Re: Position dependent code a sdílená knihovna
    Implicitní není, musí se zadávat.

    Mám .a knihovnu, ale ta je jen balíček .o souborů, takže mám defakto i objektový soubory. Ale jsou prokazatelně non-PIC (nebo PDC? jakej je tu vlastně správnej termit?)
    5.3.2013 10:46 Ivan
    Rozbalit Rozbalit vše Re: Position dependent code a sdílená knihovna
    Aha tak to jsem byl vedle. Me to jednou fungovalo i bez -fPIC u knihovny v C++. To ze mi tam ten option chybi jsem zjistil az kdyz jsem to portoval na 32bit Linux - sam jsem se divil jakto, ze to muze fungovat.

    Mam jeste jeden napad. Napis tem autorum - na webu pisou: "If you don't find in this list the combination that matches your need, you may contact the authors providing them a temporarily login on your machine; we shall use it to generate the libraries, that will be subsequently post on the web to benefit the whole community. "

    Kdyz jim nabidnes wrapper pro python tak ti snad nedaji kosem.

    5.3.2013 14:41 Logik
    Rozbalit Rozbalit vše Re: Position dependent code a sdílená knihovna
    To uz jsem udelal, poslali mi ale jen kody pro simple eigenvalue problem a ja potrebuju general eigenvalue problem (pritom v ty knihovne jsou). Na dalsi mail zatim neodpovedeli (tak doufám, že jsem )

    PS: Na 32bit linuxu by to právě bez toho fPIC fungovat mělo, problém to je akorát na 64bit, nepřehodil's to?

    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.