Getting Started


The timestamp was June 2022. The objective was to compile MEGAcmd from source code, placed it on certain location and compressed it with squashfs to be deployed at Tiny Core Linux.

Note:

The deployment on Tiny Core Linux is outside of this article

The following outlines the steps I went through for the setup.

Meeting requirements for Debian

This section contains footprints of preparing the requirements for compiling on Debian. The list of packages, as shown in the URL, is as follows:

  • 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
  • 
      root@debian32:~# apt install libcrypto++
      Reading package lists... Done
      Building dependency tree... Done
      Reading state information... Done
      E: Unable to locate package libcrypto+
      root@debian32:~#
      root@debian32:~#
      
    
    Note:

    Further step showed the error related to this package.

    
      root@debian32:~# apt install libpcrecpp0v5
      Reading package lists... Done
      Building dependency tree... Done
      Reading state information... Done
      The following NEW packages will be installed:
        libpcrecpp0v5
      0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
      Need to get 153 kB of archives.
      After this operation, 206 kB of additional disk space will be used.
      Get:1 http://deb.debian.org/debian bullseye/main i386 libpcrecpp0v5 i386 2:8.39-13 [153 kB]
      Fetched 153 kB in 1s (168 kB/s)
      Selecting previously unselected package libpcrecpp0v5:i386.
      (Reading database ... 169497 files and directories currently installed.)
      Preparing to unpack .../libpcrecpp0v5_2%3a8.39-13_i386.deb ...
      Unpacking libpcrecpp0v5:i386 (2:8.39-13) ...
      Setting up libpcrecpp0v5:i386 (2:8.39-13) ...
      Processing triggers for libc-bin (2.31-13+deb11u3) ...
      root@debian32:~#
      
    
    
      root@debian32:~# apt install libc-ares-dev
      Reading package lists... Done
      Building dependency tree... Done
      Reading state information... Done
      libc-ares-dev is already the newest version (1.17.1-1+deb11u1).
      0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
      root@debian32:~#
      
    
    
      root@debian32:~# apt install zlib1g-dev
      Reading package lists... Done
      Building dependency tree... Done
      Reading state information... Done
      zlib1g-dev is already the newest version (1:1.2.11.dfsg-2+deb11u1).
      0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
      root@debian32:~#
      
    
    
      root@debian32:~# apt install libuv1
      Reading package lists... Done
      Building dependency tree... Done
      Reading state information... Done
      libuv1 is already the newest version (1.40.0-2).
      libuv1 set to manually installed.
      0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
      root@debian32:~#
      
    
    
      root@debian32:~# apt install libssl-dev
      Reading package lists... Done
      Building dependency tree... Done
      Reading state information... Done
      libssl-dev is already the newest version (1.1.1n-0+deb11u2).
      0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
      root@debian32:~#
      
    
    
      root@debian32:~# apt install libsodium-dev
      Reading package lists... Done
      Building dependency tree... Done
      Reading state information... Done
      libsodium-dev is already the newest version (1.0.18-1).
      0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
      root@debian32:~#
      
    
    
      root@debian32:~# apt install readline-common
      Reading package lists... Done
      Building dependency tree... Done
      Reading state information... Done
      readline-common is already the newest version (8.1-1).
      0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
      root@debian32:~#
      
    
    
      root@debian32:~# apt install sqlite3
      Reading package lists... Done
      Building dependency tree... Done
      Reading state information... Done
      sqlite3 is already the newest version (3.34.1-3).
      0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
      root@debian32:~#
      
    
    
      root@debian32:~# apt install curl
      Reading package lists... Done
      Building dependency tree... Done
      Reading state information... Done
      curl is already the newest version (7.74.0-1.3+deb11u1).
      0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
      root@debian32:~#
      
    
    
      root@debian32:~# apt install autoconf
      Reading package lists... Done
      Building dependency tree... Done
      Reading state information... Done
      autoconf is already the newest version (2.69-14).
      0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
      root@debian32:~#
      
    
    
      root@debian32:~# apt install libtool
      Reading package lists... Done
      Building dependency tree... Done
      Reading state information... Done
      libtool is already the newest version (2.4.6-15).
      0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
      root@debian32:~#
      
    
    
      root@debian32:~# apt install g++
      Reading package lists... Done
      Building dependency tree... Done
      Reading state information... Done
      g++ is already the newest version (4:10.2.1-1).
      0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
      root@debian32:~#
      
    
    
      root@debian32:~# apt install libcrypto++-dev
      Reading package lists... Done
      Building dependency tree... Done
      Reading state information... Done
      The following additional packages will be installed:
        libcrypto++8
      The following NEW packages will be installed:
        libcrypto++-dev libcrypto++8
      0 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
      Need to get 3,179 kB of archives.
      After this operation, 19.9 MB of additional disk space will be used.
      Do you want to continue? [Y/n] y
      Get:1 http://deb.debian.org/debian bullseye/main i386 libcrypto++8 i386 8.4.0-1 [1,225 kB]
      Get:2 http://deb.debian.org/debian bullseye/main i386 libcrypto++-dev i386 8.4.0-1 [1,955 kB]
      Fetched 3,179 kB in 2s (1,836 kB/s)
      Selecting previously unselected package libcrypto++8:i386.
      (Reading database ... 169506 files and directories currently installed.)
      Preparing to unpack .../libcrypto++8_8.4.0-1_i386.deb ...
      Unpacking libcrypto++8:i386 (8.4.0-1) ...
      Selecting previously unselected package libcrypto++-dev:i386.
      Preparing to unpack .../libcrypto++-dev_8.4.0-1_i386.deb ...
      Unpacking libcrypto++-dev:i386 (8.4.0-1) ...
      Setting up libcrypto++8:i386 (8.4.0-1) ...
      Setting up libcrypto++-dev:i386 (8.4.0-1) ...
      Processing triggers for libc-bin (2.31-13+deb11u3) ...
      root@debian32:~#
      
    
    
      root@debian32:~# apt install libz-dev
      Reading package lists... Done
      Building dependency tree... Done
      Reading state information... Done
      Note, selecting 'zlib1g-dev' instead of 'libz-dev'
      zlib1g-dev is already the newest version (1:1.2.11.dfsg-2+deb11u1).
      0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
      root@debian32:~#
      
    
    
      root@debian32:~# apt install libsqlite3-dev
      Reading package lists... Done
      Building dependency tree... Done
      Reading state information... Done
      libsqlite3-dev is already the newest version (3.34.1-3).
      0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
      root@debian32:~#
      
    
    
      root@debian32:~# apt install libcurl4-gnutls-dev
      Reading package lists... Done
      Building dependency tree... Done
      Reading state information... Done
      libcurl4-gnutls-dev is already the newest version (7.74.0-1.3+deb11u1).
      0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
      root@debian32:~#
      
    
    
      root@debian32:~# apt install libreadline-dev
      Reading package lists... Done
      Building dependency tree... Done
      Reading state information... Done
      libreadline-dev is already the newest version (8.1-1).
      0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
      root@debian32:~#
      
    
    
      root@debian32:~# apt install libpcre++-dev
      Reading package lists... Done
      Building dependency tree... Done
      Reading state information... Done
      The following additional packages will be installed:
        libpcre++0v5 libpcre16-3 libpcre3-dev libpcre32-3
      The following NEW packages will be installed:
        libpcre++-dev libpcre++0v5 libpcre16-3 libpcre3-dev libpcre32-3
      0 upgraded, 5 newly installed, 0 to remove and 0 not upgraded.
      Need to get 1,241 kB of archives.
      After this operation, 3,726 kB of additional disk space will be used.
      Do you want to continue? [Y/n] y
      Get:1 http://deb.debian.org/debian bullseye/main i386 libpcre++0v5 i386 0.9.5-6.1+b11 [21.1 kB]
      Get:2 http://deb.debian.org/debian bullseye/main i386 libpcre16-3 i386 2:8.39-13 [258 kB]
      Get:3 http://deb.debian.org/debian bullseye/main i386 libpcre32-3 i386 2:8.39-13 [249 kB]
      Get:4 http://deb.debian.org/debian bullseye/main i386 libpcre3-dev i386 2:8.39-13 [656 kB]
      Get:5 http://deb.debian.org/debian bullseye/main i386 libpcre++-dev i386 0.9.5-6.1+b11 [56.8 kB]
      Fetched 1,241 kB in 3s (484 kB/s)
      Selecting previously unselected package libpcre++0v5:i386.
      (Reading database ... 169716 files and directories currently installed.)
      Preparing to unpack .../libpcre++0v5_0.9.5-6.1+b11_i386.deb ...
      Unpacking libpcre++0v5:i386 (0.9.5-6.1+b11) ...
      Selecting previously unselected package libpcre16-3:i386.
      Preparing to unpack .../libpcre16-3_2%3a8.39-13_i386.deb ...
      Unpacking libpcre16-3:i386 (2:8.39-13) ...
      Selecting previously unselected package libpcre32-3:i386.
      Preparing to unpack .../libpcre32-3_2%3a8.39-13_i386.deb ...
      Unpacking libpcre32-3:i386 (2:8.39-13) ...
      Selecting previously unselected package libpcre3-dev:i386.
      Preparing to unpack .../libpcre3-dev_2%3a8.39-13_i386.deb ...
      Unpacking libpcre3-dev:i386 (2:8.39-13) ...
      Selecting previously unselected package libpcre++-dev.
      Preparing to unpack .../libpcre++-dev_0.9.5-6.1+b11_i386.deb ...
      Unpacking libpcre++-dev (0.9.5-6.1+b11) ...
      Setting up libpcre16-3:i386 (2:8.39-13) ...
      Setting up libpcre++0v5:i386 (0.9.5-6.1+b11) ...
      Setting up libpcre32-3:i386 (2:8.39-13) ...
      Setting up libpcre3-dev:i386 (2:8.39-13) ...
      Setting up libpcre++-dev (0.9.5-6.1+b11) ...
      Processing triggers for man-db (2.9.4-2) ...
      Processing triggers for libc-bin (2.31-13+deb11u3) ...
      root@debian32:~#
      
    
    
      root@debian32:~# apt install libsodium-dev
      Reading package lists... Done
      Building dependency tree... Done
      Reading state information... Done
      libsodium-dev is already the newest version (1.0.18-1).
      0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
      root@debian32:~#
      
    
    
      root@debian32:~# apt install libfreeimage-dev
      Reading package lists... Done
      Building dependency tree... Done
      Reading state information... Done
      libfreeimage-dev is already the newest version (3.18.0+ds2-6).
      0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
      root@debian32:~#
      
    
    
      root@debian32:~# apt install libavcodec-dev
      Reading package lists... Done
      Building dependency tree... Done
      Reading state information... Done
      The following additional packages will be installed:
        libavutil-dev libswresample-dev
      The following NEW packages will be installed:
        libavcodec-dev libavutil-dev libswresample-dev
      0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded.
      Need to get 6,091 kB of archives.
      After this operation, 21.1 MB of additional disk space will be used.
      Do you want to continue? [Y/n] y
      Get:1 http://security.debian.org/debian-security bullseye-security/main i386 libavutil-dev i386 7:4.3.4-0+deb11u1 [450 kB]
      Get:2 http://security.debian.org/debian-security bullseye-security/main i386 libswresample-dev i386 7:4.3.4-0+deb11u1 [127 kB]
      Get:3 http://security.debian.org/debian-security bullseye-security/main i386 libavcodec-dev i386 7:4.3.4-0+deb11u1 [5,514 kB]
      Fetched 6,091 kB in 6s (1,045 kB/s)
      Selecting previously unselected package libavutil-dev:i386.
      (Reading database ... 169909 files and directories currently installed.)
      Preparing to unpack .../libavutil-dev_7%3a4.3.4-0+deb11u1_i386.deb ...
      Unpacking libavutil-dev:i386 (7:4.3.4-0+deb11u1) ...
      Selecting previously unselected package libswresample-dev:i386.
      Preparing to unpack .../libswresample-dev_7%3a4.3.4-0+deb11u1_i386.deb ...
      Unpacking libswresample-dev:i386 (7:4.3.4-0+deb11u1) ...
      Selecting previously unselected package libavcodec-dev:i386.
      Preparing to unpack .../libavcodec-dev_7%3a4.3.4-0+deb11u1_i386.deb ...
      Unpacking libavcodec-dev:i386 (7:4.3.4-0+deb11u1) ...
      Setting up libavutil-dev:i386 (7:4.3.4-0+deb11u1) ...
      Setting up libswresample-dev:i386 (7:4.3.4-0+deb11u1) ...
      Setting up libavcodec-dev:i386 (7:4.3.4-0+deb11u1) ...
      root@debian32:~#
      
    
    
      root@debian32:~# apt install libavutil-dev
      Reading package lists... Done
      Building dependency tree... Done
      Reading state information... Done
      libavutil-dev is already the newest version (7:4.3.4-0+deb11u1).
      libavutil-dev set to manually installed.
      0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
      root@debian32:~#
      
    
    
      root@debian32:~# apt install libavformat-dev
      Reading package lists... Done
      Building dependency tree... Done
      Reading state information... Done
      The following NEW packages will be installed:
        libavformat-dev
      0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
      Need to get 1,429 kB of archives.
      After this operation, 4,907 kB of additional disk space will be used.
      Get:1 http://security.debian.org/debian-security bullseye-security/main i386 libavformat-dev i386 7:4.3.4-0+deb11u1 [1,429 kB]
      Fetched 1,429 kB in 0s (4,753 kB/s)
      Selecting previously unselected package libavformat-dev:i386.
      (Reading database ... 170045 files and directories currently installed.)
      Preparing to unpack .../libavformat-dev_7%3a4.3.4-0+deb11u1_i386.deb ...
      Unpacking libavformat-dev:i386 (7:4.3.4-0+deb11u1) ...
      Setting up libavformat-dev:i386 (7:4.3.4-0+deb11u1) ...
      root@debian32:~#
      
    
    
      root@debian32:~# apt install libswscale-dev
      Reading package lists... Done
      Building dependency tree... Done
      Reading state information... Done
      The following NEW packages will be installed:
        libswscale-dev
      0 upgraded, 1 newly installed, 0 to remove and 0 not upgraded.
      Need to get 238 kB of archives.
      After this operation, 937 kB of additional disk space will be used.
      Get:1 http://security.debian.org/debian-security bullseye-security/main i386 libswscale-dev i386 7:4.3.4-0+deb11u1 [238 kB]
      Fetched 238 kB in 0s (584 kB/s)
      Selecting previously unselected package libswscale-dev:i386.
      (Reading database ... 170056 files and directories currently installed.)
      Preparing to unpack .../libswscale-dev_7%3a4.3.4-0+deb11u1_i386.deb ...
      Unpacking libswscale-dev:i386 (7:4.3.4-0+deb11u1) ...
      Setting up libswscale-dev:i386 (7:4.3.4-0+deb11u1) ...
      root@debian32:~#
      
    
    
      root@debian32:~# apt install libmediainfo-dev
      Reading package lists... Done
      Building dependency tree... Done
      Reading state information... Done
      The following additional packages will be installed:
        libmediainfo0v5 libtinyxml-dev libtinyxml2-8 libtinyxml2.6.2v5 libzen-dev libzen0v5
      Suggested packages:
        libtinyxml-doc
      The following NEW packages will be installed:
        libmediainfo-dev libmediainfo0v5 libtinyxml-dev libtinyxml2-8 libtinyxml2.6.2v5 libzen-dev libzen0v5
      0 upgraded, 7 newly installed, 0 to remove and 0 not upgraded.
      Need to get 2,759 kB of archives.
      After this operation, 9,461 kB of additional disk space will be used.
      Do you want to continue? [Y/n] y
      Get:1 http://deb.debian.org/debian bullseye/main i386 libzen0v5 i386 0.4.38-1 [116 kB]
      Get:2 http://deb.debian.org/debian bullseye/main i386 libtinyxml2.6.2v5 i386 2.6.2-4 [39.6 kB]
      Get:3 http://deb.debian.org/debian bullseye/main i386 libtinyxml-dev i386 2.6.2-4 [55.3 kB]
      Get:4 http://deb.debian.org/debian bullseye/main i386 libzen-dev i386 0.4.38-1 [37.8 kB]
      Get:5 http://deb.debian.org/debian bullseye/main i386 libtinyxml2-8 i386 8.0.0+dfsg-2 [32.1 kB]
      Get:6 http://deb.debian.org/debian bullseye/main i386 libmediainfo0v5 i386 20.09+dfsg-2 [2,449 kB]
      Get:7 http://deb.debian.org/debian bullseye/main i386 libmediainfo-dev i386 20.09+dfsg-2 [29.1 kB]
      Fetched 2,759 kB in 2s (1,375 kB/s)
      Selecting previously unselected package libzen0v5:i386.
      (Reading database ... 170066 files and directories currently installed.)
      Preparing to unpack .../0-libzen0v5_0.4.38-1_i386.deb ...
      Unpacking libzen0v5:i386 (0.4.38-1) ...
      Selecting previously unselected package libtinyxml2.6.2v5:i386.
      Preparing to unpack .../1-libtinyxml2.6.2v5_2.6.2-4_i386.deb ...
      Unpacking libtinyxml2.6.2v5:i386 (2.6.2-4) ...
      Selecting previously unselected package libtinyxml-dev:i386.
      Preparing to unpack .../2-libtinyxml-dev_2.6.2-4_i386.deb ...
      Unpacking libtinyxml-dev:i386 (2.6.2-4) ...
      Selecting previously unselected package libzen-dev.
      Preparing to unpack .../3-libzen-dev_0.4.38-1_i386.deb ...
      Unpacking libzen-dev (0.4.38-1) ...
      Selecting previously unselected package libtinyxml2-8:i386.
      Preparing to unpack .../4-libtinyxml2-8_8.0.0+dfsg-2_i386.deb ...
      Unpacking libtinyxml2-8:i386 (8.0.0+dfsg-2) ...
      Selecting previously unselected package libmediainfo0v5:i386.
      Preparing to unpack .../5-libmediainfo0v5_20.09+dfsg-2_i386.deb ...
      Unpacking libmediainfo0v5:i386 (20.09+dfsg-2) ...
      Selecting previously unselected package libmediainfo-dev.
      Preparing to unpack .../6-libmediainfo-dev_20.09+dfsg-2_i386.deb ...
      Unpacking libmediainfo-dev (20.09+dfsg-2) ...
      Setting up libtinyxml2-8:i386 (8.0.0+dfsg-2) ...
      Setting up libzen0v5:i386 (0.4.38-1) ...
      Setting up libtinyxml2.6.2v5:i386 (2.6.2-4) ...
      Setting up libmediainfo0v5:i386 (20.09+dfsg-2) ...
      Setting up libtinyxml-dev:i386 (2.6.2-4) ...
      Setting up libzen-dev (0.4.38-1) ...
      Setting up libmediainfo-dev (20.09+dfsg-2) ...
      Processing triggers for libc-bin (2.31-13+deb11u3) ...
      root@debian32:~#
      
    
    
      root@debian32:~# apt install libzen-dev
      Reading package lists... Done
      Building dependency tree... Done
      Reading state information... Done
      libzen-dev is already the newest version (0.4.38-1).
      libzen-dev set to manually installed.
      0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.
      root@debian32:~#
      
    
    
      root@debian32:~# apt install git
      Reading package lists... Done
      Building dependency tree... Done
      Reading state information... Done
      The following additional packages will be installed:
        git-man liberror-perl
      Suggested packages:
        git-daemon-run | git-daemon-sysvinit git-doc git-el git-email git-gui gitk gitweb git-cvs git-mediawiki git-svn
      The following NEW packages will be installed:
        git git-man liberror-perl
      0 upgraded, 3 newly installed, 0 to remove and 0 not upgraded.
      Need to get 8,212 kB of archives.
      After this operation, 42.0 MB of additional disk space will be used.
      Do you want to continue? [Y/n] y
      Get:1 http://deb.debian.org/debian bullseye/main i386 liberror-perl all 0.17029-1 [31.0 kB]
      Get:2 http://deb.debian.org/debian bullseye/main i386 git-man all 1:2.30.2-1 [1,827 kB]
      Get:3 http://deb.debian.org/debian bullseye/main i386 git i386 1:2.30.2-1 [6,353 kB]
      Fetched 8,212 kB in 0s (25.3 MB/s)
      Selecting previously unselected package liberror-perl.
      (Reading database ... 148857 files and directories currently installed.)
      Preparing to unpack .../liberror-perl_0.17029-1_all.deb ...
      Unpacking liberror-perl (0.17029-1) ...
      Selecting previously unselected package git-man.
      Preparing to unpack .../git-man_1%3a2.30.2-1_all.deb ...
      Unpacking git-man (1:2.30.2-1) ...
      Selecting previously unselected package git.
      Preparing to unpack .../git_1%3a2.30.2-1_i386.deb ...
      Unpacking git (1:2.30.2-1) ...
      Setting up liberror-perl (0.17029-1) ...
      Setting up git-man (1:2.30.2-1) ...
      Setting up git (1:2.30.2-1) ...
      Processing triggers for man-db (2.9.4-2) ...
      root@debian32:~#
      
    

    << Previous :: Index :: Next >>