Skip to content

Instantly share code, notes, and snippets.

@Logic-gate
Last active August 28, 2022 04:54
Show Gist options
  • Star 3 You must be signed in to star a gist
  • Fork 1 You must be signed in to fork a gist
  • Save Logic-gate/b7c3dd955288228e7219eeb46456e7de to your computer and use it in GitHub Desktop.
Save Logic-gate/b7c3dd955288228e7219eeb46456e7de to your computer and use it in GitHub Desktop.
MegaSync Client Installation | Solus
https://dev.solus-project.com/T163
Clone it -- https://github.com/meganz/MEGAsync
> git clone https://github.com/meganz/MEGAsync.git
> cd MEGAsync
> git submodule update --init --recursive
Get crypto++ | I think it's already in the repo (cryptopp-devel) if not:
> wget https://www.cryptopp.com/cryptopp563.zip #Tested on version 5.6.3
> mkdir ~/crypto && cd ~/crypto && unzip ~/Downloads/cryptopp563.zip
> make libcryptopp.so libcryptopp.a If anything goes wrong make clean. Note: only .so is needed..but what the heck.
> sudo make install PREFIX=/usr
make sure everything is set
> ld -lcryptopp
You should see something like this
>> ld: warning: cannot find entry symbol _start; not setting start address
>> /usr/lib64/libcryptopp.so: undefined reference to `pthread_key_create'
>> /usr/lib64/libcryptopp.so: undefined reference to `pthread_getspecific'
>> /usr/lib64/libcryptopp.so: undefined reference to `pthread_key_delete'
>> /usr/lib64/libcryptopp.so: undefined reference to `pthread_setspecific'
Export CFLAG for c-ares
> nano src/MEGASync/mega/contrib/build_sdk.sh
Add it before ./configure on line 501
"export CFLAGS="${CFLAGS/-D_FORTIFY_SOURCE=2}""
So that it looks like this
>> package_extract $name $cares_file $cares_dir
>> export CFLAGS="${CFLAGS/-D_FORTIFY_SOURCE=2}"
>> package_configure $name $cares_dir $install_dir "$cares_params"
>> package_build $name $cares_dir
>> package_install $name $cares_dir $install_dir
Get qt5-devel -- We want qmake(5) not qmake-qt4
> sudo eopkg it qt5-base-devel
OpenGl - needed due to dependency amplification
> sudo eopkg it libglu-devel
Configure
Head back to MEGA root -- /src
> ./configure
> qmake MEGA.pro
> lrelease MEGASync/MEGASync.pro
> make
That's it.. Exec located at MEGAsync/src/MEGASync/megasync
Additional setup for ease
> sudo cp megasync /usr/bin/megasync
> sudo nano /usr/share/applications/megasync.desktop and paste this
```
[Desktop Entry]
Type=Application
Verion=2.9.8
GenericName=File Synchronizer
Name=MEGASync
Comment=Easy Automated syncing between your computers and your MEGA cloud drive.
TryExec=megasync
Exec=megasync
Icon=mega
Terminal=False
Categories=Network;System;
StartupNotify=False
And finally to get the icon in the app tray
sudo cp MEGAsync/src/MEGASync/gui/images/app_128.png /usr/share/pixmaps/mega.png
```
NOTES:
I have this setup on 2 solus boxes. Only one of them has the MEGA icon instead of the regular folder icon. Note sure why.
@Splizard
Copy link

Splizard commented Feb 9, 2018

This doesn't seem to work any longer...Mega ./configure fails when extracting libuv.
Could you share a working Solus binary?

@zios870
Copy link

zios870 commented Sep 23, 2018

I was successfully build this. But I have to install curl-devel and bzip2-devel package. Those are available in Solus repo. I'm using the latest version of Solus.

@dodecandrea
Copy link

checking for c-ares... checking ares.h usability... no
checking ares.h presence... no
checking for ares.h... no
configure: error: ares.h header not found or not usable
How can i fix this problem? It seems that it cannot find the header file, even if I export the c-ares flag correctly

@navoytak
Copy link

navoytak commented Nov 21, 2018

I have forked and updated the gist here for Solus 3.99:

https://gist.github.com/jiawanyovan/27786d8b45414a7b3c272731fb6821a5

Missing components in my case are:

  1. Libraw
  2. Qt5-svg
  3. Sqlite3

@dodecandrea, you may need to install system.devel as gleaned from the "Basics to Package Management" article on https://getsol.us/articles/package-management/basics/en/ :

sudo eopkg install -c system.devel

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment