LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1018|回复: 1

gthumb编译后不能正常运行?

[复制链接]
发表于 2006-10-23 13:21:00 | 显示全部楼层 |阅读模式
gthumb2.7.4
Compiling
=========

  In order to build this program you need a working GNOME environment
  version 2 or greater, with the development tools installed properly.  
  The following is the detailed list of libraries you need:

    * glib             version >= 2.2.0
    * gtk             version >= 2.2.0
    * libxml         version >= 2.4.0
    * libgnome         version >= 2.2.0
    * libgnomeui         version >= 2.2.0
    * libgnomecanvas     version >= 2.0.0
    * gnome-vfs         version >= 2.1.3
    * libglade         version >= 2.0.0
    * libgnomeprint     version >= 2.1.0
    * libgnomeprintui     version >= 2.1.0
    * libbonobo         version >= 2.3.3
    * libbonoboui         version >= 2.3.3

按照上面说的,装了包之后。
编译安装,./configure --prefix=/usr && make && make check && su && make install,出现以下错误:
root@LFS:/home/cyx/gthumb-2.7.4# make install
…………………………
……………………省略
Making install in doc
make[1]: Entering directory `/home/cyx/gthumb-2.7.4/doc'
Making install in C
make[2]: Entering directory `/home/cyx/gthumb-2.7.4/doc/C'
make[3]: Entering directory `/home/cyx/gthumb-2.7.4/doc/C'
make[3]: Nothing to be done for `install-exec-am'.
/bin/sh ../../mkinstalldirs /usr/share/gnome/help/gthumb/C
for file in legal.xml gthumb.xml; do \
  cp ./$file /usr/share/gnome/help/gthumb/C; \
done
if test "figures"; then \
  /bin/sh ../../mkinstalldirs /usr/share/gnome/help/gthumb/C/figures; \
  for file in ./figures/*.png; do \
    basefile=`echo $file | sed -e  's,^.*/,,'`; \
    /usr/bin/install -c -m 644 $file /usr/share/gnome/help/gthumb/C/figures/$basefile; \
  done \
fi
make  install-data-hook
make[4]: Entering directory `/home/cyx/gthumb-2.7.4/doc/C'
/bin/sh ../../mkinstalldirs /usr/share/omf/gthumb
for file in gthumb-C.omf; do \
        /usr/bin/install -c -m 644 $file.out /usr/share/omf/gthumb/$file; \
done
/usr/bin/install: 无法 stat “gthumb-C.omf.out”: 没有那个文件或目录
make[4]: *** [install-data-hook-omf] 错误 1
make[4]: Leaving directory `/home/cyx/gthumb-2.7.4/doc/C'
make[3]: *** [install-data-am] 错误 2
make[3]: Leaving directory `/home/cyx/gthumb-2.7.4/doc/C'
make[2]: *** [install-am] 错误 2
make[2]: Leaving directory `/home/cyx/gthumb-2.7.4/doc/C'
make[1]: *** [install-recursive] 错误 1
make[1]: Leaving directory `/home/cyx/gthumb-2.7.4/doc'
make: *** [install-recursive] 错误 1

先不管,运行gthumb
cyx@LFS:~$ gthumb

(gthumb:3378): Gtk-WARNING **: Error loading icon from file '/usr/share/pixmaps/ gthumb.png':
        无法打开文件“/usr/share/pixmaps/gthumb.png”:没有那个文件或目录

(gthumb:3378): libglade-WARNING **: could not find glade file '/usr/share/gthumb /glade/gthumb_png_exporter.glade'

(gthumb:3378): GLib-GObject-CRITICAL **: g_object_unref: assertion `G_IS_OBJECT (object)' failed

(gthumb:3378): GLib-GObject-CRITICAL **: g_object_unref: assertion `G_IS_OBJECT (object)' failed
出现gthumb图形界面,但不能打开任何图片(见附件快照)


现在有几个问题要问:

1.我按照LFS和BLFS说明,每个包都是装在/usr下的,照理说应该不会有什么因为库文件或头文件找不到,导致程序编译或运行出错的机会。但是在编译安装一些包的时候,往往会出现像这样的信息:
[color="Red"]Libraries have been installed in:
   /usr/lib/gthumb

If you ever happen to want to link against installed libraries
in a given directory, LIBDIR, you must either use libtool, and
specify the full pathname of the library, or use the `-LLIBDIR'
flag during linking and do at least one of the following:
   - add LIBDIR to the `LD_LIBRARY_PATH' environment variable
     during execution
   - add LIBDIR to the `LD_RUN_PATH' environment variable
     during linking
   - use the `-Wl,--rpath -Wl,LIBDIR' linker flag
   - have your system administrator add LIBDIR to `/etc/ld.so.conf'

See any operating system documentation about shared libraries for
more information, such as the ld(1) and ld.so(8) manual pages.

是不是我应该在/etc/ld.so.conf里加进去/usr/lib/gthumb,并ldconfig后,程序才能正常运行?

2.如果上面的理论成立,我也在/etc/ld.so.conf里加了/usr/lib/gthumb,程序还是不能运行,那该从哪里检查出错原因?考虑到在安装gthumb前,我先安装了它的依赖包(文章可见具体包的名字),在编译这些包是,也出现过问题1中描述的情况,是不是也需要按照每个包提供的信息,在/etc/ld.so.conf里加入他们的文件搜索路径?我现在是没有加入他们的搜索路径,是否这才是gthumb不能运行的原因?

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
 楼主| 发表于 2006-10-23 13:31:33 | 显示全部楼层
问题3:
root用户运行make install时参照Makeflie文件的,应该在Makefile里有install字段,我贴出来:
check-am: all-am
check: check-recursive
all-am: Makefile config.h
installdirs: installdirs-recursive
installdirs-am:

[color="Red"]install: install-recursive
install-exec: install-exec-recursive
install-data: install-data-recursive
uninstall: uninstall-recursive
可以看出,install是引用install-recursive字段的,但我在Makefile里找不到相关的字段名。那么make install到底是怎么运行的,到底做了些什么事情?附上Makefile文件。请大家帮忙解决一下。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表