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 01:11 | Bezpečnostní upozornění

    Red Hat řeší bezpečnostní incident, při kterém došlo k neoprávněnému přístupu do GitLab instance používané svým konzultačním týmem.

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

    Immich byl vydán v první stabilní verzi 2.0.0 (YouTube). Jedná se o alternativu k výchozím aplikacím od Googlu a Applu pro správu fotografií a videí umožňující vlastní hosting serveru Immich. K vyzkoušení je demo. Immich je součástí balíčků open source aplikací FUTO. Zdrojové kódy jsou k dispozici na GitHubu pod licencí AGPL-3.0.

    Ladislav Hagara | Komentářů: 0
    včera 22:33 | IT novinky

    Český telekomunikační úřad vydal zprávy o vývoji cen a trhu elektronických komunikací se zaměřením na rok 2024. Jaká jsou hlavní zjištění? V roce 2024 bylo v ČR v rámci služeb přístupu k internetu v pevném místě přeneseno v průměru téměř 366 GB dat na jednu aktivní přípojku měsíčně – celkově jich tak uživateli bylo přeneseno přes 18 EB (Exabyte). Nejvyužívanějším způsobem přístupu k internetu v pevném místě zůstal v roce 2024 bezdrátový

    … více »
    Ladislav Hagara | Komentářů: 0
    včera 12:11 | Nová verze

    Raspberry Pi OS, oficiální operační systém pro Raspberry Pi, byl vydán v nové verzi 2025-10-01. Přehled novinek v příspěvku na blogu Raspberry Pi a poznámkách k vydání. Jedná o první verzi postavenou na Debianu 13 Trixie.

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

    Byla vydána nová verze 4.6 svobodného notačního programu MuseScore Studio (Wikipedie). Představení novinek v oznámení v diskusním fóru a také na YouTube.

    Ladislav Hagara | Komentářů: 0
    včera 02:22 | Komunita

    Společnost DuckDuckGo stojící za stejnojmenným vyhledávačem věnovala 1,1 milionu dolarů (stejně jako loni) na podporu digitálních práv, online soukromí a lepšího internetového ekosystému. Rozdělila je mezi 29 organizací a projektů. Za 15 let rozdala 8 050 000 dolarů.

    Ladislav Hagara | Komentářů: 4
    1.10. 20:11 | Nová verze

    Svobodný multiplatformní herní engine Bevy napsaný v Rustu byl vydán ve verzi 0.17. Díky 278 přispěvatelům.

    Ladislav Hagara | Komentářů: 0
    1.10. 16:11 | Nová verze

    Bylo vydáno openSUSE Leap 16 (cs). Ve výchozím nastavení přichází s vypnutou 32bitovou (ia32) podporou. Uživatelům však poskytuje možnost ji ručně povolit a užívat si tak hraní her ve Steamu, který stále závisí na 32bitových knihovnách. Změnily se požadavky na hardware. Leap 16 nyní vyžaduje jako minimální úroveň architektury procesoru x86-64-v2, což obecně znamená procesory zakoupené v roce 2008 nebo později. Uživatelé se starším hardwarem mohou migrovat na Slowroll nebo Tumbleweed.

    Ladislav Hagara | Komentářů: 3
    1.10. 16:00 | IT novinky

    Ministerstvo průmyslu a obchodu (MPO) ve spolupráci s Národní rozvojovou investiční (NRI) připravuje nový investiční nástroj zaměřený na podporu špičkových technologií – DeepTech fond. Jeho cílem je posílit inovační ekosystém české ekonomiky, rozvíjet projekty s vysokou přidanou hodnotou, podpořit vznik nových technologických lídrů a postupně zařadit Českou republiku mezi země s nejvyspělejší technologickou základnou.

    … více »
    Ladislav Hagara | Komentářů: 3
    1.10. 12:55 | Nová verze

    Radicle byl vydán ve verzi 1.5.0 s kódovým jménem Hibiscus. Jedná se o distribuovanou alternativu k softwarům pro spolupráci jako např. GitLab.

    Ladislav Hagara | Komentářů: 3
    Jaké řešení používáte k vývoji / práci?
     (40%)
     (47%)
     (14%)
     (16%)
     (18%)
     (14%)
     (18%)
     (14%)
     (14%)
    Celkem 159 hlasů
     Komentářů: 10, poslední dnes 01:37
    Rozcestník

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

    23.11.2021 20:35 MilanC | skóre: 16
    [C] a programování s dynamickými knihovnami
    Přečteno: 595×
    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 z_sk | skóre: 34 | 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: 16
    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: 16
    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 z_sk | skóre: 34 | 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.