我一直尝试按照此处的说明在 Ubuntu 18.04.4 LTS 上安装 Filezilla 3.47.2.1: 如何将 filezilla 升级到当前版本?
一切工作正常,直到源 Filezilla 的步骤 ./configure 时,我在 dbus 上收到错误(指向版本 1-3),我使用以下命令解决了该问题:
sudo apt install dbus libdbus-1-3 libdbus-1-dev
然后使用 gtk2,我用以下方法解决了这个问题:
sudo apt install libgtk2.0-dev
但是现在在 make 步骤中我收到此错误:
g++ -std=c++17 -DHAVE_CONFIG_H -I. -I../../../src/interface -I../../src/include -I../../../src/interface/../include -I/usr/local/include -I/usr/include/p11-kit-1 -I/usr/lib/x86_64-linux-gnu/wx/include/gtk2-unicode-3.0 -I/usr/include/wx-3.0 -D_FILE_OFFSET_BITS=64 -DWXUSINGDLL -D__WXGTK__ -pthread -I/usr/include/gtk-2.0 -I/usr/lib/x86_64-linux-gnu/gtk-2.0/include -I/usr/include/gio-unix-2.0/ -I/usr/include/cairo -I/usr/include/pango-1.0 -I/usr/include/atk-1.0 -I/usr/include/cairo -I/usr/include/pixman-1 -I/usr/include/gdk-pixbuf-2.0 -I/usr/include/libpng16 -I/usr/include/pango-1.0 -I/usr/include/harfbuzz -I/usr/include/pango-1.0 -I/usr/include/glib-2.0 -I/usr/lib/x86_64-linux-gnu/glib-2.0/include -I/usr/include/freetype2 -I/usr/include/libpng16 -I/usr/include/freetype2 -I/usr/include/libpng16 -fpch-preprocess -g -O2 -Wall -MT filezilla-local_recursive_operation.o -MD -MP -MF .deps/filezilla-local_recursive_operation.Tpo -c -o filezilla-local_recursive_operation.o `test -f 'local_recursive_operation.cpp' || echo '../../../src/interface/'`local_recursive_operation.cpp
../../../src/interface/local_recursive_operation.cpp: In member function ‘void CLocalRecursiveOperation::entry()’:
../../../src/interface/local_recursive_operation.cpp:201:93: error: no matching function for call to ‘fz::local_filesys::get_next_file(fz::native_string&, bool&, bool&, int64_t*, fz::datetime*, int*)’
while (fs.get_next_file(name, isLink, isDir, &entry.size, &entry.time, &entry.attributes)) {
^
In file included from ../../../src/interface/local_recursive_operation.cpp:4:0:
/usr/local/include/libfilezilla/local_filesys.hpp:106:7: note: candidate: bool fz::local_filesys::get_next_file(fz::native_string&)
bool get_next_file(native_string& name);
^~~~~~~~~~~~~
/usr/local/include/libfilezilla/local_filesys.hpp:106:7: note: candidate expects 1 argument, 6 provided
/usr/local/include/libfilezilla/local_filesys.hpp:117:7: note: candidate: bool fz::local_filesys::get_next_file(fz::native_string&, bool&, fz::local_filesys::type&, int64_t*, fz::datetime*, int*)
bool get_next_file(native_string& name, bool &is_link, type & t, int64_t* size, datetime* modification_time, int* mode);
^~~~~~~~~~~~~
/usr/local/include/libfilezilla/local_filesys.hpp:117:7: note: no known conversion for argument 3 from ‘bool’ to ‘fz::local_filesys::type&’
Makefile:1855: recipe for target 'filezilla-local_recursive_operation.o' failed
make[4]: *** [filezilla-local_recursive_operation.o] Error 1
make[4]: Leaving directory '/tmp/filezilla-3.47.2.1/compile/src/interface'
Makefile:3123: recipe for target 'all-recursive' failed
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory '/tmp/filezilla-3.47.2.1/compile/src/interface'
Makefile:970: recipe for target 'all' failed
make[2]: *** [all] Error 2
make[2]: Leaving directory '/tmp/filezilla-3.47.2.1/compile/src/interface'
Makefile:436: recipe for target 'all-recursive' failed
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory '/tmp/filezilla-3.47.2.1/compile/src'
Makefile:617: recipe for target 'all-recursive' failed
make: *** [all-recursive] Error 1
有什么建议可以告诉我该怎么做吗?我现在还不知道。谢谢,Natassa
答案1
我在系统上执行以下操作时得到了相同的结果
sudo apt-get build-dep filezilla
cd ~/Downloads
tar -xf libfilezilla-0.21.0.tar.bz2
cd libfilezilla-0.21.0/
./configure
make
sudo make install
tar -xf FileZilla_3.47.2.1_x86_64-linux-gnu.tar.bz2
cd filezilla-3.47.2.1/
./configure
make
另请注意,FileZilla_3.47.2.1_x86_64-linux-gnu.tar.bz2
官方网站的二进制文件无法在 Ubuntu 18.04 LTS 上运行。因为它是为较新的 Debian 父发行版构建的。
但我们有两个选择
安装FileZilla 3.47.2.1 作为 FlatPak
sudo apt-get install flatpak flatpak remote-add --if-not-exists flathub https://flathub.org/repo/flathub.flatpakrepo flatpak install flathub org.filezillaproject.Filezilla
安装 FileZilla 3.46.3来自第三方 PPA:
sudo add-apt-repository ppa:sicklylife/filezilla sudo apt-get install filezilla