3A4000架构银河麒麟V10编译安装filezilla

最近因为甲方需求,要给其提供可断点续传的FTP客户端软件,跟银河麒麟公司联系,他们目前只有arm架构的filezilla,暂时还没有匹配3A4000下的filezilla,大概是还没有碰见这需求。无奈何,只能自己动手编译。
目前最新的filezilla的版本是3.65,根据经验判断,对于国产自主可控平台的软件移植,通常安装的软件版本,版本号越低,碰见的麻烦就会越少,斟酌之下,从网上找了个3.58版本的filezilla。
这里顺序记录正确的编译过程。

一、FileZilla的依赖解决

解压filiezilla-3.58源代码,其中有一个INSTALL文本文件,点开可看见其中内容。
可见依赖关系如下:

- libfilezilla 0.36.0 or greater
- wxWidgets 3.0.4 or greater of the 3.0.x branch
- libidn (only if not on Windows and not having gettaddrinfo with AI_IDN support)
- Nettle 3.1 or greater
- libdbus on *nix
- sqlite3 3.7 or greater

可见编译过程如下:

mkdir compile
cd compile
../configure
make
make install

可以使用yum list installed *XXX*利用关键字查看依赖满足的情况,可以发现。在我的银河麒麟系统中,缺少的依赖主要是libfilezilla以及wxWidget库。按照选用可用的最低版本的原则,我下载了libfilezilla-0.36以及wxWidget-3.0.4。

1.安装libfilezilla-0.36库

安装libfilezilla库文件,需要特意去解决的依赖关系有:
libfilezilla-0.36依赖于gnutls-3.7以上版本
gnutls-3.7依赖于nettle-3.6以上版本
在这部分依赖解决过程中,比较特别的是需要解决动态链接库以及库文件安装位置写入环境变量的问题。

1)动态链接库的搜索位置设置

因为默认的源代码安装的库文件的目录通常有两个,分别是/usr/lib以及/usr/local/lib,其中当搜索动态库时,前者目录默认是会被搜索的,而后者目录默认不会被搜索,因此需要修改配置项,即/etc/ld.so.conf,加入后者目录位置,修改方式如下

sudo pluma /etc/ld.so.conf

而后添加一行内容,修改为:

include /etc/ld.so.conf.d/*.conf
/usr/local/lib

保存之后,需要运行命令:

sudo ldconfig

即生效。
另外,注意!!!
通过源代码编译库文件,在每次成功编译一个动态库文件后,都需要进行sudo ldconfig以更新动态库的链接,不然不会生效。

2)./configure时依赖库搜索位置设置

执行./configure,进行依赖库文件搜索时,默认只搜索/usr/lib/pkgconfig文件下的库文件配置信息,而/usr/local/lib/pkgconfig文件夹不会被搜索,因此需要修改PKG_CONFIG_PATH环境变量,将/usr/local/lib/pkgconfig写入环境变量。
pkgconfig文件夹下保存的是一堆库文件的pc文件,即该库文件的版本之类的信息。
具体的做法有两种,一种是临时添加到环境变量,即在命令行中输入:

export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH

另一种方法是写入bashrc中,随终端启动每次都被执行。

gedit ~/.bashrc

在最后一行添加相同内容:

export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
3)编译安装过程记录

在修改完上述两条之后,操作如下:

$ export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:$PKG_CONFIG_PATH
$ tar -xf nettle-3.6.tar.gz 
$ cd nettle-3.6/
$ mkdir build
$ cd build
$ ../configure
$ make -j4
$ sudo make install
$ cd ../..
$ tar -xf gnutls-3.7.7.tar.xz
$ cd gnutls-3.7.7
$ mkdir build
$ cd build
$ ../configure --with-included-unistring
$ make -j4
$ sudo make install
$ cd ../..
$ tar -xf libfilezilla-0.36.0.tar.bz2
$ cd libfilezilla-0.36.0/
$ mkdir build
$ cd build
$ ../configure
$ make -j4
$ sudo make install
$ cd ../..

2.安装wxWidget-3.0.4库

在实际编译过程中,需要特意去解决的依赖关系有:
wxWidget-3.0.4依赖于pugixml-1.12
编译过程如下:

$ unzip pugixml-1.12.zip
$ cd pugixml-1.12/
$ mkdir build
$ cd build
$ cmake ../CMakeLists.txt
$ cd ..
$ make -j4
$ sudo make install
$ cd ../..
$ tar -xf wxWidgets-3.0.4.tar.bz2
$ cd wxWidgets-3.0.4/
$ mkdir build
$ cd build
$ ../configure
$ make -j4
$ sudo make install
$ cd ../..

二、FileZilla的安装

在解决完依赖后,安装过程如下:

$ tar -xf FileZilla_3.58.0_src.tar.bz2
$ cd filezilla-3.58.0/
$ mkdir build
$ cd build
$ ../configure --without-dbus
$ make -j4
$ sudo make install
$ cd ../..

三、总结

  1. 动态库的搜索目录需要添加/usr/local/lib
  2. configure的配置项记得添加/usr/local/lib/pkgconfig
  3. 记得源码编译安装完一个库后,尤其是动态库的话,记得执行一次ldconfig以写入环境变量。
  4. 源代码编译的依赖问题的解决,可多看看该库文件源代码下的说明文件。
  5. 最后,放上文章中所涉及的库文件源代码的下载地址,下载地址
  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
编译安装 FileZilla Server,您可以按照以下步骤进行操作: 1. 首先,确保您的系统满足 FileZilla Server 的编译和运行要求。FileZilla Server 目前仅适用于 Windows 系统。 2. 下载 FileZilla Server 的源代码。您可以从 FileZilla 官方网站(https://filezilla-project.org/)的下载页面获取最新的源代码压缩包。 3. 解压缩源代码压缩包到您选择的目录。 4. 检查是否已经安装了 Microsoft Visual Studio(版本 2013 或更高版本)和 CMake(版本 3.7 或更高版本)。这些是编译 FileZilla Server 所需的工具。 5. 打开 Visual Studio 开发人员命令提示符(Command Prompt)。 6. 使用 `cd` 命令切换到 FileZilla Server 源代码目录。 7. 运行以下命令生成构建文件: ``` cmake -G "Visual Studio 16" . ``` 注意,这里使用的是 Visual Studio 2019 的版本号。如果您使用的是其他版本的 Visual Studio,请相应地更改版本号。 8. 打开生成的 Visual Studio 解决方案文件(`.sln` 文件)。 9. 在 Visual Studio 中,选择 Release 配置并点击“生成”菜单中的“生成解决方案”选项。这将开始编译 FileZilla Server。 10. 编译完成后,在输出目录中找到生成的 FileZilla Server 可执行文件(`FileZilla Server.exe`)。 11. 在您选择的位置创建一个目录,用于存储 FileZilla Server 的配置和数据文件。 12. 将生成的可执行文件(`FileZilla Server.exe`)和其他必要的文件复制到上一步创建的目录中。 13. 运行 `FileZilla Server.exe` 文件,它将启动 FileZilla Server 的安装和配置向导。 14. 按照向导的指示完成 FileZilla Server 的安装和配置过程。 注意:编译安装 FileZilla Server 需要一定的技术知识和经验。如果您不熟悉编译安装过程,建议下载 FileZilla 官方网站提供的预编译版本进行安装。预编译版本不需要进行编译,可以直接安装和使用。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鱼月半

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值