filezilla安装

时间:2022-09-26 08:54:50
[alexus@wcmisdlin02 bin]$ ./filezilla
./filezilla: /lib64/libstdc++.so.6: version `CXXABI_1.3.8' not found (required by ./filezilla)
./filezilla: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by ./filezilla)
[alexus@wcmisdlin02 bin]$

Your libstdc++ is too old. Please either update to a more resent libstdc++ or manually compile FileZilla for your platform.

源码:https://filezilla-project.org/sourcecode.php

rpm -Uvh http://repos.codelite.org/wx3.0.2/wx3.0-packages/fedora/3.0.2/20/wx-base-unicode-devel-3.0.2-1.i686.rpm

通过编译代码来安装filezilla,首先执行./configure,报如下错误:

  1. configure: error:
  2. wxWidgets must be installed on your system
  3. but either the wx-config script couldn't be found or
  4. no compatible wxWidgets configuration has been installed.
  5. Compatible wxWidgets configurations are the unicode builds
  6. of wxGTK, wxMac and wxMSW.
  7. Please check that wx-config is in path, the directory
  8. where wxWidgets libraries are installed (returned by
  9. 'wx-config --libs' command) is in LD_LIBRARY_PATH or
  10. equivalent variable and wxWidgets version is 2.8.12.0 or above.

【排查】

已经安装了gtk版的wxWidgets,且存在/usr/local/bin/wx-config。

1、/usr/local/bin/wx-config --version-full查看版本号为:
2.8.12.0

/usr/local/bin/wx-config --libs结果如下:
-L/usr/local/lib -pthread  
-lwx_gtk2_richtext-2.8 -lwx_gtk2_aui-2.8 -lwx_gtk2_xrc-2.8
-lwx_gtk2_qa-2.8 -lwx_gtk2_html-2.8 -lwx_gtk2_adv-2.8 -lwx_gtk2_core-2.8
-lwx_base_xml-2.8 -lwx_base_net-2.8 -lwx_base-2.8

得知wxWidgets的库在/usr/local/lib路径。

查看LD_LIBRARY_PATH环境变量为空。

export|grep LD_LIBRARY_PATH

2、设置环境变量LD_LIBRARY_PATH=/usr/local/lib

导出环境变量export LD_LIBRARY_PATH

查看环境变量export|grep LD_LIBRARY_PATH

declare -x LD_LIBRARY_PATH="/usr/local/lib"

重新../configure,还是报同样的错误。

3、查看configure文件,发现15450行出现,

  1. if test "$wxWin" != 1; then
  2. as_fn_error $? "
  3. wxWidgets must be installed on your system
  4. but either the wx-config script couldn't be found or
  5. no compatible wxWidgets configuration has been installed.
  6. Compatible wxWidgets configurations are the unicode builds
  7. of wxGTK, wxMac and wxMSW.
  8. Please check that wx-config is in path, the directory
  9. where wxWidgets libraries are installed (returned by
  10. 'wx-config --libs' command) is in LD_LIBRARY_PATH or
  11. equivalent variable and wxWidgets version is $MIN_WX_VERSION or above.
  12. " "$LINENO" 5
  13. fi

4、经过跟踪,发现15304行执行报错。

WX_VERSION=`$WX_CONFIG_WITH_ARGS --version 2>/dev/null`

进行变量展开,得到如下形式:

WX_VERSION=`/usr/local/bin/wx-config --unicode=yes --universal=no aui,xrc,adv,core,xml,net,base --version 2>/dev/null`

执行/usr/local/bin/wx-config --unicode=yes --universal=no aui,xrc,adv,core,xml,net,base --version 2>/dev/null,得到空值。

执行/usr/local/bin/wx-config --unicode=yes --universal=no aui,xrc,adv,core,xml,net,base --version,报错

  1. # /usr/local/bin/wx-config --unicode=yes --universal=no aui,xrc,adv,core,xml,net,base --version
  2. Warning: No config found to match: /usr/local/bin/wx-config --unicode=yes --universal=no aui,xrc,adv,core,xml,net,base --version
  3. in /usr/local/lib/wx/config
  4. If you require this configuration, please install the desired
  5. library build.  If this is part of an automated configuration
  6. test and no other errors occur, you may safely ignore it.
  7. You may use wx-config --list to see all configs available in
  8. the default prefix.

发现aui,xrc,adv,core,xml,net,base是wx安装的库文件,对应的是在/usr/local/lib目录下面的so文件。

运行/usr/local/bin/wx-config --list得到

Default config is gtk2-ansi-release-2.8

Default config will be used for output

运行/usr/local/bin/wx-config
--version示2.8.12。

【解决方案】

修改configure脚本,

将WX_CONFIG_WITH_ARGS="$WX_CONFIG_PATH $wx_config_args --unicode=yes --universal=no aui,xrc,adv,core,xml,net,base"改成

WX_CONFIG_WITH_ARGS="$WX_CONFIG_PATH $wx_config_args"

重新执行./configure脚本。该问题就解决了。