zoukankan      html  css  js  c++  java
  • linux:安装dglib

    转来的,解决的问题是同样的问题

     

    在32位ubuntu9.04上编译php5.2.12,到gd时make出错:

    ext/gd/libgd/.libs/gd_png.o: In function `php_gd_gdImageCreateFromPngCtx':
    /home/test/php-5.2.12/ext/gd/libgd/gd_png.c:142: undefined reference to `png_check_sig'
    collect2: ld returned 1 exit status
    make: *** [sapi/cli/php] 错误 1

    直接下载gd,在gd目录make也类似的错

    gcc -g -O2 -o .libs/annotate annotate.o /usr/local/lib/libiconv.so -Wl,-rpath -Wl,/usr/local/lib  -L/usr/local/lib 

    ./.libs/libgd.so /usr/local/lib/libjpeg.so /usr/local/lib/libfreetype.so /usr/local/lib/libpng14.so -lz -lm
    ./.libs/libgd.so: undefined reference to `png_check_sig'
    collect2: ld returned 1 exit status
    make[2]: *** [annotate] 错误 1
    make[2]:正在离开目录 `/home/test/gd-2.0.35'
    make[1]: *** [all-recursive] 错误 1
    make[1]:正在离开目录 `/home/test/gd-2.0.35'
    make: *** [all] 错误 2

    把php版本换为5.2.8也错,而且从上面单独编译gd错来看,与php无关.libpng已编译安装了的

    网上搜索不到原因


    补充:现在解决了.
    可以参见
    http://aspn.activestate.com/ASPN/Mail/Message/php-dev/3803631
    可以算是php的一个bug,libpng-1.4.0源码中的libpng-1.4.0.txt有说明,已经取消了png_check_sig这个函数,改用png_sig_cmp代替.自从libpng-0.90就已经反对使用png_check_sig函数了.这个帖子中采用修改php源码的方法,编辑ext/gd/libgd/gd_png.c,将
    if (!png_check_sig (sig, 8)) { /* bad signature */
    换成
    if (png_sig_cmp (sig, 0, 8)) { /* bad signature */
    但我不知道其他哪些地方有没有这个函数,所以我还是用libpng-1.2.35吧,看libpng-1.2.35.txt,就没有提png_check_sig的事.
    编译安装libpng-1.2.35后,php-5.2.12的mak

  • 相关阅读:
    python 用到的函数记录
    scala函数定义的四种方式
    java mail使用中遇到的550类型错误
    @Secured(), @PreAuthorize()
    jQuery each
    基于jQuery动态创建html元素
    jQuery validate在没有校验通过的情况下拒绝提交
    区别: @Secured(), @PreAuthorize() 及 @RolesAllowed()
    http meta
    注解:@Autowired
  • 原文地址:https://www.cnblogs.com/forward/p/1691204.html
Copyright © 2011-2022 走看看