• Ubuntu下 FileZilla安装历险记


    以前在学校的时候经常使用FileZilla 下载资源,觉得挺好的;但是工作以后再也没有用过;最近需要做了一些网页想上传到网站中,于是下载了FileZilla_3.5.3_src.tar.bz2 源码,然后进行编译:提示没有wxWidgets 所以又接着下载 wxWidgets ,  于是从 http://www.wxwidgets.org/  下载了最新版 wxWidgets-2.9.3.tar.bz2  ,解压安装, 安装完成之后;再来编译FileZilla.

    不料又提示: configure: error: idna.h not found which is part of GNU libidn.

    晕菜了............

    只能打开 configure 看看这个Shell脚本:其中有这么一段:

    # Libidn checks
      # -------------
    
      ac_fn_c_check_header_mongrel "$LINENO" "idna.h" "ac_cv_header_idna_h" "$ac_includes_default"
    if test "x$ac_cv_header_idna_h" = xyes; then :
    
    else
    
        as_fn_error $? "idna.h not found which is part of GNU libidn." "$LINENO" 5
    
    fi
    checking for wxWidgets version >= 2.8.12 (--unicode=yes --universal=no)... yes (version 2.9.3)
    checking for wxWidgets static library... no
    configure: error: You need to use wxWidgets 2.8.x to compile this program.

     这提示 Libidn 库没有安装,那么安装吧:

    sudo apt-get install  libidn*

    想想这下应该OK了吧》

    始料未及的是 提示

    checking for wxWidgets version >= 2.8.12 (--unicode=yes --universal=no)... yes (version 2.9.3)
    checking for wxWidgets static library... no
    configure: error: You need to use wxWidgets 2.8.x to compile this program.

    我晕,我的版本可是 2.9.3耶, 远高于2.8.x ;  那只能修改 Shell脚本了 : configure

      if test "$wx_config_major_version" -gt "2" || test "$wx_config_minor_version" -gt "8"; then
    as_fn_error $? "You need to use wxWidgets 2.8.x to compile this program." "$LINENO" 5
    fi

     原来版本还不能高于2.8  将 8 改成9; 然后将以下2.8 全部改成 2.9.*就 OK了。

    if test -n "$LIBGNUTLS_CFLAGS"; then
    pkg_cv_LIBGNUTLS_CFLAGS="$LIBGNUTLS_CFLAGS"
    elif test -n "$PKG_CONFIG"; then
    if test -n "$PKG_CONFIG" && \
    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gnutls >= 2.8.3\""; } >&5
    ($PKG_CONFIG --exists --print-errors "gnutls >= 2.8.3") 2>&5
    ac_status=$?
    $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
    test $ac_status = 0; }; then
    pkg_cv_LIBGNUTLS_CFLAGS=`$PKG_CONFIG --cflags "gnutls >= 2.8.3" 2>/dev/null`
    else
    pkg_failed=yes
    fi
    else
    pkg_failed=untried
    fi
    if test -n "$LIBGNUTLS_LIBS"; then
    pkg_cv_LIBGNUTLS_LIBS="$LIBGNUTLS_LIBS"
    elif test -n "$PKG_CONFIG"; then
    if test -n "$PKG_CONFIG" && \
    { { $as_echo "$as_me:${as_lineno-$LINENO}: \$PKG_CONFIG --exists --print-errors \"gnutls >= 2.8.3\""; } >&5
    ($PKG_CONFIG --exists --print-errors "gnutls >= 2.8.3") 2>&5
    ac_status=$?
    $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
    test $ac_status = 0; }; then
    pkg_cv_LIBGNUTLS_LIBS=`$PKG_CONFIG --libs "gnutls >= 2.8.3" 2>/dev/null`
    else
    pkg_failed=yes
    fi
    else
    pkg_failed=untried
    fi



    总结: 在安装一个软件之前一定要看相关文档: INSTALL, README 等;里面会提供软件依赖情况,如FileZilla 的 INSTALL  的  Requirements:

      8 FileZilla depends on the following libraries:
    9 - wxWidgets 2.8.12 or greater
    10 - libidn
    11 - GnuTLS 2.8.3 or greater
    12 - libdbus on *nix
    13 - sqlite3 3.7 or greater

    在编译或使用的过程中得查看 configure 文件。如果还是搞不定,那就GOOGLE吧。



  • 相关阅读:
    php的多态性
    php接口
    php抽象类和抽象方法
    php类与对象的魔术方法
    php关键字
    php类型之class类,对象,构造函数的理解
    php日期格式化
    php之常用字符串方法
    php将获取的数组变成字符串传入txt文本。。。
    PHP之键值操作函数
  • 原文地址:https://www.cnblogs.com/bylikai/p/2351999.html
Copyright © 2020-2023  润新知