Editing Compiling FileZilla 3 and Getting Dependencies on 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 1: Line 1:
This documentation explains how to setup a build environment for FileZilla 3 and how to compile it under Debian based distributions. This guide assumes you are using Debian stable,  but should work as well on other recent Debian-based distributions.
+
Note: This is an unofficial third-party guide
  
== Setting up build environment ==
+
This walkthrough is intended for use on a clean Linux distribution such as Ubuntu, Linux Mint, etc by a beginner who is unfamiliar with resolving dependencies.
  
As root, execute:
+
Step-By-Step guide on how to use this script:
apt build-dep filezilla libwxgtk3.0-dev
+
# Create a file called fzscript.sh in the directory where you wish to build Filezilla
apt install libtool git subversion xdg-utils
+
# Copy the below script into the file, save and exit.
 +
# Ensure fzscript.sh has permission to run
 +
# Open terminal and change the current working directory to the location of fzscript.sh
 +
# run this command: "sudo ./fzscript.sh"
  
Back as normal user, execute:
+
The expected running time can be anywhere from 10 minutes to hours depending on computer speed and internet connection speed.
mkdir ~/prefix
 
export PATH="$HOME/prefix/bin:$PATH"
 
export LD_LIBRARY_PATH="$HOME/prefix/lib:$LD_LIBRARY_PATH"
 
export PKG_CONFIG_PATH="$HOME/prefix/lib/pkgconfig:$PKG_CONFIG_PATH"
 
  
== Getting dependencies ==
+
The script is publicly available at the pastebin link: http://pastebin.com/6r0dB43d
  
Note: This guide is for setting up a development environment. To build the latest officially released versions, download and extract the respective source tarballs instead and skip the autoreconf step.
+
In case the script does not work, because the Linux libraries are not always up-to-date, follow this step-by-step guide to compile and install Filezilla Client.
  
=== wxWidgets ===
+
Run the following commands from the Linux terminal:
 +
#sudo apt-get install gettext
 +
#sudo apt-get install autoconf
 +
#sudo apt-get install automake
 +
#sudo apt-get install libdbus-c++-dev
 +
#sudo apt-get install libperl-dev
 +
#sudo apt-get install libtool
 +
#sudo apt-get install libgtk2.0-dev
 +
#sudo apt-get install libsqlite3-dev
 +
#sudo apt-get install libtinyxml-dev
 +
#sudo apt-get install libdbus-1-dev
  
  cd ~
+
To install the following dependencies, download the specified version or most recent if not specified, extract the downloaded files, navigate to the directory in the terminal and execute the commands:
  git clone --branch WX_3_0_BRANCH --single-branch https://github.com/wxWidgets/wxWidgets.git wx3
+
*sudo ./configure
  cd wx3
+
*sudo make
  ./configure --prefix="$HOME/prefix" --enable-shared --disable-static --enable-unicode
+
*sudo make install
  make && make install
+
*For #4 Nettle, use this special configure line: sudo ./configure --prefix=/usr/local --with-include-path=/usr/local/include --with-lib-path=/usr/local/lib
 
+
#libdbin download & install - http://ftp.gnu.org/gnu/libidn/
=== libfilezilla ===
+
#GMP download & install - https://gmplib.org/
 
+
#libgcrypt and libgpg-error download & install - https://www.gnupg.org/download/index.html
  cd ~
+
#Nettle download & install - https://ftp.gnu.org/gnu/nettle/ (Version 2.7.1)
  svn co https://svn.filezilla-project.org/svn/libfilezilla/trunk lfz
+
#Gnutls download & install - http://gnutls.org/download.html
  cd lfz
+
#wxWidgets download & install https://www.wxwidgets.org/downloads/
  autoreconf -i
+
To compile and install Filezilla, extract Filezilla's source code and navigate to the directory in a terminal. Then, execute the following commands:
  ./configure --prefix="$HOME/prefix" --enable-shared --disable-static
+
#sudo autoreconf -i
  make && make install
+
#sudo ./configure
 
+
#sudo make
== Compiling FileZilla ==
+
#sudo make install
 
+
If you get an error loading shared libraries at the make step, here is how to fix it:
  cd ~
+
#Run as a root in the Filezilla directory using this command: sudo su
  svn co https://svn.filezilla-project.org/svn/FileZilla3/trunk fz
+
#Execute the command: ldconfig
  cd fz
+
#Execute the command: Exit
  autoreconf -i
+
#Try make again
  ./configure --prefix="$HOME/prefix" --enable-shared --disable-static
+
If you followed these steps, executing filezilla in the terminal should run the program. If you get stuck in the compilation go back over the steps and be sure you installed every dependency as specified.
  make && make install
 
 
 
And you're done. Type filezilla to start FileZilla.
 

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)