meganz / MEGAcmd

Command Line Interactive and Scriptable Application to access MEGA
Other
1.94k stars 407 forks source link

PkgCreate.py error(s) - failure to build OpenSSL - when building MEGAcmd 1.6.0 package for DSM7.1 #789

Open Evolastiger opened 1 year ago

Evolastiger commented 1 year ago

I would greatly appreciate if someone might be able to point out what I'm doing wrong and/or how to resolve the error output: pkgCreate.py errors.txt i get when trying to build MEGAcmd 1.6.0 package for Synology DS1522+ (platform r1000, DSM7.1) on Linux Mint 20.3 Cinnamon, kernel 5.9.16-050916-generic.

I have studied the following:

  1. Synology DSM 7.0 Developer Guide
  2. MEGAcmd - Command Line Interactive and Scriptable Application
  3. How to build MEGAcmd for Synology NAS drives

Relying upon and combining information from the above, I perform the following as root:

From MEGAcmd - Command Line Interactive and Scriptable Application:, install combined ubuntu 18.04 and debian 9 dependencies: apt-get install autoconf libtool g++ libcrypto++-dev libz-dev libsqlite3-dev libssl-dev libcurl4-gnutls-dev libreadline-dev libpcre++-dev libsodium-dev libc-ares-dev libfreeimage-dev libavcodec-dev libavutil-dev libavformat-dev libswscale-dev libmediainfo-dev libzen-dev libuv1-dev libcrypto++ libpcrecpp0v5 libc-ares-dev zlib1g-dev libuv1 libssl-dev libsodium-dev readline-common sqlite3 curl autoconf libtool g++ libcrypto++-dev libz-dev libsqlite3-dev libssl-dev libcurl4-gnutls-dev libreadline-dev libpcre++-dev libsodium-dev libc-ares-dev libfreeimage-dev libavcodec-dev libavutil-dev libavformat-dev libswscale-dev libmediainfo-dev libzen-dev

From Synology DSM 7.0 Developer Guide - Preparing the Environment, installing more dependencies: apt-get install cifs-utils python python-pip python3 python3-pip

Prepare the environment: mkdir -p /toolkit mkdir -p /toolkit/source cd /toolkit git clone https://github.com/SynologyOpenSource/pkgscripts-ng

From MEGAcmd - Command Line Interactive and Scriptable Application, Getting the source: cd source/ git clone https://github.com/meganz/MEGAcmd.git cd MEGAcmd && git submodule update --init --recursive

From How to build MEGAcmd for Synology NAS drives: cp -r build/SynologyNAS/toolkit / cd /toolkit ./pkgscripts-ng/EnvDeploy -v 7.1 -p r1000

I dont see anything in INFO.sh to change, but check anyway: vi ./source/MEGAcmd/INFO.sh

Change all="7.0" to all="7.1" in depends: vi ./source/MEGAcmd/SynoBuildConf/depends

Finally, I run the build process ./pkgscripts-ng/PkgCreate.py MEGAcmd

I then get the error(s) output from PkgCreate.py: pkgCreate.py errors.txt

Thank you for your time.

Evolastiger commented 1 year ago

I've made some headway, using https://github.com/meganz/MEGAcmd/issues/787, to help narrow down the problem:

mkdir -p /toolkit
cd /toolkit
git clone https://github.com/SynologyOpenSource/pkgscripts-ng
cd pkgscripts-ng
git checkout DSM7.1
./EnvDeploy -v 7.1 -p r1000
cd /root/
git clone https://github.com/meganz/MEGAcmd.git
cd MEGAcmd && git submodule update --init --recursive
cd ..
cp -r MEGAcmd/build/SynologyNAS/toolkit /
cp -r /root/MEGAcmd /toolkit/source/MEGAcmd/
cd /toolkit
vi ./source/MEGAcmd/SynoBuildConf/depends (changed to 7.1)
vi ./source/MEGAcmd/INFO.sh (changed to 7.1)
./pkgscripts-ng/PkgCreate.py MEGAcmd

Which ends with (in part) a failure to build OpenSSL:

[2023-03-19 11:46:45,706] INFO: ---------- env set up -------------------- [2023-03-19 11:46:45,706] INFO: //source/MEGAcmd/MEGAcmd/sdk [2023-03-19 11:46:45,706] INFO: mv: cannot stat 'norecurse/': No such file or directory [2023-03-19 11:46:45,711] INFO: Enabling MegaApi [2023-03-19 11:46:45,711] INFO: Enabling external c-ares [2023-03-19 11:46:45,711] INFO: Enabling external Curl [2023-03-19 11:46:45,711] INFO: Incremental build - skipping already built/downloaded dependencies [2023-03-19 11:46:45,711] INFO: Enabling external Crypto++ [2023-03-19 11:46:45,711] INFO: Building readline for clients [2023-03-19 11:46:45,712] INFO: Enabling external Sodium. [2023-03-19 11:46:45,712] INFO: Enabling external libuv. [2023-03-19 11:46:45,712] INFO: cross-compiling [2023-03-19 11:46:45,712] INFO: Disabling compiler optimisations. [2023-03-19 11:46:45,712] INFO: configure cross compile options: --host=x86_64-pc-linux-gnu --target=x86_64-pc-linux-gnu --build=i686-pc-linux-gnu [2023-03-19 11:46:45,712] INFO: OpenSSL Configure option: linux-generic64 [2023-03-19 11:46:45,712] INFO: extra OpenSSL config params: [2023-03-19 11:46:45,720] INFO: Using cached file /tmp/megasdkbuild/openssl-1.1.1d.tar.gz [2023-03-19 11:46:45,731] INFO: Checking MD5SUM for //source/MEGAcmd/MEGAcmd/sdk/sdk_build/openssl-1.1.1d.tar.gz [2023-03-19 11:46:45,749] INFO: //source/MEGAcmd/MEGAcmd/sdk/sdk_build/openssl-1.1.1d.tar.gz: OK [2023-03-19 11:46:45,759] INFO: Cached package file at /tmp/megasdkbuild/openssl-1.1.1d.tar.gz [2023-03-19 11:46:45,759] INFO: Extracting OpenSSL [2023-03-19 11:46:45,977] INFO: Configuring OpenSSL [2023-03-19 11:46:45,978] INFO: configuring OpenSSL with : ./Configure linux-generic64 --prefix=//source/MEGAcmd/MEGAcmd/sdk/sdk_build/install --openssldir=//source/MEGAcmd/MEGAcmd/sdk/sdk_build/install no-shared [2023-03-19 11:46:47,026] INFO: Building OpenSSL [2023-03-19 11:46:47,027] INFO: make [2023-03-19 11:46:58,054] INFO: Failed to build OpenSSL, exit status: 2

polmr commented 1 year ago

Newer releases of MEGAcmd for NAS (Synology/QNAP) featuring several improvements and fixes, can now be downloaded from here: https://mega.io/nas. Note: Non English version website may still show old links to QNAP/Synology stores. If that is your case, please, temporarily switch to English (upper world icon with your locale initials).