How can I upgrade filezilla to the current version? [duplicate]

Filezilla was acting weird with version 3.21, which is pretty old; the current one is 3.30. So, I decided to update it but it looks like this is not possible. After spending hours trying it, I returned to the old version 3.21.

Is there any possible way to update it , or is there any other FTP client that works better (and can be updated)?

Update:

I run Ubuntu 16.04 TLS, the post about repositories not having latest versions is not relevant because I need procedures to follow, not an open discussion.


Solution 1:

NOTE: The newest precompiled version of Filezilla is now 3.49.1 which was built for Debian 10.0 (Buster). If you are running Ubuntu 18.04 LTS or older, the libc6 library does not contain GLIBC 2.28 which is now required by the precompiled version of Filezilla 3.49.1. Ubuntu 18.10 and newer contain the newer libc6 and are not affected by this. I removed the section below that contained how to replace your installation with the precompiled version since it really is outdated now. It is recommended to install Filezilla from source or through the apt-get install method (which will be an older version). It is probably best to remove any version that was installed with apt since it might try to "upgrade" back to the older version.


Build and install Filezilla 3.49.1 from source:

Install the prerequisites for installing from source:

Older than 20.04:

sudo apt install build-essential cmake wx-common libpugixml-dev libsqlite3-dev libwxgtk3.0-dev nettle-dev gnutls-bin libgnutls28-dev libunistring-dev

For 20.04:

sudo apt install build-essential cmake wx-common libpugixml-dev libsqlite3-dev libwxgtk3.0-gtk3-dev nettle-dev gnutls-bin libgnutls28-dev libunistring-dev libdbus-1-dev libgtk-3-dev

You will need to update to libnettle 3.4.1:

cd /tmp
wget https://ftp.gnu.org/gnu/nettle/nettle-3.4.1.tar.gz
tar zxvf nettle-3.4.1.tar.gz
cd nettle-3.4.1/
./configure
make
sudo make install

Also need to update gnutls to version 3.6.13:

cd /tmp
wget https://www.gnupg.org/ftp/gcrypt/gnutls/v3.6/gnutls-3.6.13.tar.xz
tar xvf gnutls-3.6.13.tar.xz
cd gnutls-3.6.13/
./configure
make
sudo make install

Download pugixml and build from source:

cd /tmp
wget https://github.com/zeux/pugixml/releases/download/v1.10/pugixml-1.10.tar.gz
tar zxvf pugixml-1.10.tar.gz
cd pugixml-1.10/
cmake .
make
sudo make install

Download libfilezilla-0.23.0 that is needed from here. NOTE: Only libfilezilla-0.11.0 is available in the Ubuntu 18.04 LTS repositories. Also, only libfilezilla-0.19.0 is available in Ubuntu 20.04 LTS repositories.

Copy the file to /tmp then extract, build and install:

cd /tmp
tar -xvjf libfilezilla-0.23.0.tar.bz2 
cd libfilezilla-0.23.0/
./configure
make
sudo make install

Now get the source for Filezilla 3.49.1 from here

Copy the file to /tmp, then extract, build and install:

cd /tmp
tar -vxjf FileZilla_3.49.1_src.tar.bz2 
cd filezilla-3.49.1/
./configure
make
sudo make install

With the lib installs you might get the following message if it doesn't start or FileZilla may not be starting at all:

filezilla: error while loading shared libraries: libfilezilla.so.0: cannot open shared object file: No such file or directory

To fix it, simply run

sudo ldconfig 

Now run FileZilla and it should be the newest version:

enter image description here

Hope this helps!