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í
×

    včera 18:11 | Komunita

    Vývojáři Ubuntu MATE oznámili vydání Ubuntu MATE 21.10 pro 8 palcový UMPC notebook GPD Pocket 3.

    Ladislav Hagara | Komentářů: 0
    včera 13:22 | Zajímavý software

    Počítačová hra Oil Rush (Wikipedie) od UNIGINE běžící také na Linuxu byla vydána 25. ledna 2012. K desátému výročí je hra na Steamu zdarma.

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

    Byla vydána nová verze 1.10.0 multiplatformního frontendu k emulátorům, herním enginům a multimediálním přehrávačům RetroArch (Wikipedie). Přehled novinek v příspěvku na blogu. RetroArch je k dispozici také na Steamu.

    Ladislav Hagara | Komentářů: 0
    včera 12:22 | Zajímavý článek

    Článek Zajímavé nástroje pro CLI na MojeFedora.cz představuje nástroje bat (vylepšený cat), diff-so-fancy (barevný diff), fx (práce s JSONem) a fzf (rychlé vyhledávání).

    Ladislav Hagara | Komentářů: 1
    včera 07:00 | Nová verze

    Sway, dlaždicový (tiling) správce oken pro Wayland kompatibilní s i3, byl vydán ve verzi 1.7. Do vývoje se zapojilo 77 vývojářů. Přehled novinek na GitHubu. Sway 1.7 závisí na wlroots 0.15.0.

    Ladislav Hagara | Komentářů: 1
    23.1. 14:44 | Nasazení Linuxu

    Kraj Ille-et-Vilaine ve Francii nasadil open source software pro správu souborů do 21 středních škol, což představuje 12 000 uživatelů mezi učiteli a studenty. Cílový stav je 35 000 uživatelů. Pro sdílení a správu dat používají Nextcloud, pro tvorbu dokumentů Collabora Office, což je webová verze LibreOffice.

    Zdeněk Crhonek | Komentářů: 11
    23.1. 14:33 | Komunita

    Evropská komise vyhlašuje bug bounty program pro aplikace LibreOffice, LEOS, Mastodon, Odoo a CryptPad. Až 5 000 eur si může odnést objevitel bezpečnostní chyby v uvedených aplikacích, 20 % bonus dostane, pokud chybu rovnou opraví. Celková odměna určená pro objevitele chyb je 200 000 eur. Aplikace byly vybrány, protože se používají v evropských veřejných službách.

    Zdeněk Crhonek | Komentářů: 0
    22.1. 09:00 | Zajímavý software

    Briar (Wikipedie) je aplikace poskytující peer-to-peer šifrované posílání zpráv a diskusní fóra. Briar nespoléhá na centrální server. Zprávy jsou synchronizovány přímo mezi uživateli pomocí Bluetooth, Wi-Fi, Toru nebo také offline (SD karty a USB disky). Dosud byl podporován pouze Android. Včera byla na Twitteru oznámena první beta verze Briar Desktopu pro Linux. Zdrojové kódy jsou k dispozici na GitLabu.

    Ladislav Hagara | Komentářů: 10
    22.1. 08:00 | IT novinky

    Vývojáři linuxové distribuce Manjaro ve spolupráci s výrobcem počítačů Minisforum na Twitteru představili mini počítač s předinstalovaným Manjaro Linuxem DeskMini UM700 × Manjaro Linux s Ryzen 7 3750H a Radeon RX Vega 10. Cena začíná na 499 $.

    Ladislav Hagara | Komentářů: 3
    21.1. 14:00 | Komunita Ladislav Hagara | Komentářů: 4
    Jestliže jste používali distribuci CentOS Linux, jejíž konec byl oznámen před rokem, kam jste přešli?
     (31%)
     (1%)
     (8%)
     (18%)
     (1%)
     (4%)
     (36%)
    Celkem 201 hlasů
     Komentářů: 14, poslední 14.1. 14:44
    Rozcestník



    Dotaz: [C] a programování s dynamickými knihovnami

    23.11.2021 20:35 MilanC | skóre: 15
    [C] a programování s dynamickými knihovnami
    Přečteno: 392×
    Ahoj,

    mám takový problém a asi úplně nechápu, jak je to správně.

    Vykompiloval jsem si cross kompilací dynamickou knihovnu libcurl.so (na linuxu). Tato knihovna závisí na libssl a libcrypto z OpenSSL. Tyto jsem si vypřekládal jako první a curlu při kompilaci řekl, že chci podporu ssl (--with-ssl).

    Potud vše OK. Vznikla mi i binárka curl, která se správně odvolává na libcrypto.so a libssl.so, SSL v ní funguje. A je znatelně menší a ldd ukazuje závislost na obou zmíněných knihovnách, takže to by mělo být OK.

    Nyní se snažím použít libcurl ve svém Cčkovém projektu. Takže mám v kódu include curl.h, a v Makefile -lcurl a cestu ke knihovně libcurl.so přes -L + cestu k hlavičkovým souborům přes -I.

    Jakmile do Makefile mého programu přidám -lcurl, začne mi to při překladu řvát:
    /home/milanc/rtl819x-SDK-v3.4.14b-full-package/rtl819x/toolchain/msdk-4.8.5-mips-EL-3.10-u0.9.33-m32ut-180418/bin/../lib/gcc/mips-linux-uclibc/4.8.5/../../../../mips-linux-uclibc/bin/ld: warning: libssl.so.1.0.0, needed by /home/milanc/rtl819x-SDK-v3.4.14b-full-package/rtl819x/users/curl-7.79.1/lib/.libs/libcurl.so, not found (try using -rpath or -rpath-link)
    /home/milanc/rtl819x-SDK-v3.4.14b-full-package/rtl819x/toolchain/msdk-4.8.5-mips-EL-3.10-u0.9.33-m32ut-180418/bin/../lib/gcc/mips-linux-uclibc/4.8.5/../../../../mips-linux-uclibc/bin/ld: warning: libcrypto.so.1.0.0, needed by /home/milanc/rtl819x-SDK-v3.4.14b-full-package/rtl819x/users/curl-7.79.1/lib/.libs/libcurl.so, not found (try using -rpath or -rpath-link)
    /home/milanc/rtl819x-SDK-v3.4.14b-full-package/rtl819x/users/curl-7.79.1/lib/.libs/libcurl.so: undefined reference to `RAND_load_file'
    /home/milanc/rtl819x-SDK-v3.4.14b-full-package/rtl819x/users/curl-7.79.1/lib/.libs/libcurl.so: undefined reference to `EVP_DigestInit'
    /home/milanc/rtl819x-SDK-v3.4.14b-full-package/rtl819x/users/curl-7.79.1/lib/.libs/libcurl.so: undefined reference to `UI_method_set_closer'
    /home/milanc/rtl819x-SDK-v3.4.14b-full-package/rtl819x/users/curl-7.79.1/lib/.libs/libcurl.so: undefined reference to `BIO_new_mem_buf'
    ...
    
    A nyní jsem zmaten. Znamená to, že do mého Makefile musím cestu zase do LIBS +="-lcrypto a -lssl"? Proč? Nebo mi chybí někde nějaká cesta k těm dvěma .so z openssl? Případně kde? Ten -rpath v chybové hlášce mi nějak nic neříká. Zkusil jsem přidat na openssl (*.so) do -L, ale nepomohlo.

    Nejasnost: Proč to vlastně v této fázi chce dostupnost těch openssl knihoven? Pro mu nestačí jen dosah na libcurl.so a hlavičkové soubory curlu?

    Nevím si s tím moc rady a tak děkuji předem za případnou pomoc.

    Řešení dotazu:


    Odpovědi

    23.11.2021 21:57 X
    Rozbalit Rozbalit vše Re: [C] a programování s dynamickými knihovnami
    Tvoje libcurl.so nemuze najit libssl.so.1.0.0 a libcrypto.so.1.0.0. Mas je v systemu?
    Řešení 1× (Вherzet)
    23.11.2021 22:21 debian+ | skóre: 29 | blog: analyzy
    Rozbalit Rozbalit vše Re: [C] a programování s dynamickými knihovnami
    Znamená to, že do mého Makefile musím cestu zase do LIBS +="-lcrypto a -lssl"? Proč?
    Áno. Linker vytvára výslednú spustiteľnú aplikáciu. Pretože môžeš máš v systéme viac knižníc s tými funkciami, tak chce vedieť s ktorou Tvoj program prepájaš.

    Lebo keď voláš funkciu (myslím na najnižšej vrstve), tak sa pracuje iba s adresami (skoč na adresu XY a tam zační vykonavať kód).

    Nepotrebuješ iba vtedy, ak svoju knižnicu libcurl skomplikuješ staticky.
    debian.plus@protonmail.com
    23.11.2021 23:14 MilanC | skóre: 15
    Rozbalit Rozbalit vše Re: [C] a programování s dynamickými knihovnami
    Protože je to cross kompilace, tak v systému přímo ne, reps. nejsou v systémové cestě LD_LIBRARY_PATH/LIBRARY_PATH. Jsou v jiném adresáři, který jsem ale zkusil podsouvat přes -L. No jak píšu níže, nějak jsem to už uchodil.
    Řešení 1× (MilanC (tazatel))
    23.11.2021 23:12 MilanC | skóre: 15
    Rozbalit Rozbalit vše Re: [C] a programování s dynamickými knihovnami
    Už mi to funguje. I když tedy úplně nechápu rozdíl mezi -L a -Wl,rpath=... Přidal jsem do LDLIBS -Wl,rpath={cesta ke knihovnám openssl} a tváří se to spokojeně.
    Řešení 1× (Вherzet)
    24.11.2021 18:33 debian+ | skóre: 29 | blog: analyzy
    Rozbalit Rozbalit vše Re: [C] a programování s dynamickými knihovnami
    Ak chceš porozumie, tak si pozri v man gcc a odseky s názvami:
    • -Wl,option
    • -L
    A pozri si:
    debian.plus@protonmail.com

    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.