How to install p7zip-full in MangOH Red board which is having WP7702 module?

I want to install p7zip-full in MangOH Red board which is having WP7702 module, pls help me.

How about download this ARM binary to module and run it directly?

How to download this binary to module?

You can use scp command

which folder I need to download and how I can include that in the whole system such that any apps installed on the target can use this binary. I think I need to bundle this binary with other binaries or at least it should be usable by my application loaded on the target.

I think you should try if you can use it in console first

Another alternative is to rebuild the distribution by following the instructions in: Rebuild Yocto for wp77xx and the enabling in the layer.conf file based on the Yocto development manuals: Specifically, you need to build in: meta-openembedded/meta-oe/recipes-extended/p7zip’s bitbake file:

Already suggest this, but seems not satisfied with this method.

The previous binary downloaded from github is not working.

You can try this binary built by me from yocto source.
7za (1.4 MB)

root@swi-mdm9x15:~# chmod 777 /tmp/7za
root@swi-mdm9x15:~# /tmp/7za

7-Zip (a) [32] 16.02 : Copyright © 1999-2016 Igor Pavlov : 2016-05-21
p7zip Version 16.02 (locale=C,Utf16=off,HugeFiles=on,32 bits,1 CPU LE)

Usage: 7za […] <archive_name> [<file_names>…]

a : Add files to archive b : Benchmark d : Delete files from archive e : Extract files from archive (without using directory names) h : Calculate hash values for files i : Show information about supported formats l : List contents of archive rn : Rename files in archive t : Test integrity of archive u : Update files to archive x : eXtract files with full paths -- : Stop switches parsing -ai[r[-|0]]{@listfile|!wildcard} : Include archives -ax[r[-|0]]{@listfile|!wildcard} : eXclude archives -ao{a|s|t|u} : set Overwrite mode -an : disable archive_name field -bb[0-3] : set output log level -bd : disable progress indicator -bs{o|e|p}{0|1|2} : set output stream for output/error/progress line -bt : show execution time statistics -i[r[-|0]]{@listfile|!wildcard} : Include filenames -m{Parameters} : set compression Method -mmt[N] : set number of CPU threads -o{Directory} : set Output directory -p{Password} : set Password -r[-|0] : Recurse subdirectories -sa{a|e|s} : set Archive name mode -scc{UTF-8|WIN|DOS} : set charset for for console input/output -scs{UTF-8|UTF-16LE|UTF-16BE|WIN|DOS|{id}} : set charset for list files -scrc[CRC32|CRC64|SHA1|SHA256|*] : set hash function for x, e, h commands -sdel : delete files after compression -seml[.] : send archive by email -sfx[{name}] : Create SFX archive -si[{name}] : read data from stdin -slp : set Large Pages mode -slt : show technical information for l (List) command -snh : store hard links as links -snl : store symbolic links as links -sni : store NT security information -sns[-] : store NTFS alternate streams -so : write data to stdout -spd : disable wildcard matching for file names -spe : eliminate duplication of root folder for extract command -spf : use fully qualified file paths -ssc[-] : set sensitive case mode -ssw : compress shared files -stl : set archive timestamp from the most recently modified file -stm{HexMask} : set CPU thread affinity mask (hexadecimal number) -stx{Type} : exclude archive type -t{Type} : Set type of archive -u[-][p#][q#][r#][x#][y#][z#][!newArchiveName] : Update options -v{Size}[b|k|m|g] : Create volumes -w[{path}] : assign Work directory. Empty path means a temporary directory -x[r[-|0]]{@listfile|!wildcard} : eXclude filenames -y : assume Yes on all queries

Thanks, this worked the way you shown it. Now shall I copy it to /bin folder of the target(MangOH Red board) so that it can be used by any application?

i think you should copy to /home/root folder.
And your application should set to unsandboxed so that you can use that binary.

I can’t copy it to /home/root as I am getting error saying root@swi-mdm9x28-wp:~# cp /tmp/7za /
cp: can’t create ‘/7za’: Read-only file system.

then I tried cp /tmp/7za /home/root/ it copied but when I try to execute it is not working. I tried
root@swi-mdm9x28-wp:~# chmod 777 7za
root@swi-mdm9x28-wp:~# 7za
-sh: 7za: not found.

  1. you should use “cp /tmp/7za /home/root”
  2. for running the 7za, you should type “./7za”

Yes, it works now. Actually I am trying to use system(“7za a test.7z test.csv”) in the application, I am neither getting error nor getting the file compressed. The test file I need to compress is bundled into application using .adef file as follows.

[r] test.csv /read-only/

the file is getting visible in /read-only/ folder of my application, but when I checked it by printing to log as follows
LE_INFO(“test.csv exists: %d”, le_fs_Exists("/read-only/test.csv"));
it is printing as “test.csv exists: 0”. What I am doing wrng here? pls help.

You need to use unsandboxed feature in adef in case you want to use system () api

ok thanks, but I didn’t get the answer for le_fs_exist() query, any help is appreciated. Also regarding the usage is it fine to use system(“7za a test.7z test.csv”)? or I have to use system(“./7za a test.7z test.csv”)

Maybe you can try absolute path in system ()

I tried with absolute path le_fs_Exists("/legato/systems/current/apps/CompressFile/read-only/test.csv") still the same result, file doesn’t exist. BTW both system(“7za a test.7z test.csv”) and system(“./7za a test.7z test.csv”) didn’t work for me, getting “sh: 7za not found” and “sh: ./7za not found”.

Your 7za is not using absolute path!!!

ok, my system() function seems to be working, but file is neither getting detected (i.e not finding it) nor compressing it, am I doing mistake in bundling the file or providing the wrong path or is their a problem with any permission?