Packaging an Electron app for Raspberry Pi 3 - raspberry-pi

I cannot get an electron app I created installed on a Raspberry Pi 3 running Raspbian. I've used electron-packager to create the package, and then create a debian installer. Threw the installer on a thumb drive and onto the Raspberry Pi and hit install but only received this error popup: "A package could not be found that allows the action to complete. More information is available in the detailed report."
The Raspberry Pi is running arm7l according to the cpuinfo. The electron app was packaged for arm7l as well (name of the file even ends in it). I'm guessing you all will need plenty more background - just not sure what - so feel free to ask and I'll try to edit as quick as I can :)
Commands I used to package it and make installer:
"package-linux": "electron-packager . --overwrite --asar=true --platform=linux --arch=armv7l --icon=assets/icons/png/1024x1024.png --prune=true --out=release-builds",
"create-debian-installer": "electron-installer-debian --src /Users/myuser/Documents/Signage/release-builds/signage-linux-armv7l --arch armv7l --config debian.json"
EDIT: I've run
sudo dpkg --add-architecture armv7l
which got me further than before. But I get the following error, when I try the following command:
udo dpkg --install /home/pi/Desktop/signage_0.1.0_armv7l.deb(Reading database ... 154822 files and directories currently installed.)
Preparing to unpack .../signage_0.1.0_armv7l.deb ...
Unpacking signage:armv7l (0.1.0) over (0.1.0) ...
dpkg: dependency problems prevent configuration of signage:armv7l:
signage:armv7l depends on libgtk-3-0.
signage:armv7l depends on libnotify4.
signage:armv7l depends on libnss3.
signage:armv7l depends on libxss1.
signage:armv7l depends on libxtst6.
signage:armv7l depends on libatspi2.0-0.
signage:armv7l depends on libuuid1.
dpkg: error processing package signage:armv7l (--install):
dependency problems - leaving unconfigured
Processing triggers for gnome-menus (3.31.4-3) ...
Processing triggers for desktop-file-utils (0.23-4) ...
Processing triggers for mime-support (3.62) ...
Errors were encountered while processing:
signage:armv7l

dpkg can't install your package because it depends on others, listed under ... depends on ..., namely those:
signage:armv7l depends on libgtk-3-0.
signage:armv7l depends on libnotify4.
signage:armv7l depends on libnss3.
signage:armv7l depends on libxss1.
signage:armv7l depends on libxtst6.
signage:armv7l depends on libatspi2.0-0.
signage:armv7l depends on libuuid1.
Because dpkg does not do dependency resolution, you will need to install them first manually. The following command will do the trick:
sudo apt-get install libgtk-3-0 libnotify4 libnss3 libxss1 libxtst6 libatspi2.0-0 libuuid1

If you are building an electron app for Raspberry with a Debian OS, first install electron-packager and also electron-installer-debian.
Then run:
electron-packager . appname --platform linux --arch x64 --out out/
electron-installer-debian --src out/appname-linux-x64/ --dest out/installers/ --arch armhf
Notice the flag --arch armhf in the second command. This will prevent the error mentioned in the question. Once you have the .deb file, you can install it in Debian sudo dpkg -i filename.deb

Related

Installing Vivado ML 2021.2 in CentOs but process is hang in 'Generating installed device list'

