/MEGAsync

MEGAsync for aarch64, Forked from meganz/MEGAsync

Primary LanguageC++OtherNOASSERTION

MEGA Sync Client

This is a fork to support running MEGASync on Linux aarch64

Easy automated syncing between your computers and your MEGA cloud drive.

This repository contains all the development history of the official sync client of MEGA: https://mega.nz/sync

Supported Platforms

  • Microsoft Windows operating systems
  • OS X
  • Linux

Get the source

git clone --recursive https://github.com/meganz/MEGAsync.git

Windows compilation

Requirements:
  • Visual Studio 2015
  • QT 5.6.3
  • Qt Creator
Preparation:

1.- Prepare QTCreator to use the Visual Studio 2015 toolchain and QT 5.6.3 - 32 bits

2.- Clone or download this repo

3.- Create a folder Release_x32 inside the root of the code that you have just downloaded

4.- Download the required third party libraries from this link: https://mega.nz/#!8tZglCTR!cZ_B39i9YxLgt3_8x9LsOpFhFDHuAh4jdz78IuQTQT4

5.- Uncompress that file into src\MEGASync\mega\bindings\qt

6.- Open the project src/MEGA.pro with QTCreator

7.- Select the folder Release_x32 as the target for Release and Debug builds

8.- Build the project

9.- Copy or move the .dll files from the folder src\MEGASync\mega\bindings\qt\3rdparty\bin to the folder Release_x32\MEGASync

10.- Enjoy!

It's recommended to go to Project -> Run in QTCreator and disable the option Run in terminal

OS X compilation

Requirements:
  • Xcode 8.3
  • QT 5.6.3
Preparation:

1.- Install Xcode in your system

2.- Clone or download this repo

3.- Download the required third party libraries and configuration file (config.h) from this link: https://mega.nz/#!T14B0Y4T!EXGg9dRtacgz9_vCUtVq5tj6C3PBpkOHgXG289EBxBM

4.- Uncompress that file and move the folder 3rdparty into src/MEGASync/mega/bindings/qt/ and the file config.h into src/MEGASync/mega/include/mega/

5.- Run the script installer_mac.sh to build the project and generate the application bundle for MEGAsync. If you want to generate an Apple disk image (DMG file), add the flag --create-dmg. Build directory is Release_x64

6.- Enjoy!

Linux compilation

Requirements:

  • Using gcc compiler below version 5 might result in compiler errors.
  • Third party requirements vary depending on your system.

Preparation:

First install dependencies. e.g., for a debian/ubuntu with QT >= 5.6 (e.g: Ubuntu 18.04):

sudo apt-get install libzen-dev libmediainfo-dev debhelper qtbase5-dev qt5-qmake libqt5x11extras5-dev libqt5dbus5 libqt5svg5-dev libcrypto++-dev libraw-dev libc-ares-dev libssl-dev libsqlite3-dev zlib1g-dev wget dh-autoreconf cdbs unzip libtool-bin pkg-config qt5-default qttools5-dev-tools libavcodec-dev libavutil-dev libavformat-dev libswscale-dev libmediainfo-dev

for older debian/ubuntu based systems (e.g: Ubuntu 16.04):

sudo apt-get install build-essential autoconf automake m4 libtool libtool-bin qt4-qmake make libqt4-dev libcrypto++-dev libsqlite3-dev libc-ares-dev libcurl4-openssl-dev libssl-dev libraw-dev libavcodec-dev libavutil-dev libavformat-dev libswscale-dev libmediainfo-dev
# Optional, if you wish to build nautilus extension:
sudo apt-get install libnautilus-extension-dev

Addition: for RPM based (e.g: Fedora):

sudo dnf install libtool gcc-c++ c-ares-devel cryptopp-devel openssl-devel qt-devel sqlite-devel zlib-devel LibRaw-devel

Building:

cd src
./configure
qmake MEGA.pro
lrelease MEGASync/MEGASync.pro
make

Note: when compiling for Fedora/RHEL/CentOS and alike, qmake and lrelease might be missing for qt4. Use qmake-qt4 and lrelease-qt4 instead. Also, adding -q to configure is recommended in order to download and build cryptopp for RHEL and CentOS.

Known Issues

For Solus, c-ares might not compile do to a CFLAG defined by gcc: -D_FORTIFY_SOURCE=2. This issue and its possible solution is described here c-ares/c-ares#58 and http://ma.tc/ehuboqatec.md.