LinuxSir.cn,穿越时空的Linuxsir!

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

./php: symbol gdImageGifCtx: referenced symbol not found

[复制链接]
发表于 2007-11-7 13:24:13 | 显示全部楼层 |阅读模式
这个问题其实不该在这里问,因为问题是solaris上面的。但是sir的solaris板块人气太那个,而且这个问题与平台没什么太大关系,所以在这里问问。

在实验室的solaris 10 服务器上装apache+php。solaris程序安装是有二进制包的,我把apache搞定了,php也按照要求装好,依赖的包也装好了,但是直接运行php或者启动apache都会报错:
  1. rose-bin{70} ./php
  2. ld.so.1: ./php: fatal: relocation error: file ./php: symbol gdImageGifCtx: referenced symbol not found
复制代码

gdImageGifCtx应该是属于libgd的,我确定装好了,使用ldd看php和libgd所需要的库文件都是存在的。
  1. rose-bin{73} ldd php
  2.         librt.so.1 =>    /usr/lib/librt.so.1
  3.         libldap-2.3.so.0 =>      /usr/local/lib/libldap-2.3.so.0
  4.         libsasl2.so.2 =>         /usr/local/lib/libsasl2.so.2
  5.         libdl.so.1 =>    /usr/lib/libdl.so.1
  6.         libnsl.so.1 =>   /usr/lib/libnsl.so.1
  7.         libresolv.so.2 =>        /usr/lib/libresolv.so.2
  8.         libsocket.so.1 =>        /usr/lib/libsocket.so.1
  9.         libssl.so.0.9.8 =>       /usr/local/ssl/lib/libssl.so.0.9.8
  10.         libcrypto.so.0.9.8 =>    /usr/local/ssl/lib/libcrypto.so.0.9.8
  11.         liblber-2.3.so.0 =>      /usr/local/lib/liblber-2.3.so.0
  12.         libintl.so.1 =>  /usr/lib/libintl.so.1
  13.         libgd.so.2 =>    /opt/sfw/lib/libgd.so.2
  14.         libXpm.so.4.11 =>        /usr/lib/libXpm.so.4.11
  15.         libX11.so.4 =>   /usr/lib/libX11.so.4
  16.         libfontconfig.so.1 =>    /usr/lib/libfontconfig.so.1
  17.         libexpat.so.0 =>         /usr/local/lib/libexpat.so.0
  18.         libfreetype.so.6 =>      /usr/local/lib/libfreetype.so.6
  19.         libpng12.so.0 =>         /usr/lib/libpng12.so.0
  20.         libz.so =>       /usr/lib/libz.so
  21.         libm.so.2 =>     /usr/lib/libm.so.2
  22.         libjpeg.so.62 =>         /usr/lib/libjpeg.so.62
  23.         libcurl.so.4 =>  /usr/local/lib/libcurl.so.4
  24.         libmysqlclient.so.15 =>  /usr/lib/libmysqlclient.so.15
  25.         libgen.so.1 =>   /usr/lib/libgen.so.1
  26.         libxml2.so.2 =>  /usr/lib/libxml2.so.2
  27.         libpthread.so.1 =>       /usr/lib/libpthread.so.1
  28.         libiconv.so.2 =>         /usr/local/lib/libiconv.so.2
  29.         libc.so.1 =>     /usr/lib/libc.so.1
  30.         libaio.so.1 =>   /usr/lib/libaio.so.1
  31.         libmd5.so.1 =>   /usr/lib/libmd5.so.1
  32.         libgcc_s.so.1 =>         /opt/sfw/lib/libgcc_s.so.1
  33.         libmp.so.2 =>    /usr/lib/libmp.so.2
  34.         libscf.so.1 =>   /usr/lib/libscf.so.1
  35.         libfreetype.so.6 =>      /usr/sfw/lib/libfreetype.so.6
  36.         libpng.so.3 =>   /usr/lib/libpng.so.3
  37.         libXext.so.0 =>  /usr/lib/libXext.so.0
  38.         libexpat.so.0 =>         /usr/sfw/lib/libexpat.so.0
  39.         libdoor.so.1 =>  /usr/lib/libdoor.so.1
  40.         libuutil.so.1 =>         /usr/lib/libuutil.so.1
  41.         /platform/SUNW,Sun-Fire-V210/lib/libc_psr.so.1
  42.         /platform/SUNW,Sun-Fire-V210/lib/libmd5_psr.so.1
  43. rose-bin{74} ldd /opt/sfw/lib/libgd.so.2.0.0
  44.         libXpm.so.4 =>   /usr/lib/libXpm.so.4
  45.         libX11.so.4 =>   /usr/lib/libX11.so.4
  46.         libjpeg.so.62 =>         /usr/lib/libjpeg.so.62
  47.         libfreetype.so.6 =>      /usr/sfw/lib/libfreetype.so.6
  48.         libpng.so.3 =>   /usr/lib/libpng.so.3
  49.         libz.so.1 =>     /usr/lib/libz.so.1
  50.         libm.so.2 =>     /usr/lib/libm.so.2
  51.         libc.so.1 =>     /usr/lib/libc.so.1
  52.         libXext.so.0 =>  /usr/lib/libXext.so.0
  53.         libsocket.so.1 =>        /usr/lib/libsocket.so.1
  54.         libnsl.so.1 =>   /usr/lib/libnsl.so.1
  55.         libdl.so.1 =>    /usr/lib/libdl.so.1
  56.         libmp.so.2 =>    /usr/lib/libmp.so.2
  57.         libmd5.so.1 =>   /usr/lib/libmd5.so.1
  58.         libscf.so.1 =>   /usr/lib/libscf.so.1
  59.         libdoor.so.1 =>  /usr/lib/libdoor.so.1
  60.         libuutil.so.1 =>         /usr/lib/libuutil.so.1
  61.         /platform/SUNW,Sun-Fire-V210/lib/libc_psr.so.1
  62.         /platform/SUNW,Sun-Fire-V210/lib/libmd5_psr.so.1
复制代码


我想问的是,碰到这种情况应该如何找出问题的原因呢?以前碰到类似问题都很抓狂
 楼主| 发表于 2007-11-7 13:41:16 | 显示全部楼层
用什么命令可以看一个so文件里面有没有某个函数?
在编译源码的时候经常看到checking for XXX in -lXXX yes/no,这个如何办到的?
回复 支持 反对

使用道具 举报

发表于 2007-11-7 14:52:17 | 显示全部楼层
objdump -T /usr/lib/libfreetype.so | grep \.text

那个是编译并连接一个小文件,看是否可以连接成功
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-11-7 16:11:15 | 显示全部楼层
没有objdump。。。
拿源码编译了一次,搞定。。。
回复 支持 反对

使用道具 举报

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

本版积分规则

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