Všem čtenářkám a čtenářům AbcLinuxu krásné Vánoce.
Byla vydána nová verze 7.0 linuxové distribuce Parrot OS (Wikipedie). S kódovým názvem Echo. Jedná se o linuxovou distribuci založenou na Debianu a zaměřenou na penetrační testování, digitální forenzní analýzu, reverzní inženýrství, hacking, anonymitu nebo kryptografii. Přehled novinek v příspěvku na blogu.
Vývojáři postmarketOS vydali verzi 25.12 tohoto před osmi lety představeného operačního systému pro chytré telefony vycházejícího z optimalizovaného a nakonfigurovaného Alpine Linuxu s vlastními balíčky. Přehled novinek v příspěvku na blogu. Na výběr jsou 4 uživatelská rozhraní: GNOME Shell on Mobile, KDE Plasma Mobile, Phosh a Sxmo.
Byla vydána nová verze 0.41.0 multimediálního přehrávače mpv (Wikipedie) vycházejícího z přehrávačů MPlayer a mplayer2. Přehled novinek, změn a oprav na GitHubu. Požadován je FFmpeg 6.1 nebo novější a také libplacebo 6.338.2 nebo novější.
Byla vydána nová verze 5.5 (novinky) skriptovacího jazyka Lua (Wikipedie). Po pěti a půl letech od vydání verze 5.4.
Byla vydána nová verze 5.4.0 programu na úpravu digitálních fotografií darktable (Wikipedie). Z novinek lze vypíchnout vylepšenou podporu Waylandu. Nejnovější darktable by měl na Waylandu fungovat stejně dobře jako na X11.
Byla vydána beta verze Linux Mintu 22.3 s kódovým jménem Zena. Podrobnosti v přehledu novinek a poznámkách k vydání. Vypíchnout lze, že nástroj Systémová hlášení (System Reports) získal mnoho nových funkcí a byl přejmenován na Informace o systému (System Information). Linux Mint 22.3 bude podporován do roku 2029.
GNU Project Debugger aneb GDB byl vydán ve verzi 17.1. Podrobný přehled novinek v souboru NEWS.
Josef Průša oznámil zveřejnění kompletních CAD souborů rámů tiskáren Prusa CORE One a CORE One L. Nejsou vydány pod obecnou veřejnou licenci GNU ani Creative Commons ale pod novou licencí OCL neboli Open Community License. Ta nepovoluje prodávat kompletní tiskárny či remixy založené na těchto zdrojích.
Nový CEO Mozilla Corporation Anthony Enzor-DeMeo tento týden prohlásil, že by se Firefox měl vyvinout v moderní AI prohlížeč. Po bouřlivých diskusích na redditu ujistil, že v nastavení Firefoxu bude existovat volba pro zakázání všech AI funkcí.
Vo viere, že to snáď niekomu pomôže sa pokúsim opísať, ako som zostavoval na Linuxe cross-kompilátor pre MS Windows.
Po chvíľke hľadania som našiel stránku projektu MinGW a špeciálne oficiálny návod. Návod je z 15. septembra 2008 a je to na ňom vidieť. Podporovaná verzia kompilátoru GCC je 3.4.5. K dispozícii je shellový skript, ktorý má všetku námahu spojenú so zostavením prevziať na seba. Ak ho však nakŕmime vyššími verziami balíkov, prestáva pracovať tak, ako by mal. Pravá chvíľa na to, aby človek vyrval vnútornosti tohto skriptu a jal sa z nich vytvoriť niečo funkčné.
Teraz prezradím pointu.
Kľúčom k úspechu sú (ako inak) správne poradie kompilácie, správne nastavené CFLAGS, LDFLAGS a správne voľby pre configure skript.
Netvrdím, že nasledujúci postup je jediný správny, ale pre mňa fungoval.
Všeobecne ku kompilácii: ak to make zvládne, odporúča sa kompilovať v inom ako zdrojovom adresári.
V nasledujúcich výpisoch toto pravidlo v záujme zjednodušenia zápisu poruším.
Všetky binárne súbory sú stripnuté, kto chce používať nestabilné verzie a reportovať chyby, vie, čo má spraviť.
Ešte jedna poznámka: voľby --disable-shared a LDFLAGS="--static" sú artefaktom z mojich pokusov zostaviť statické verzie binárok.
U mňa nič nepokazili, aj keď nefungovali tak, ako som chcel.
Možno sa dajú bez následkov odstrániť.
src.
GCCbinutilsmingwrtw32api export TARGET=i686-pc-mingw32 export PREFIX=$HOME/mingw export PATH=$PREFIX/bin:$PATH
binutilsdlltool a windres.
Dôležitá je voľba --with-sysroot, ktorá nie je poriadne dokumentovaná a jej absencia by neskôr pri linkovaní spôsobila problémy.
./configure --prefix=$PREFIX --target=$TARGET \ --with-gcc --with-gnu-as --with-gnu-ld --disable-nls \ --disable-shared --with-sysroot=$PREFIX \ LDFLAGS="--static" make CFLAGS="-O2 -fno-exceptions" LDFLAGS="-s" make install
GCC.
Pre istotu je treba vytvoriť elementárnu adresárovú štruktúru v adresári $PREFIX a nakopírovať hlavičkové súbory z balíkov mingwrt a w32api.
Navyše GCC neskôr hľadá z neznámych príčin hlavičkové súbory v $PREFIX/mingw, takže si to žiada ešte jeden symbolický odkaz.
mkdir -p "$PREFIX/include" test -e "$PREFIX/usr" || (cd $PREFIX && ln -s . usr ) test -e "$PREFIX/usr/local" || (cd "$PREFIX/usr" && ln -s . local ) cp -r mingwrt-*/include $PREFIX cp -r w32api-*/include $PREFIX test -e "$PREFIX/mingw" || (cd $PREFIX && ln -s . mingw )
gcc stage 1--with-sysroot (tentokrát dokumentovaná) a voľby --enable-threads=win32 --disable-win32-registry.
./configure --prefix=$PREFIX --target=$TARGET \ --with-gcc --with-gnu-as --with-gnu-ld --disable-nls \ --disable-shared --enable-threads=win32 --disable-win32-registry \ --enable-languages=c --with-sysroot=$PREFIX make CFLAGS="-O2 -fomit-frame-pointer" LDFLAGS="-s" make install
w32apikernel32, user32 a podobne.
Bezproblémový balíček.
./configure --prefix=$PREFIX --host=$TARGET \ --build=`./config.guess` make CFLAGS="-O2 -mms-bitfields -march=i686" LDFLAGS="-s" make install
mingwrtCFLAGS to vyriešilo.
./configure --prefix=$PREFIX --host=$TARGET \ --build=`./config.guess` make CFLAGS="-O2 -mms-bitfields -march=i686 -I$PREFIX/include" LDFLAGS="-s" make install
gcc stage 2
.
Inak všetko po starom.
.configure --prefix=$PREFIX --target=$TARGET \ --with-gcc --with-gnu-as --with-gnu-ld --disable-nls \ --disable-shared --enable-threads=win32 --disable-win32-registry \ --enable-languages=c,c++ --with-sysroot=$PREFIX make CFLAGS="-O2 -fomit-frame-pointer" LDFLAGS="-s" make install
$PREFIX.
Ak chceme, zmažeme aj $PREFIX/{doc,man,info}.
README, ./configure --help
Tiskni
Sdílej:
ln -s vim emacs