Package Details: megasync 3.1.4.0-1

Git Clone URL: https://aur.archlinux.org/megasync.git (read-only)
Package Base: megasync
Description: Sync your files to your Mega account. Official app
Upstream URL: https://github.com/meganz/megasync
Licenses: custom:MEGA LIMITED CODE REVIEW LICENCE
Submitter: son_link
Maintainer: migrev
Last Packager: migrev
Votes: 238
Popularity: 7.576010
First Submitted: 2014-09-01 18:12
Last Updated: 2017-07-09 19:28

Latest Comments

RocHH commented on 2017-06-27 17:45

make > make -j 4
to build faster

Flobbes commented on 2017-06-19 16:45

I had the same problem.

Downloaded the archive from the mega website and used the mentioned pacman command, worked like a charm.

Will use this as temporary solution for now.

juraj commented on 2017-05-12 13:51

Thanks for reply.

I did run pacaur -Scc before every installation attempt, if that's what you meant by sanitizing build environment.

I did not change PKGBUILD, so I don't know what branch I used.

Now I tried to remove the two mentioned lines and this error occurs:
In file included from /usr/include/openssl/crypto.h:31:0,
from /usr/include/openssl/comp.h:16,
from /usr/include/openssl/ssl.h:47,
from mega/include/mega/posix/meganet.h:28,
from mega/include/mega.h:76,
from mega/src/posix/net.cpp:22:
/usr/include/openssl/ossl_typ.h:93:16: note: forward declaration of ‘EVP_PKEY {aka struct evp_pkey_st}’
typedef struct evp_pkey_st EVP_PKEY;
^~~~~~~~~~~
mega/src/posix/net.cpp:2278:75: error: invalid use of incomplete type ‘X509_STORE_CTX {aka struct x509_store_ctx_st}’
int len = X509_NAME_get_text_by_NID (X509_get_issuer_name (ctx->cert),
^~
In file included from /usr/include/openssl/crypto.h:31:0,
from /usr/include/openssl/comp.h:16,
from /usr/include/openssl/ssl.h:47,
from mega/include/mega/posix/meganet.h:28,
from mega/include/mega.h:76,
from mega/src/posix/net.cpp:22:
/usr/include/openssl/ossl_typ.h:127:16: note: forward declaration of ‘X509_STORE_CTX {aka struct x509_store_ctx_st}’
typedef struct x509_store_ctx_st X509_STORE_CTX;
^~~~~~~~~~~~~~~~~
make[1]: *** [Makefile:5270: net.o] Error 1
make[1]: Leaving directory '/home/juraj/.cache/pacaur/megasync/src/MEGAsync/src/MEGASync'
make: *** [Makefile:43: sub-MEGASync-make_first] Error 2
==> ERROR: A failure occurred in build().
Aborting...
:: failed to build megasync package(s)

Just for information, I have everything up to date, so it cannot be because of some old version dependency.

migrev commented on 2017-05-12 10:20

It is working for me, so can't reproduce the error. From this very moment:

==> Extrayendo las fuentes…
-> Creando copia de trabajo de MEGAsync del repositorio git…
Cloning into 'MEGAsync'...
done.
Switched to a new branch 'makepkg'
==> Iniciando prepare()…
Submodule 'src/MEGASync/mega' (https://github.com/meganz/sdk.git) registered for path 'src/MEGASync/mega'
Cloning into '/home/tmp/yaourt-tmp-mine/aur-megasync/src/MEGAsync/src/MEGASync/mega'...
Submodule path 'src/MEGASync/mega': checked out 'bba56616095cec01d305b0d98c6a365cf918e8c3'
patching file net.cpp
==> Iniciando build()…
autoreconf: Entering directory `.'
autoreconf: configure.ac: not using Gettext
autoreconf: running: aclocal --force -I m4
autoreconf: configure.ac: tracing

As you can see, the patch applies without complaints. Just an idea, try to sanitize your build environment. Maybe you have some code lying around from a previous build. I take for given that you are using the PKGBUILD without changes and are using the git tagged realease and not the main branch, where the patch has been already applied.

If that doesn't work, edit the PKGBUILD and remove the lines where the patch is applied (inside prepare()):

cd "${srcdir}/MEGAsync/src/MEGASync/mega/src/posix"
patch < "${srcdir}/netcpp-openssl110.patch"

Let's see how it goes.

juraj commented on 2017-05-12 08:31

I can't install the new version of Megasync.

During installation it asks:
Reset branch 'makepkg'
==> Starting prepare()...
patching file net.cpp
Reversed (or previously applied) patch detected! Assume -R? [n]

If I press y, the build fails with this message:
In file included from /usr/include/openssl/crypto.h:31:0,
from /usr/include/openssl/comp.h:16,
from /usr/include/openssl/ssl.h:47,
from mega/include/mega/posix/meganet.h:28,
from mega/include/mega.h:76,
from mega/src/posix/net.cpp:22:
/usr/include/openssl/ossl_typ.h:93:16: note: forward declaration of ‘EVP_PKEY {aka struct evp_pkey_st}’
typedef struct evp_pkey_st EVP_PKEY;
^~~~~~~~~~~
mega/src/posix/net.cpp:2278:75: error: invalid use of incomplete type ‘X509_STORE_CTX {aka struct x509_store_ctx_st}’
int len = X509_NAME_get_text_by_NID (X509_get_issuer_name (ctx->cert),
^~
In file included from /usr/include/openssl/crypto.h:31:0,
from /usr/include/openssl/comp.h:16,
from /usr/include/openssl/ssl.h:47,
from mega/include/mega/posix/meganet.h:28,
from mega/include/mega.h:76,
from mega/src/posix/net.cpp:22:
/usr/include/openssl/ossl_typ.h:127:16: note: forward declaration of ‘X509_STORE_CTX {aka struct x509_store_ctx_st}’
typedef struct x509_store_ctx_st X509_STORE_CTX;
^~~~~~~~~~~~~~~~~
make[1]: *** [Makefile:5270: net.o] Error 1
make[1]: Leaving directory '/home/juraj/.cache/pacaur/megasync/src/MEGAsync/src/MEGASync'
make: *** [Makefile:43: sub-MEGASync-make_first] Error 2
==> ERROR: A failure occurred in build().
Aborting...
:: failed to build megasync package(s)

If I presss n, it asks another question:
Apply anyway? [n]

If I press n, it fails with this message:
Skipping patch.
4 out of 4 hunks ignored -- saving rejects to file net.cpp.rej
==> ERROR: A failure occurred in prepare().
Aborting...
:: failed to build megasync package(s)

If I press y, it fails with this message:
Hunk #1 succeeded at 2253 with fuzz 1 (offset 40 lines).
Hunk #2 FAILED at 2268.
Hunk #3 FAILED at 2293.
Hunk #4 FAILED at 2315.
3 out of 4 hunks FAILED -- saving rejects to file net.cpp.rej
==> ERROR: A failure occurred in prepare().
Aborting...
:: failed to build megasync package(s)


So what should I do to successfully build the package?

captn_mos commented on 2017-04-29 18:28

Okay, You're right MaterazziSan: I already installed the newest version of megasync (3.0.1.0-2), but before I installed the openssl-1.0 package. So now after a reinstallation of megasync, everything is working fine!

MaterazziSan commented on 2017-04-29 16:09

Hi,

I had the same issue as "captn_mos" but it was using megasync 3.0.1.0-1 version. The version megasync 3.0.1.0-2 include the "netcpp-openssl110.patch" and I do not have this issue, it is working correctly.

captn_mos commented on 2017-04-29 09:16

Since I've installed the new openssl-1.0 package, startup of megasync fails. This is my error log:

MEGAprivate ERROR DUMP
Application: MEGAsync
Version code: 3001.0
Module name: megasync
Operating system: Linux
System version: #1 SMP PREEMPT Tue Apr 18 08:39:42 CEST 2017
System release: 4.10.11-1-ARCH
System arch: x86_64
Error info:
Segmentation fault (11) at address 0x32
Stacktrace:
megasync() [0x5ca52a]
megasync() [0x5ca52a]
/usr/lib/libssl.so.1.1(+0x2777e) [0x7f083d28a77e]
/usr/lib/libssl.so.1.1(+0x39f0b) [0x7f083d29cf0b]
/usr/lib/libssl.so.1.1(+0x3770f) [0x7f083d29a70f]
/usr/lib/libssl.so.1.1(SSL_do_handshake+0x41) [0x7f083d292e91]
/usr/lib/libcurl.so.4(+0x5991c) [0x7f084197691c]
/usr/lib/libcurl.so.4(+0x5a8f2) [0x7f08419778f2]
/usr/lib/libcurl.so.4(+0x5cfdb) [0x7f0841979fdb]
/usr/lib/libcurl.so.4(+0x12562) [0x7f084192f562]
/usr/lib/libcurl.so.4(+0x39ebe) [0x7f0841956ebe]
/usr/lib/libcurl.so.4(+0x3b578) [0x7f0841958578]
/usr/lib/libcurl.so.4(curl_multi_socket_action+0x17) [0x7f0841958667]
megasync() [0x5c8657]
megasync() [0x5d03a4]
megasync() [0x52ed3d]
megasync() [0x5be0d9]
megasync() [0x5be168]
/usr/lib/libQt5Core.so.5(+0xad6d8) [0x7f083ec476d8]
/usr/lib/libpthread.so.0(+0x72e7) [0x7f083e9832e7]
/usr/lib/libc.so.6(clone+0x3f) [0x7f083de1254f]

migrev commented on 2017-04-25 10:45

Patched net.cpp from upstream (https://github.com/meganz/sdk/pull/622/commits/7e916da89b8d727bc49d4f5ff950b6e363885508). Builds and runs fine.

jghodd commented on 2017-04-24 19:15

The current version is fubar - the last build won't run, and it can't be compiled.

Building produces the following errors in mega/src/posix/net.cpp:

mega/src/posix/net.cpp:2256:113: error: invalid use of incomplete type ‘EVP_PKEY {aka struct evp_pkey_st}’
LOG_warn << "Public key size mismatch " << BN_num_bytes(evp->pkey.rsa->n) << " " << BN_num_bytes(evp->pkey.rsa->e);

mega/src/posix/net.cpp:2278:75: error: invalid use of incomplete type ‘X509_STORE_CTX {aka struct x509_store_ctx_st}’
int len = X509_NAME_get_text_by_NID (X509_get_issuer_name (ctx->cert),

Of course, I cannot compile beyond this point, so there may be other issues.

megasync was working until today's system update. If I had to guess, it was probably the openssl update that broke the build.

Edit: The issue is definitely linked to updates to libcrypto and libssl. megasync requires openssl-1.0 and crypto-1.0, but libcurl now requires openssl-1.1 / crypto-1.1.

The stacktrace:

/usr/bin/megasync(+0x1f3d92) [0x55a4007b7d92]
/usr/bin/megasync(+0x1f3d92) [0x55a4007b7d92]
/usr/lib/libssl.so.1.1(+0x2777e) [0x7f4e3b6a377e]
/usr/lib/libssl.so.1.1(+0x39f0b) [0x7f4e3b6b5f0b]
/usr/lib/libssl.so.1.1(+0x3770f) [0x7f4e3b6b370f]
/usr/lib/libssl.so.1.1(SSL_do_handshake+0x41) [0x7f4e3b6abe91]
/usr/lib/libcurl.so.4(+0x5991c) [0x7f4e3fd8f91c]
/usr/lib/libcurl.so.4(+0x5a8f2) [0x7f4e3fd908f2]
/usr/lib/libcurl.so.4(+0x5cfdb) [0x7f4e3fd92fdb]
/usr/lib/libcurl.so.4(+0x12562) [0x7f4e3fd48562]
/usr/lib/libcurl.so.4(+0x39ebe) [0x7f4e3fd6febe]
/usr/lib/libcurl.so.4(+0x3b578) [0x7f4e3fd71578]
/usr/lib/libcurl.so.4(curl_multi_socket_action+0x17)

I was able to get it to build by 1) symlinking /usr/include/openssl -> /usr/include/openssl-1.0/openssl ; 2) symlinking /usr/lib/libssl.so -> /usr/lib/libssl.so.1.0.0 and 3) symlinking /usr/lib/libcrypto.so -> /usr/lib/libcrypto.so.1.0.0. But it still crashes with the above stacktrace. It looks like the megasync code base will need to be updated to support ssl-1.1 and crypto-1.1 - this is probably not an overnight task.

All comments