filezilla make 失败,错误为“目标‘all-recursive’的配方失败”

filezilla make 失败,错误为“目标‘all-recursive’的配方失败”

我一直尝试按照此处的说明在 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
    

相关内容