Editing Cross Compiling FileZilla 3 for Windows under Ubuntu or Debian GNU/Linux

From FileZilla Wiki
Jump to navigationJump to search

Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then save the changes below to finish undoing the edit.

Latest revision Your text
Line 5: Line 5:
 
Any recent Linux should do the trick. For the sake of simplicity, this guide focuses on Debian(-based) distributions.
 
Any recent Linux should do the trick. For the sake of simplicity, this guide focuses on Debian(-based) distributions.
  
We strongly recommend to use [http://debian.org Debian '''12''' (Bookworkm)] or later ('''recommended''')
+
We stronly recommend to use [http://debian.org Debian '''9''' (Stretch)] or later ('''recommended''')
  
 
== Setting up the build environment ==
 
== Setting up the build environment ==
Line 12: Line 12:
 
  dpkg --add-architecture i386
 
  dpkg --add-architecture i386
 
  apt update
 
  apt update
  apt install automake autoconf libtool make gettext lzip xz-utils
+
  apt install automake autoconf libtool make gettext lzip
  apt install mingw-w64 pkg-config wx-common wine wine64 wine32 wine-binfmt subversion git
+
  apt install mingw-w64 pkg-config wx-common wine wine32 wine-binfmt subversion git
  
 
Back as normal user, execute:
 
Back as normal user, execute:
Line 39: Line 39:
  
 
  cd ~/src
 
  cd ~/src
  wget https://gmplib.org/download/gmp/gmp-6.3.0.tar.lz
+
  wget https://gmplib.org/download/gmp/gmp-6.1.2.tar.lz
  tar xf gmp-6.3.0.tar.lz
+
  tar xf gmp-6.1.2.tar.lz
  cd gmp-6.3.0
+
  cd gmp-6.1.2
  CC_FOR_BUILD=gcc ./configure --host=$TARGET_HOST --prefix="$HOME/prefix" --disable-static --enable-shared --enable-fat
+
  ./configure --host=$TARGET_HOST --prefix="$HOME/prefix" --disable-static --enable-shared --enable-fat
 
  make
 
  make
 
  make install
 
  make install
Line 49: Line 49:
  
 
  cd ~/src
 
  cd ~/src
  wget https://ftp.gnu.org/gnu/nettle/nettle-3.9.1.tar.gz
+
  wget https://ftp.gnu.org/gnu/nettle/nettle-3.4.1.tar.gz
  tar xf nettle-3.9.1.tar.gz
+
  tar xf nettle-3.4.1.tar.gz
  cd nettle-3.9.1
+
  cd nettle-3.4.1
  ./configure --host=$TARGET_HOST --prefix="$HOME/prefix" --enable-shared --disable-static --enable-fat
+
  ./configure --host=$TARGET_HOST --prefix="$HOME/prefix" --enable-shared --disable-static --enable-fat LDFLAGS="-L$HOME/prefix/lib" CPPFLAGS="-I$HOME/prefix/include"
 
  make
 
  make
 
  make install
 
  make install
Line 59: Line 59:
  
 
  cd ~/src
 
  cd ~/src
  wget https://www.gnupg.org/ftp/gcrypt/gnutls/v3.8/gnutls-3.8.1.tar.xz
+
  wget https://www.gnupg.org/ftp/gcrypt/gnutls/v3.6/gnutls-3.6.7.tar.xz
  tar xvf gnutls-3.8.1.tar.xz
+
  tar xvf gnutls-3.6.7.tar.xz
  cd gnutls-3.8.1
+
  cd gnutls-3.6.7
  ./configure --host=$TARGET_HOST --prefix="$HOME/prefix" --enable-shared --disable-static --without-p11-kit --with-included-libtasn1 --with-included-unistring --disable-srp-authentication --disable-dtls-srtp-support --disable-heartbeat-support --disable-psk-authentication --disable-anon-authentication --disable-openssl-compatibility --without-tpm --without-brotli --disable-cxx --disable-doc --enable-threads=windows --disable-tools
+
  ./configure --host=$TARGET_HOST -enable-shared --disable-static --without-p11-kit --with-included-libtasn1 --with-included-unistring --enable-local-libopts --disable-srp-authentication --disable-dtls-srtp-support --disable-heartbeat-support --disable-psk-authentication --disable-anon-authentication --disable-openssl-compatibility --without-tpm --disable-cxx
 
  make
 
  make
 
  make install
 
  make install
Line 79: Line 79:
  
 
  cd ~/src
 
  cd ~/src
  wget https://prdownloads.sourceforge.net/nsis/nsis-3.09-setup.exe
+
  wget https://prdownloads.sourceforge.net/nsis/nsis-3.04-setup.exe
  wine nsis-3.09-setup.exe /S
+
  wine nsis-3.04-setup.exe /S
  
 
The above may print a lot of errors and warnings. Ignore them, check for success this way:
 
The above may print a lot of errors and warnings. Ignore them, check for success this way:
Line 93: Line 93:
 
  make
 
  make
 
  make install
 
  make install
cp $HOME/prefix/lib/wx*.dll $HOME/prefix/bin
 
  
 
== Compile libfilezilla ==
 
== Compile libfilezilla ==
  
 
  cd ~/src
 
  cd ~/src
  svn co https://svn.filezilla-project.org/svn/libfilezilla/tags/0.33.0 lfz
+
  svn co https://svn.filezilla-project.org/svn/libfilezilla/tags/0.15.1 lfz
 
  cd lfz
 
  cd lfz
 
  autoreconf -i
 
  autoreconf -i
Line 104: Line 103:
 
  make
 
  make
 
  make install
 
  make install
 +
cp $HOME/prefix/lib/wx*.dll $HOME/prefix/bin
  
 
== Compile FileZilla ==
 
== Compile FileZilla ==
  
 
  cd ~/src
 
  cd ~/src
  svn co https://svn.filezilla-project.org/svn/FileZilla3/tags/3.56.0/ fz
+
  svn co https://svn.filezilla-project.org/svn/FileZilla3/tags/3.40.0/ fz
 
  cd fz
 
  cd fz
 
  autoreconf -i
 
  autoreconf -i

Please note that all contributions to FileZilla Wiki are considered to be released under the GNU Free Documentation License 1.2 (see FileZilla Wiki:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!

Cancel Editing help (opens in new window)