anybody can help me figure out why the installation is hanging on 'Generating installed device list' and how to solve it without starting the process all over. I am working on CentOs.
Thanks in advance
I think this happens due to following missing packages:
libstdc++6:i386
libgtk2.0-0:i386
dpkg-dev:i386
ncurses5-compat-libs
python3-pip
libtinfo5
libncurses5
As BKN mentioned, you need to install the missing packages.
To avoid starting all over again, you can do the following:
Check the log: cat ~/.Xilinx/xinstall/*.log
Locate the error message. It should look something like:
2022-01-09 10:53:11,458 DEBUG: n.t:? - Executing script Generating installed device list: /tools/Xilinx/Vivado/2021.2/bin/vivado [-nolog, -nojournal, -mode, batch, -source, /tools/Xilinx/Vivado/2021.2/scripts/sysgen/tcl/xlpartinfo.tcl, -tclargs, /tools/Xilinx/Vivado/2021.2/data/parts/installed_devices.txt]
2022-01-09 12:05:35,319 DEBUG: n.t:? - Unable to run GenerateDevListFileLin, exit code: 130, stdout: , stderr: application-specific initialization failed: couldn't load file "librdi_commontasks.so": libtinfo.so.5: cannot open shared object file: No such file or directory failure msg:
application-specific initialization failed: couldn't load file "librdi_commontasks.so": libtinfo.so.5: cannot open shared object file: No such file or directory
2022-01-09 12:05:35,319 DEBUG: n.t:? - Executing script Generating installed device list for Model Composer: /tools/Xilinx/Vivado/2021.2/bin/vivado [-nolog, -nojournal, -mode, batch, -source, /tools/Xilinx/Model_Composer/2021.2/data/xmcGenBoardParts.tcl, -tclargs, /tools/Xilinx/Model_Composer/2021.2/../../Vivado/2021.2, librdi_dsp_tcltasks.so, /tools/Xilinx/Model_Composer/2021.2/data]
The log informs you exactly what the missing package is (in this case it was libtinfo), and also provides you with the script to run after you install the package:
/tools/Xilinx/Vivado/2021.2/bin/vivado -nolog -nojournal -mode batch -source /tools/Xilinx/Vivado/2021.2/scripts/sysgen/tcl/xlpartinfo.tcl -tclargs /tools/Xilinx/Vivado/2021.2/data/parts/installed_devices.txt
Notes:
Make sure to use the Vivado version (here it was 2021.2) and location (here it was /tools/Xilinx) according to your system.
You may need to run the script in sudo if the the permissions for writing are not available in user mode.
I also encounterd this problem on Archlinux with Vivado 2018.3.
But I just installed the library ncurses5-compat-libs, then the problem is solved.
Perhaps you can solve this by checking the library ncurses5-compat-libs.
Download the tar package instead of the self-extracting bin package
Update the java and python version
sudo apt-get install -y python3-pip
Install Dependencies
sudo apt-get install -y libstdc++6
sudo apt-get install -y libgtk2.0-0
sudo apt-get install -y dpkg-dev
NOTE: Without ibtinfo5 the application will not start and without libncurses5 the simulation will fail
`sudo apt-get install -y libtinfo5 libncurses5`
Restart the system
Untar that Vivado package
tar -xzvf Xilinx_Unified_2021.2_1021_0703.tar.gz
Locate the xsetup file in the package
Install the package in batch mode
./xsetup --agree 3rdPartyEULA,XilinxEULA --batch Install --product "Vivado" --edition "Vivado ML Enterprise" --location "/home/USER"
Once the installation has been successfully completed
Locate the settings64.sh file
./settings64.sh
Locate the cable drivers
cd Vivado/2021.2/data/xicom/cable_drivers/lin64/install_scripts/install_drivers
./install_drivers
Installing Vivado Board Files
Get the board package from the git https://github.com/Digilent/vivado-boards.git
From the vivado-board-master package copy the folder board_files undert /vivado-board-master/new/board_files
Paste the board files to Vivado/2021.2/data/boards
From the vivado-board-master package copy the file Vivado_init.tcl under /vivado-board-master/utility
Paste the file Vivado_init.tcl to the Vivado installation
That's it!! You might not need to do all these steps but that is what I ended up doing and it worked for the two machines where I installed Vivado. The installation took less than one hour.
This was originally edited into the question itself by the OP.

The db2prereqcheck utility could not find the library file libnuma.so.1. on ubi7/ubi:latest docker image

i have a problem to install numactl-libs (or libnuma.so.1) on a ubi7/ubi:latest Docker image to run the db2 installation.
I have built a Docker image for db2 and wanted to test whether the DB2 installation runs successfully.
However, I get the following error message:
Requirement not matched for DB2 database "Server" . Version: "11.1.4.6".
Summary of prerequisites that are not met on the current system:
DBT3609E The db2prereqcheck utility could not find the library file libnuma.so.1.
The image has ubi7/ubi:latest as base image and the following libraries are also installed as follows:
RUN yum install -y libaio numactl-libs libpam.so.0 binutils gcc gcc-c++ ksh numactl && yum clean all
All libraries are successfully installed except numactl-libs (or libnuma.so.1?).
Note: a manual installation of numactl-libs worked without problems and thus the DB2 installation was successful:
ADD http://mirror.centos.org/centos/7/os/x86_64/Packages/numactl-libs-2.0.12-5.el7.x86_64.rpm numactl.rpm
RUN rpm -i numactl.rpm
However, I would like the installation of numactl-libs to be done automatically with e.g. the command yum install -y numactl-libs or another equivalent command.
Unfortunately, an attempt with the command yum install -y libnuma.so.1 or yum install -y libnuma.so.* did not change anything and the same error message was displayed.
Can you please help me? I would be very grateful
Note: in my case a 64-bit version is used.
Update:
Unfortunately even trying to install libnuma-dev and libnuma1 has not changed anything and the error message is still the same .
The output of yum provides libnuma.so.1 is:
Loaded plugins: ovl, product-id, search-disabled-repos,
subscription-manager This system is not registered with an
entitlement server. You can use subscription-manager to register.
No matches found
It seems that the problem is that numactl-libs cannot be installed:
The output of yum install numactl-libs is:
Loaded plugins: ovl, product-id, search-disabled-repos, subscription-manager.
This system is not registered with an entitlement server. You can use subscription-manager to register.
No package numactl-libs available.
Solution:
The problem was fixed and numactl-libs could finally be installed:
After I created a Red Hat user account and registered and subscribed to a system for the Red Hat Customer Portal with Red Hat Subscription Manager, numactl-libs installed without any problems.
To register and subscribe to a system for the Red Hat Customer Portal with Red Hat Subscription Manager.
See the following link: (https://access.redhat.com/solutions/253273)
I added the following line in my Dockerfile before the command yum install numactl-libs:
subscription-manager register --username=[USER_NAME] --password=[PASSWORD] --auto-attach
After these steps the DB2 installation ran without problems.
Thank you very much for your tips and help!

How to install VSCODE on debian 9? Nothing works

I'm trying to install Visual studio code.
My Raspb. Version is:
Distributor ID: Raspbian
Description: Raspbian GNU/Linux 9.8 (stretch)
Release: 9.8
Codename: stretch
I tried several method (starting to download .deb and using dpkg or install command) but nothing worked.
How can I fix this problem? I really need VSC because my project is growing and Geany messes up.
Downloaded .deb and .tar files from the official site, followed the setup instruction but I got this error
With dpkg (both 32 and 64bit):
"package architecture (amd64) does not match system (armhf)"
"package architecture (i386) does not match system (armhf)"
With sudo install:
sudo apt install ./code_1.33.1-1554971066_amd64.deb
Reading package lists... Done
Building dependency tree
Reading state information... Done
Note, selecting 'code:amd64' instead of './code_1.33.1-1554971066_amd64.deb'
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:
The following packages have unmet dependencies:
code:amd64 : Depends: libnotify4:amd64 but it is not installable
Depends: libnss3:amd64 (>= 2:3.26) but it is not installable
Depends: apt:amd64 but it is not installable
Depends: libxkbfile1:amd64 but it is not installable
Depends: libsecret-1-0:amd64 but it is not installable
Depends: libgtk-3-0:amd64 (>= 3.10.0) but it is not installable
Depends: libxss1:amd64 but it is not installable
E: Unable to correct problems, you have held broken packages.
With repository:
pi#raspberrypi:~/Downloads $ sudo apt-get update
Err:1 http://raspbian.raspberrypi.org/raspbian stretch InRelease
Temporary failure resolving 'raspbian.raspberrypi.org'
Err:2 http://archive.raspberrypi.org/debian stretch InRelease
Temporary failure resolving 'archive.raspberrypi.org'
Err:3 https://packages.microsoft.com/repos/vscode stable InRelease
Could not resolve host: packages.microsoft.com
Reading package lists... Done
W: Failed to fetch http://raspbian.raspberrypi.org/raspbian/dists/stretch/InRelease Temporary failure resolving 'raspbian.raspberrypi.org'
W: Failed to fetch http://archive.raspberrypi.org/debian/dists/stretch/InRelease Temporary failure resolving 'archive.raspberrypi.org'
W: Failed to fetch https://packages.microsoft.com/repos/vscode/dists/stable/InRelease Could not resolve host: packages.microsoft.com
W: Some index files failed to download. They have been ignored, or old ones used instead.
pi#raspberrypi:~/Downloads $ sudo apt-get install code
Reading package lists... Done
Building dependency tree
Reading state information... Done
E: Unable to locate package code
I'm getting mad about this problem, I tried older repository but they don't work.
There are Community builds of Visual Studio Code available (for Raspberry Pi and other ARM and Intel systems).
The packages are currently available in DEB and RPM format. You can use the scripts provided here to install the packages and add their repository to your system or install it manually.
Below I summarized the steps:
Open a new terminal. If you need super-user rights (you probably do), then you can enter sudo -s and press return to enter a super-user session. Run the installer for your current distribution:
APT instructions
(including Debian, Raspbian, Ubuntu and Linux Mint)
. <( wget -O - https://code.headmelted.com/installers/apt.sh )
Press the return key. Once the installer has completed, you should have a "Code - OSS" entry in your desktop program list.
Manual installation
If for any reason the script above will not work on your system, or you do not want to add the package source for updates, you can get the latest version of the package for your system below.
Public GPG key
For either APT or YUM installation, you'll want the public GPG key to verify the package, which you can download here.
APT and YUM packages
The latest packages are available directly from the PackageCloud releases page.
The specific package you need is available here.
EDIT:
At this time (29.04.2019) the current release (v. 1.32) appears not to be working for everybody. See: issue#64. Seems that you'll have to go back to v. 1.29, which is reported to be running fine.
You can choose this package and install it manually, or use APT. If you decide to install it via APT, note that you'll have to mark the package on hold as described below.
To prevent code-oss from upgrading (so that you can keep v. 1.29 until the issue is fixed) follow these instructions:
Install v. 1.29 via APT:
apt-get install code-oss=1.29.0-1539702286
Then mark it on hold by running:
apt-mark hold code-oss
Now running apt-get upgrade won't try to bump it up until you run:
apt-mark unhold code-oss
This will allow it to upgrade again as usual.

How to resolve this error while installing VSCode in Kali Linux?

I get this error code while installing.
I have tried using
sudo apt intall ./<filename>.deb
but it gives this error
Reading package lists... Done
Building dependency tree
Reading state information... Done
You might want to run 'apt --fix-broken install' to correct these.
The following packages have unmet dependencies:
code : Depends: libgconf-2-4 but it is not installable
E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution).
And also this:
sudo dpkg -i code_1.30.2-1546901646_amd64.deb
But it gives another error.
Selecting previously unselected package code.
(Reading database ... 340375 files and directories currently installed.)
Preparing to unpack code_1.30.2-1546901646_amd64.deb ...
Unpacking code (1.30.2-1546901646) ...
dpkg: dependency problems prevent configuration of code:
code depends on libgconf-2-4; however:
Package libgconf-2-4 is not installed.
dpkg: error processing package code (--install):
dependency problems - leaving unconfigured
Processing triggers for gnome-menus (3.13.3-11) ...
Processing triggers for desktop-file-utils (0.23-4) ...
Processing triggers for mime-support (3.61) ...
Errors were encountered while processing:
code
Even sudo apt --fix-broken install doesn't help.
You need to install libgconf as the error states. You can find a deb for it here or use apt:
sudo apt install gconf

Cannot install perl module PerlIO::locale within docker

I am running into problems installing certain perl modules within docker. Is there a recommended stable way of doing this for the default ubuntu image?
Also I'm unlear how to access the install log file in a failed build (ie for cpan minus at /.cpanm/build.log).
The following Dockerfile fails with the message:
Please specify prototyping behavior for locale.xs (see perlxs manual)
When it attempts to resolve the dependency on PerlIO::locale.
# use the ubuntu base image provided by dotCloud
FROM ubuntu
# make sure the package repository is up to date
RUN echo "deb http://archive.ubuntu.com/ubuntu precise main universe" > /etc/apt/sources.list
RUN apt-get update
# install perl and modules
RUN apt-get install -y make
RUN apt-get install -y perl
RUN apt-get install -y cpanminus
RUN cpanm -v Text::Names
Some modules include C code which needs to be compiled on the target systems (“XS modules”). For that, you'll need a complete C toolchain. This implies make, the compiler: gcc, and the C standard library headers: libc-dev. The build-essential metapackage includes these components (and some more), so I'd recommend you install that instead.
According to perlxstut, that's just a warning rather than a fatal error.
There's a clearly documented default (perlxs: "Prototypes are enabled by default"). Furthermore, this particular XS component doesn't actually export any functions to Perl, so the setting is never even used.
The warning can be silenced by adding a PROTOTYPES: ENABLE to locale.xs — you could even ask the author to make that change — but it won't make any difference.
The problem is elsewhere.