V X.Org v libX11 do 1.8.7 a libXpm do 3.5.17 bylo nalezeno a v upstreamu opraveno 5 bezpečnostních chyb (CVE-2023-43785, CVE-2023-43786, CVE-2023-43787, CVE-2023-43788 a CVE-2023-43789). Dvě nejstarší jsou s námi 35 let. Obsaženy byly již v X11R2 vydaném v únoru 1988.
Byly publikovány informace o bezpečnostní chybě Looney Tunables aneb CVE-2023-4911 v glibc ld.so. Útočník ji může využít k lokální eskalaci práv. Vyzkoušeno na výchozích instalacích linuxových distribucí Fedora 37 a 38, Ubuntu 22.04 a 23.04 a Debian 12 a 13. Chyba byla do glibc zavlečena v dubnu 2021. Detaily v txt.
Na Kickstarteru byla spuštěna crowdfundingová kampaň na podporu telefonu Murena 2 s /e/OS. Telefon má 2 hardwarové přepínače. Prvním lze jednoduše vypnout kamery a mikrofony. Druhým se lze odpojit od sítí.
Společnost Qualcomm publikovala říjnový bezpečnostní bulletin. V úvodu informuje, že bezpečnostní chyby CVE-2023-33106, CVE-2023-33107, CVE-2022-22071 a CVE-2023-33063 jsou cíleně využívány útočníky. O CVE-2022-22071 se píše už v loňském květnovém bulletinu. Detaily o zbylých chybách jsou k dispozici OEM partnerům. Veřejně budou k dispozici až s vydáním prosincového bulletinu.
Byla vydána nová verze 5.18 živé linuxové distribuce Tails (The Amnesic Incognito Live System), jež klade důraz na ochranu soukromí uživatelů a anonymitu. Přehled změn v příslušném seznamu. Tor Browser byl povýšen na verzi 12.5.6. Tor na verzi 0.4.8.6.
Šifrovací nástroj VeraCrypt v menším vydání 1.26.7 nejen opravuje chyby a aktualizuje podporované algoritmy (podrobnosti v poznámkách vydání), ale také přestává podporovat původní svazky TrueCrypt.
V sobotu 7. října proběhne Maker Faire Liberec, festival plný workshopů, interaktivních činností a především nadšených a zvídavých lidí.
Mastodon vydal výroční zprávu za rok 2022 (pdf).
Ubuntu Summit 2023 proběhne od 3. do 5. listopadu v Rize.
Programovací jazyk Python byl vydán v nové major verzi 3.12.0. Podrobný přehled novinek v Changelogu.
#include <math.h> int main () { float x = 20; float y = sqrt(x); }při kompilaci vyhodí error
/tmp/ccSMkv5b.o: In function `main': testing.c:(.text+0x40): undefined reference to `sqrt' collect2: ld returned 1 exit statuspřestože math.h je includovaný, co více, následující ukázka funguje..
#include <stdio.h> #include <math.h> int main () { float y = sqrt(20); printf("%f\n", y); }- vrátí 4.472136.. Někde jsem četl, že místo floatů tam má být double, zkusil jsem, ale se stejným výsledkem.
# gcc --version gcc (GCC) 4.1.2 Copyright (C) 2006 Free Software Foundation, Inc. This is free software; see the source for copying conditions. There is NO warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. # md5sum /usr/include/math.h ed13bac546997533b49b6f221ade841d /usr/include/math.h # uname -r 2.6.21.5 # cat /etc/slackware-version Slackware 12.0.0
gcc
kterým program překládáte? Vypadá to ale na chybu linkeru - zkuste se podívat na přepínač -L
pro specifikaci knihovny, která se má přilinkovat.
libm
se nelinkuje automaticky, zatímco libc
ano.
math.h
potřebují libm
, nicméně hlavičkový soubor a knihovnu snad ještě rozeznám a poznámka o "inteligenci" gcc byla myšlena např. k případu, kdy jsem schválně překřížil 3 pole, výsledkem měl být segfault nebo vzájemné ovnivňování polí, ale gcc si všechny 3 v paměti pěkně za sebou seřadil (a není jediný).. možná to tak má být, ale podle nahlížení do starších tutoriálů tomu tak dříve nebylo...
Pokud je vám opravdu jasný rozdíl mezi hlavičkovým souborem a knihovnou, tak nechápu, proč píšete věci jako
při kompilaci vyhodí error … přestože math.h je includovaný
nebo
Já includoval i <stdio.h>
, ale problém byl stejný...
Protože pak by vám mělo být jasné, že to, které standardní hlavičkové soubory includujete, nemůže mít na chybu linkeru nejmenší vliv.
sqrt(20)
a použije výsledek, takže v programu není vůbec potřeba funkci sqrt()
volat.
Tiskni
Sdílej: