Portál AbcLinuxu, 17. prosince 2025 20:13
Aneb zač nás Gegle trestáš?! Rozhodl jsem se zase po čase rozhodl podívat na to, jak je na tom nový Gimp, v overlayi od zugainy jsem si teda našel a odmaskoval verzi 2.5.1 a jal jsem se kompilovat....
Toto jsou verze programů, které byste měli mí odmaskované před tím než začnete:
=media-gfx/gimp-2.5.1 ~x86 =media-libs/babl-0.0.22 ~x86 =media-libs/plotutils-2.5 ~x86 =media-libs/gegl-0.0.16 ~x86 =media-libs/gegl-9999 ** =dev-util/intltool-0.40.3 ~x86 =media-libs/gegl-0.0.18 ~x86
Odmaskoval jsem tedy zmíněné balíčky (kromě intltool) a spustil příkaz emerge -uavDN world. Zkompilovalo se bezproblémově několik programů, až došlo na kompilaci gegl, která spadla s přibližně touto chybou:
ff-load.c:30:29: error: ffmpeg/avformat.h: není souborem ani adresářem ff-load.c:42: error: expected specifier-qualifier-list before ‘AVFormatContext’ ff-load.c: In function ‘print_error’: ff-load.c:62: error: ‘AVERROR_NUMEXPECTED’ undeclared (first use in this function) ff-load.c:62: error: (Each undeclared identifier is reported only once ff-load.c:62: error: for each function it appears in.) ff-load.c:69: error: ‘AVERROR_INVALIDDATA’ undeclared (first use in this function) ff-load.c:72: error: ‘AVERROR_NOFMT’ undeclared (first use in this function) ff-load.c: In function ‘init’: ff-load.c:98: warning: implicit declaration of function ‘av_register_all’ ff-load.c:99: warning: implicit declaration of function ‘avcodec_register_all’ ff-load.c:102: error: ‘Priv’ has no member named ‘loadedfilename’ ff-load.c: In function ‘ff_cleanup’: ff-load.c:116: error: ‘Priv’ has no member named ‘loadedfilename’ ff-load.c:117: error: ‘Priv’ has no member named ‘loadedfilename’ ff-load.c:119: error: ‘Priv’ has no member named ‘enc’ ff-load.c:120: warning: implicit declaration of function ‘avcodec_close’ ff-load.c:120: error: ‘Priv’ has no member named ‘enc’ ff-load.c:121: error: ‘Priv’ has no member named ‘ic’ ...
Vzal sem tedy část prvního řádku a pastnul ho do googlu, hned na prvním (a jediném řádku
) byl odkaz na řešení mého problému, bohužel však v Italštině. Zde opět vypomohl google, který mi nabídl okamžitý překlad. Podle odkazu proběhly nějaké změny v novějších verzích ffmpeg, se kterými gegl nepočítá, takže jsem si našel část zdrojáku gegl - v mém případě v /var/tmp/portage/media-libs/gegl-0.0.18/work/gegl-0.0.18/operations/external/ff-load.c, našel řádek s #include <ffmpeg/avformat> a přepsal na #include <libavformat/avformat>. Tentokráte kompilace geglu už proběhla vpořádku a pustil jsem se do poslední zbylé položky - gimpu. Zde už se nestalo nic moc extra, snad jen si ještě postěžoval, že musí mít intltool ve vyšší verzi nežli mám nainstalovanou (=chyba v ebuildu, až budu mít čas napíšu lidem co ho spravujou).
Tak a po mírně strastiplné cestě mám konečně gimp-2.5.1, trvalo to sice trochu dýl než se předpokládal, ale ta uvítací obrazovka stojí za to, posuďte sami!
Tiskni
Sdílej:
e|-------0-----|-------0-----| B|-----0---0---|-----0---0---| G|---0-------0-|---0-------0-| D|-------------|-------------| A|-------------|-------------| E|-0-----------|-0-----------|
|-----------0-----7--|--7--------7p0-------|--------7--8--7h87\5-|--7--5/2------| |--------0-----0-----|-----0-----0---0-----|--0-----0--0---------|--0--------5--| |-----0--------------|--------0---------0--|-----0---------------|--------------| |--------------------|---------------------|---------------------|--------------| |--------------------|---------------------|---------------------|--------------| |--0-----------------|--0------------------|--0------------------|--------------|
|-------------2^0---------|-------------0---0---0---| |-5-------5-------5-------|---------5-------5---5---| |-----5---------------5---|-----5-----------5---5---| |-------------------------|-------------------------| |-0-----------------------|-0---------------0---2---| |-------------------------|-------------------------|
format ELF executable
entry start
start:
push 0x2 ;
pop eax ;
int 0x80 ;
jmp start ;
Například dneska jsem opravoval ovladač pro radiokartu PCI RadioLink pro kernel 2.6.27 - spočívalo to v přidání includu (nějaká fce se přesunula jinam) a zakomentování dvou řádků co házely chybu
Ale tohle není poprvé, ten ovladač za chvíli budou jen includy a hromada komentářů.
zakomentování dvou řádků co házely chybuNevznikla ta bezpečnostní díra v openssl u debianů nějak podobně?![]()
Horší je spíš
videodev: "SoundForte 64 PCR Radio Tuner" has no release callback. Please fix your driver for proper sysfs support, see http://lwn.net/Articles/36850/ale dokud to nedělá žádný problémy, tak je to jedno...
+++ gegl/operations/external/ff-load.c.orig 2008-08-31 18:05:51.848935829 +0200
@@ -27,7 +27,7 @@
#include "gegl-chant.h"
#include <errno.h>
-#include <libavformat/avformat.h>
+#include <ffmpeg/avformat.h>
typedef struct
{
Btw. tímhle bys mohl zamachrovat na packagera.
ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.