[SOLVED] MEGAsync launch/compilation now fails in -current
SlackwareThis Forum is for the discussion of Slackware Linux.
Notices
Welcome to LinuxQuestions.org, a friendly and active Linux Community.
You are currently viewing LQ as a guest. By joining our community you will have the ability to post topics, receive our newsletter, use the advanced search, subscribe to threads and access many other special features. Registration is quick, simple and absolutely free. Join our community today!
Note that registered members see fewer ads, and ContentLink is completely disabled once you log in.
If you have any problems with the registration process or your account login, please contact us. If you need to reset your password, click here.
Having a problem logging in? Please visit this page to clear all LQ-related cookies.
Get a virtual cloud desktop with the Linux distro that you want in less than five minutes with Shells! With over 10 pre-installed distros to choose from, the worry-free installation life is here! Whether you are a digital nomad or just looking for flexibility, Shells can put your Linux machine on the device that you want to use.
Exclusive for LQ members, get up to 45% off per month. Click here for more info.
I just tried to open MEGAsync on -current and it won't launch. I tried to rebuild against any relevant new libraries and it fails with the message:
Code:
In file included from /usr/include/signal.h:374,
from google_breakpad/client/linux/handler/exception_handler.h:37,
from google_breakpad/client/linux/handler/exception_handler.cc:66:
/usr/include/bits/signal_ext.h:29:12: note: previous declaration of ‘int tgkill(__pid_t, __pid_t, int)’
29 | extern int tgkill (__pid_t __tgid, __pid_t __tid, int __signal);
| ^~~~~~
make[1]: *** [Makefile:3094: exception_handler.o] Error 1
make[1]: Leaving directory '/tmp/SBo/MEGAsync-3.7.1.0_Linux/src/MEGASync'
make: *** [Makefile:39: sub-MEGASync-make_default] Error 2
This is the SBo version which is the same version as ponce has in his repo. I reinstalled the 3.7.1 binary I had but it still doesn't launch.
Launching via the terminal gives:
Code:
lysander@lysultra-vi:~$ megasync
megasync: error while loading shared libraries: libavcodec.so.57: cannot open shared object file: No such file or directory
Is this an issue with ffmpeg?
Code:
lysander@lysultra-vi:~$ ls /var/log/packages | grep ffmpeg
ffmpeg-4.2.1-x86_64-1
ffmpeg-compat32-4.2.1-x86_64-1compat32
ffmpegthumbnailer-2.2.0-x86_64-1_SBo
vivaldi-codecs-ffmpeg-extra-77.0.3865.90-x86_64-1_SBo
Thank you both. It seems that this issue is caused by MEGAsync 3.7.1 looking for libavcodec.so.57 when I am running libavcodec.so.58. I am guessing that libavcodec.so.58 is the version installed via the latest ffmpeg.
Downgrading the MEGAsync client to 3.6.6 gives a different error, it looks for cryptopp 5.6 but can't find it, because SBo has a later version, 7.0, which I installed. Downgrading cryptopp to 5.6 allows the MEGAsync client 3.6.6 to run.
what the application looks for depends on which libraries you have built it and its dependencies with: here, on the latest slackware64-current, with the patch from archlinux I was able to build and run either MEGAsync 3.7.1.0 and 4.2.5.0 (and its dependencies) and the final megasync binary links to the libraries installed in the system
I was going to say that alienBOB also has a ffmpeg3-compat package with the older libavcodec.so.57 library which may make things work, but if ponce has the build patched for the newer libraries then you might as well try that.
Last edited by 0XBF; 10-22-2019 at 08:35 AM.
Reason: spell check
I was going to say that alienBOB also has a ffmpeg3-compat package with the older libavcodec.so.57 library which may make things work, but if ponce has the build patched for the newer libraries then you might as well try that.
basically I just applied the patch pointed to by phenixia2003, nothing more...
Sorry for the misinformation, I see that its the same patch. I was trying to say that if you can build it with the tgkill patch and it links the newer libraries then go for that route. It would be simpler than using an older version with compat libraries.
Thanks ponce, I managed to build your 4.2 package and install it, but the settings menu is illegible with a dark theme [not your fault] so I have stuck with the 3.6 package.
My sbopkg is still pointing to the 14.2 repo. I updated it to point to your repo but I must have done something wrong because your MEGAsync then wouldn't build with sbopkg, so I downloaded the relevant packages manually and then it built. I used these instructions to change the repo.
Going forward I may need to use your repo instead but I don't know how to update sbopkg so it updates any packages already installed via the 14.2 repo to yours. Unless this happens automatically.
My sbopkg is still pointing to the 14.2 repo. I updated it to point to your repo but I must have done something wrong because your MEGAsync then wouldn't build with sbopkg, so I downloaded the relevant packages manually and then it built. I used these instructions to change the repo.
the branch I linked is not merged yet, it will be in the weekend: don't forget to delete the repositoy before resyncing like explained in the isntructions you linked.
Quote:
Going forward I may need to use your repo instead but I don't know how to update sbopkg so it updates any packages already installed via the 14.2 repo to yours. Unless this happens automatically.
not at all.
I also suggest you to build all the packages you need for your system from scratch in a fresh and full installation of current (a virtual machine, a chroot, a container, whatever you prefer) or you risk to have stuff linked to old libraries or not being able to build packages at all in some cases (perl comes to mind).
the branch I linked is not merged yet, it will be in the weekend: don't forget to delete the repositoy before resyncing like explained in the isntructions you linked.
Got you.
Quote:
Originally Posted by ponce
I also suggest you to build all the packages you need for your system from scratch in a fresh and full installation of current (a virtual machine, a chroot, a container, whatever you prefer) or you risk to have stuff linked to old libraries or not being able to build packages at all in some cases (perl comes to mind).
I was wondering if this was going to be the case. Something to do on a long winter's night, I suppose.
Last edited by Lysander666; 10-22-2019 at 10:05 AM.
LinuxQuestions.org is looking for people interested in writing
Editorials, Articles, Reviews, and more. If you'd like to contribute
content, let us know.