Byla vydána nová verze 5.1 svobodného 3D softwaru Blender. Přehled novinek i s náhledy a videi v poznámkách k vydání. Videopředstavení na YouTube.
Bylo oznámeno vydání nové verze 8.1 "Hoare" kolekce svobodného softwaru umožňujícího nahrávání, konverzi a streamovaní digitálního zvuku a obrazu FFmpeg (Wikipedie). Doprovodný příspěvek na blogu Khronosu rozebírá kódování a dekódování videa pomocí Vulkan Compute Shaders v FFmpeg.
Byl představen open-source a open-hardware prototyp nízkonákladového raketometu kategorie MANPADS, který byl sestaven z běžně dostupné elektroniky a komponent vytištěných na 3D tiskárně. Raketa využívá skládací stabilizační křidélka a canardovou stabilizaci aktivně řízenou palubním letovým počítačem ESP32, vybaveným inerciální měřicí jednotkou MPU6050 (gyroskop a akcelerometr). Přenosné odpalovací zařízení obsahuje GPS,
… více »Vědci z univerzity La Sapienza v Římě vyvinuli systém, který dokáže identifikovat jednotlivce pouze na základě toho, jak narušují signály Wi-Fi. Autoři tuto novou technologii nazvali WhoFi. Na rozdíl od tradičních biometrických systémů, jako jsou skenery otisků prstů a rozpoznávání obličeje, nevyžaduje tato metoda přímý fyzický kontakt ani vizuální vstupy. WhoFi může také sledovat jednotlivce na větší ploše než kamera s pevnou polohou; stačí, je-li k dispozici Wi-Fi síť.
SuperTux (Wikipedie), tj. klasická 2D plošinovka inspirovaná sérií Super Mario, byl vydán v nové verzi 0.7.0. Videoukázka na YouTube. Hrát lze i ve webovém prohlížeči.
Ageless Linux je linuxová distribuce vytvořená jako politický protest proti kalifornskému zákonu o věkovém ověřování uživatelů na úrovni OS (AB 1043). Kromě běžného instalačního obrazu je k dispozici i konverzní skript, který kompatibilní systém označí za Ageless Linux a levné jednodeskové počítače v ceně 12$ s předinstalovaným Ageless Linuxem, které se chystají autoři projektu dávat dětem. Ageless Linux je registrován jako operační
… více »PimpMyGRC upravuje vzhled toolkitu GNU Radio a přidává alternativní barevná témata. Primárním cílem autora bylo pouze vytvořit tmavé prostředí vhodné pro noční práci, nicméně k dispozici je nakonec celá škála barevných schémat včetně možností různých animací a vizuálních efektů (plameny, matrix, bubliny...), které nepochybně posunou uživatelský zážitek na zcela jinou úroveň. Témata jsou skripty v jazyce Python, které nahrazují
… více »GIMP 3.2 byl oficiálně vydán (Mastodon, 𝕏). Přehled novinek v poznámkách k vydání.
FRANK OS je open-source operační systém pro mikrokontrolér RP2350 (s FRANK M2 board) postavený na FreeRTOS, který přetváří tento levný čip na plně funkční počítač s desktopovým uživatelským rozhraním ve stylu Windows 95 se správcem oken, terminálem, prohlížečem souborů a knihovnou aplikací, ovládaný PS/2 myší a klávesnicí, s DVI video výstupem. Otázkou zůstává, zda by 520 KB SRAM stačilo každému 😅.
Administrativa amerického prezidenta Donalda Trumpa by měla dostat zhruba deset miliard dolarů (asi 214 miliard Kč) za zprostředkování dohody o převzetí kontroly nad aktivitami sociální sítě TikTok ve Spojených státech.
DEST_DIR=~/build
cd ffmpeg ; \
./configure --prefix=${DEST_DIR} --libdir=${DEST_DIR} --enable-gpl \
--enable-shared --enable-libvorbis --enable-libogg --enable-pp --enable-swscaler
make
make install
cd ../mlt
./configure --prefix=${DEST_DIR} --libdir=${DEST_DIR} --enable-gpl \
--enable-motion-est --enable-mmx --avformat-swscale
make
make install
cd ../mlt++
./configure --prefix=${DEST_DIR} --libdir=${DEST_DIR}
make install
cd ../kdenlive
sh bootstrap
./configure --prefix=${DEST_DIR} --libdir=${DEST_DIR}
make
make install
Bude to fungovat jak zamýšlím?
Je nutné nastavovat libdir?
Bude výsledná aplikace spustitelná i z jiného adresáře, pokud ji například zkopíruji (vč knihoven ffmpeg a mlt) do /opt/kdenlive? Nebo je navždy přikovaná k adresáři určenému v době kompilace (buildování)?
Musím se přiznat, že tyhle otázky mě už dlouho ležely v hlavě, ale dosud jsme je nepotřeboval řešit. /usr/local postačoval. Ne tak nyní.
O LD_LIBRARY_PATH vím, nicméně všude od toho zrazují, např
http://xahlee.org/UnixResource_dir/_/ldpath.html - Why LD_LIBRARY_PATH is bad.
Jak přemluvit linuxový program, aby primárně použil knihovny z vlastního (pod)adresáře, místo systémových, a zároveň byl nezávislý na adresářovém umístění v souborovém systému?
Děkuji
ld.so... pro vice man ld.so
snad jsem to moc nedomotal :)
./bar budeš spúšťať LD_LIBARY_PATH=/usr/local/foo/lib ./bar. Dá sa to tiež použiť v KDE menu/ikonkách takže to nejak nepohodlné nie je.
Používam Slackware a nerád používam binárne balíky, ktoré priamo v Slackware-i nie sú. A tak si kompilujem svoje veci. Vždy do /usr/local/meno-aplikacie. Samozrejme, že občas narazím na závislosti a tak kompilujem aj knižnice - rovnakým spôsobom: /usr/local/meno-knižnice. Občas je to trocha trápenie, ale človek sa sem tam aj niečo naučí. Týmto spôsobom mi funguje avidemux, mplayer, xdtv, tvtime, fontforge, scribus, audacity, inkscape, Battle For Wesnoth, lxdoom, ldescent, pingus, ... (Jedine čo so nedokázal rozbehať bola cinelerra - ale to je problém ich build-u.) A problém s tým nie je.
/usr/local ale /usr/local/menokniznice
Oni by mi ji pak ten bleeding-edge ffmpeg ze svn a mlt začaly používat další aplikace a to NECHCI.
Nie sme na windowsoch. Samo od seba sa nič používať nezačne. Pokiaľ nainštaluješ knižnice do adresárov, ktoré nie sú v /etc/ld.so.conf a nemáš globálne nastavené LD_LIBRARY_PATH tak mplayer, amarok či xine nemajú odkiaľ vedieť, že na systéme pribudlo nejaké /usr/local/ffmpeg-pre-kdenlive/lib/libffmpeg-x.y.so. Problém býva len presvedčiť kompiláciu aplikácie o tom, kde hľadať tú knižnicu. Občas je na to switch pre configure. Občas treba pre shell, v ktorom kompiluješ, upraviť PKG_CONFIG_PATH, a občas treba hacknúť configure.
/usr/local/ffmpeg-pre-kdenlive tam to asi opravdu linker hledat nebude.
I když jeden nikdy neví
V SUSE do /etc/ld.so.conf.d si vesele vpašoval svoji cestu mplayer plugin pro Mozillu.
Ještě by mě zajímalo jak to řešíte práva do /usr/local. Tam má standardně právo zápisu jen root, ne?
Problém býva len presvedčiť kompiláciu aplikácie o tom, kde hľadať tú knižnicu.
Co LD_LIBRARY_PATH, ta se při pekladu nebere v úvahu?
No pak tu máme CFLAGS a LDFLAGS.
make install do odresára, ktorý vlastní. Výhodou je, že pokiaľ make install chce písať niekam inam, tak sa o tom dozviem.
> Co LD_LIBRARY_PATH, ta se při pekladu nebere v úvahu? No pak tu máme CFLAGS a LDFLAGS.
To je síce pravda, ale existujú napr. inštalačné skripty, ktoré tieto premenné predefinovávajú.
ld má volbu -rpath, která určuje, kde se mají hledat knihovny při runtime linkování... Ale jak to přesně funguje, to si nejsem jistej...
ld se vola behem sestavovani, gcc hleda standardne v /usr/include a pripadne -I -L pro dalsi adresare.
... A less common technique (and less documented it seems) is to use something called an RPATH. RPATH is like LD_LIBRARY_PATH in that it tells the runtime linker "look in this directory for shared libraries". The key difference between RPATH and LD_LIBRARY_PATH is that RPATH is written into the binary itself it's not an environment variable. ...http://www.the-martins.org/index.php?name=Sections&req=viewarticle&artid=6&page=1 Soft intro to rpath
gcc -Wl,--rpath,../lib -fomit-frame-pointer -g -Wdeclaration-after-statement -Wall -Wno-switch -Wdisabled-optimization -Wpointer-arith -Wredundant-decls -Wno-pointer-sign -O3 -I"/home/espinosa/src/ffmpeg" -I"/home/espinosa/src/ffmpeg" -I"/home/espinosa/src/ffmpeg"/libavutil -I"/home/espinosa/src/ffmpeg"/libavcodec -I"/home/espinosa/src/ffmpeg"/libavformat -I"/home/espinosa/src/ffmpeg"/libswscale -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_ISOC9X_SOURCE -DHAVE_AV_CONFIG_H -I"/home/espinosa/src/ffmpeg"/libswscale -I"/home/espinosa/src/ffmpeg"/libavcodec -DHAVE_AV_CONFIG_H -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -D_ISOC9X_SOURCE -I"/home/espinosa/src/ffmpeg" -I"/home/espinosa/src/ffmpeg" -I"/home/espinosa/src/ffmpeg"/libavutil -Wl,--rpath,../lib -fomit-frame-pointer -g -Wdeclaration-after-statement -Wall -Wno-switch -Wdisabled-optimization -Wpointer-arith -Wredundant-decls -Wno-pointer-sign -O3 -c -o allcodecs.o allcodecs.c In file included from allcodecs.c:27: avcodec.h:2499: warning: ‘ImgReSampleContext’ is deprecated avcodec.h:2505: warning: ‘ImgReSampleContext’ is deprecated gcc: --rpath: linker input file unused because linking not done gcc: ../lib: linker input file unused because linking not done gcc: --rpath: linker input file unused because linking not done gcc: ../lib: linker input file unused because linking not doneNení to chyba, jen varování. Mám se tím zabývat? Také je s podivem, že se to tam dostalo dvakrát! Nemám raději nastavit LDFLAGS?
espinosa@esplaptop:~/build/bin> /sbin/ldconfig /sbin/ldconfig: Can't create temporary cache file /etc/ld.so.cache~: Permission denied
LD_RUN_PATH a ne RPATH.
RPATH je buď starý název, nebo se používá v jiných systémech než linux (BSD? Solaris?).
Co je důležité, reaguje to na relativní cesty jak má. Díky tomu pak bude možné výsledný balík binárka a knihovny zkopírovat na libovolné místo (eh to jsem ještě nezkoušel..), třeba na /opt/kdenlive nebo /usr/local/kdenlive.
Výsledek je izolovaný od knihoven systému, můžete tak mít více verzí ffmpeg, mlt nebo kdenlive. Pokud se knihovna nenajde v přednastaveném adresáři (přednastaveném LD_RUN_PATH) hledá se dále již standardním způsobem podle cest co jsou v ld.so.conf resp. nastavení LD_LIBRARY_PATH. Tohle je důležité, aby se našli knihovny jako libc, libswscal, liblame, libmpeg2 které jsme nekompilovali ale chceme je vzít ze systému, distribuční verze.
Takhle pak může vypadat skript:
export DEST_DIR=~/build/kdenlive export PATH=$DEST_DIR/bin:$PATH export LD_RUN_PATH=../lib cd ffmpeg && ./configure --prefix=$DEST_DIR --enable-gpl --enable-shared --enable-libvorbis --enable-libogg --enable-pp && make && make install && cd ../mlt && ./configure --prefix=$DEST_DIR --enable-gpl --disable-mmx --avformat-swscale make && make install && cd ../mlt++ && ./configure --prefix=$DEST_DIR && make && make install && cd ../kdenlive && sh bootstrap && ./configure --prefix=$DEST_DIR && make && make install ;;Dobrá pomůcka pro zjištění, zda se LD_RUN_PATH prosadila do vašich knihoven a binárek je příkaz
ldd:
espinosa@esplaptop:~/build/kdenlive/bin# ldd ../share/mlt/modules/libmltavformat.soPozor, pokud používáte relativní adresy, tak je důležité z jakého adresáře příkaz ldd voláte! A ještě podrobnější výpis jak se knihovny hledají:
espinosa@esplaptop:~/build/kdenlive/bin#LD_DEBUG=libs ./kdenlive
Tiskni
Sdílej: