红联Linux门户
Linux帮助

升级gimp-2.4.2时出错的解决办法

发布时间:2008-01-10 10:50:38来源:红联作者:skurialtn
出错信息如下:

引用:
make[3]: Entering directory `/var/tmp/portage/media-gfx/gimp-2.4.2/work/gimp-2.4.2/plug-ins/jpeg'
if i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I../.. -pthread -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include -DGIMP_DISABLE_DEPRECATED -DG_DISABLE_DEPRECATED -DGDK_PIXBUF_DISABLE_DEPRECATED -DGDK_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED -DPANGO_DISABLE_DEPRECATED -DGDK_MULTIHEAD_SAFE -DGTK_MULTIHEAD_SAFE -O2 -march=i686 -pipe -Wall -Wdeclaration-after-statement -Wmissing-prototypes -Wmissing-declarations -Winit-self -Wpointer-arith -MT jpeg-quality.o -MD -MP -MF ".deps/jpeg-quality.Tpo" -c -o jpeg-quality.o jpeg-quality.c; \
then mv -f ".deps/jpeg-quality.Tpo" ".deps/jpeg-quality.Po"; else rm -f ".deps/jpeg-quality.Tpo"; exit 1; fi
if i686-pc-linux-gnu-gcc -DHAVE_CONFIG_H -I. -I. -I../.. -I../.. -pthread -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/libpng12 -I/usr/include -DGIMP_DISABLE_DEPRECATED -DG_DISABLE_DEPRECATED -DGDK_PIXBUF_DISABLE_DEPRECATED -DGDK_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED -DPANGO_DISABLE_DEPRECATED -DGDK_MULTIHEAD_SAFE -DGTK_MULTIHEAD_SAFE -O2 -march=i686 -pipe -Wall -Wdeclaration-after-statement -Wmissing-prototypes -Wmissing-declarations -Winit-self -Wpointer-arith -MT jpegqual.o -MD -MP -MF ".deps/jpegqual.Tpo" -c -o jpegqual.o jpegqual.c; \
then mv -f ".deps/jpegqual.Tpo" ".deps/jpegqual.Po"; else rm -f ".deps/jpegqual.Tpo"; exit 1; fi
/bin/sh ../../libtool --tag=CC --mode=link i686-pc-linux-gnu-gcc -O2 -march=i686 -pipe -Wall -Wdeclaration-after-statement -Wmissing-prototypes -Wmissing-declarations -Winit-self -Wpointer-arith -o jpegqual jpeg-quality.o jpegqual.o -pthread -lgtk-x11-2.0 -lgdk-x11-2.0 -latk-1.0 -lgdk_pixbuf-2.0 -lpangocairo-1.0 -lpango-1.0 -lcairo -lgobject-2.0 -lgmodule-2.0 -ldl -lgthread-2.0 -lrt -lglib-2.0
mkdir .libs
i686-pc-linux-gnu-gcc -O2 -march=i686 -pipe -Wall -Wdeclaration-after-statement -Wmissing-prototypes -Wmissing-declarations -Winit-self -Wpointer-arith -o jpegqual jpeg-quality.o jpegqual.o -pthread /usr/lib/libgtk-x11-2.0.so /usr/lib/libgdk-x11-2.0.so /usr/lib/libatk-1.0.so /usr/lib/libgdk_pixbuf-2.0.so /usr/lib/libpangocairo-1.0.so /usr/lib/libpango-1.0.so /usr/lib/libcairo.so /usr/lib/libgobject-2.0.so /usr/lib/libgmodule-2.0.so -ldl /usr/lib/libgthread-2.0.so -lrt /usr/lib/libglib-2.0.so
jpegqual.o: In function `analyze_file':
jpegqual.c.text+0x4bd): undefined reference to `jpeg_std_error'
jpegqual.c.text+0x4ff): undefined reference to `jpeg_CreateDecompress'
jpegqual.c.text+0x511): undefined reference to `jpeg_stdio_src'
jpegqual.c.text+0x522): undefined reference to `jpeg_read_header'
jpegqual.c.text+0x5c1): undefined reference to `jpeg_destroy_decompress'
jpegqual.c.text+0x5ed): undefined reference to `jpeg_destroy_decompress'
collect2: ld returned 1 exit status
make[3]: *** [jpegqual] Error 1
make[3]: Leaving directory `/var/tmp/portage/media-gfx/gimp-2.4.2/work/gimp-2.4.2/plug-ins/jpeg'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/var/tmp/portage/media-gfx/gimp-2.4.2/work/gimp-2.4.2/plug-ins'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/var/tmp/portage/media-gfx/gimp-2.4.2/work/gimp-2.4.2'
make: *** [all] Error 2
*
* ERROR: media-gfx/gimp-2.4.2 failed.
* Call stack:
* ebuild.sh, line 46: Called src_compile
* environment, line 2536: Called die
* The specific snippet of code:
* emake || diefunc "$FUNCNAME" "$LINENO" "$?" "emake failed"
* The die message:
* emake failed
*
* If you need support, post the topmost build error, and the call stack if relevant.
* A complete build log is located at '/var/tmp/portage/media-gfx/gimp-2.4.2/temp/build.log'.
* The ebuild environment file is located at '/var/tmp/portage/media-gfx/gimp-2.4.2/temp/environment'.
*


解决方法如下:
这种情况一般是USE Flags的问题,旧的USE Flags为jpg,而新的为jpeg和jpeg2k

引用:
grep -i "jpeg" /usr/portage/profiles/use.desc


看输出的内容,一般应该有关键字jpeg和jpeg2k

修改'/etc/make.conf',将这两个flags加入,重新emerge gimp,一切都ok了!
文章评论

共有 0 条评论