bonncoyuco
Hi,

I am new to Linux so pardon me if the answers to my question(s) should be obvious. I am running Linux Mint 19.3 Cinnamon v4.4.5 and I cannot get OpenPLC Editor to install.

I believe the main issue is with installing dependencies - I get errors when installing the following:
  • sudo apt-get -y -qq install curl build-essential pkg-config bison flex autoconf automake libtool make git libssl-dev python2 python-wxgtk3.0
    • E: Unable to locate package python2
  • sudo python2 get-pip.py
    • WARNING: The directory '/home/bonn/.cache/pip' or its parent directory is not owned or is not writable by the current user. The cache has been disabled. Check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
  • sudo apt-get -y -qq install python2-dev
    • E: Unable to locate package python2-dev
  • sudo apt-get -y -qq install libpng libfreetype6-dev
    • E: Unable to locate package libpng
  • pip2 install future zeroconf==0.19.1 numpy==1.16.5 matplotlib==2.0.2 lxml pyro sslpsk
    • lots of errors (see full install log below)
Below is the install log/error(s) that I got - would greatly appreciate if anyone can point me to the right direction. Thank you.

bonn@LM-SSD:~$ cd OpenPLC_Editor
bonn@LM-SSD:~/OpenPLC_Editor$ ./ install.sh
Installing OpenPLC Editor
Please be patient. This may take a couple minutes...

[INSTALLING DEPENDENCIES]
[sudo] password for bonn:
E: Unable to locate package python2
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 1825k 100 1825k 0 0 2160k 0 --:--:-- --:--:-- --:--:-- 2157k
DEPRECATION: Python 2.7 reached the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 is no longer maintained. pip 21.0 will drop support for Python 2.7 in January 2021. More details about Python 2 support in pip, can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support
WARNING: The directory '/home/bonn/.cache/pip' or its parent directory is not owned or is not writable by the current user. The cache has been disabled. Check the permissions and owner of that directory. If executing pip with sudo, you may want sudo's -H flag.
Collecting pip
Downloading pip-20.1.1-py2.py3-none-any.whl (1.5 MB)
|████████████████████████████████| 1.5 MB 2.3 MB/s
Installing collected packages: pip
Attempting uninstall: pip
Found existing installation: pip 20.1.1
Uninstalling pip-20.1.1:
Successfully uninstalled pip-20.1.1
Successfully installed pip-20.1.1
E: Unable to locate package python2-dev
E: Unable to locate package libpng
DEPRECATION: Python 2.7 reached the end of its life on January 1st, 2020. Please upgrade your Python as Python 2.7 is no longer maintained. pip 21.0 will drop support for Python 2.7 in January 2021. More details about Python 2 support in pip, can be found at https://pip.pypa.io/en/latest/development/release-process/#python-2-support
Defaulting to user installation because normal site-packages is not writeable
Requirement already satisfied: future in /home/bonn/.local/lib/python2.7/site-packages (0.18.2)
Requirement already satisfied: zeroconf==0.19.1 in /home/bonn/.local/lib/python2.7/site-packages (0.19.1)
Requirement already satisfied: numpy==1.16.5 in /home/bonn/.local/lib/python2.7/site-packages (1.16.5)
Collecting matplotlib==2.0.2
Using cached matplotlib-2.0.2-cp27-cp27mu-manylinux1_x86_64.whl (14.5 MB)
Collecting lxml
Using cached lxml-4.5.1-cp27-cp27mu-manylinux1_x86_64.whl (5.5 MB)
Processing /home/bonn/.cache/pip/wheels/7f/f2/52/a36dc91120b3849fad1131285472586c54cdf4a75f1862926e/Pyro-3.16-py2-none-any.whl
Collecting sslpsk
Using cached sslpsk-1.0.0.tar.gz (5.1 kB)
Requirement already satisfied: enum-compat in /home/bonn/.local/lib/python2.7/site-packages (from zeroconf==0.19.1) (0.0.3)
Requirement already satisfied: six in /usr/lib/python2.7/dist-packages (from zeroconf==0.19.1) (1.11.0)
Requirement already satisfied: netifaces!=0.10.5 in /home/bonn/.local/lib/python2.7/site-packages (from zeroconf==0.19.1) (0.10.9)
Requirement already satisfied: pyparsing!=2.0.4,!=2.1.2,!=2.1.6,>=1.5.6 in /home/bonn/.local/lib/python2.7/site-packages (from matplotlib==2.0.2) (2.4.7)
Requirement already satisfied: functools32 in /home/bonn/.local/lib/python2.7/site-packages (from matplotlib==2.0.2) (3.2.3.post2)
Requirement already satisfied: cycler>=0.10 in /home/bonn/.local/lib/python2.7/site-packages (from matplotlib==2.0.2) (0.10.0)
Requirement already satisfied: python-dateutil in /home/bonn/.local/lib/python2.7/site-packages (from matplotlib==2.0.2) (2.8.1)
Requirement already satisfied: pytz in /home/bonn/.local/lib/python2.7/site-packages (from matplotlib==2.0.2) (2020.1)
Collecting subprocess32
Using cached subprocess32-3.5.4.tar.gz (97 kB)
Requirement already satisfied: enum34; python_version < "3.4" in /home/bonn/.local/lib/python2.7/site-packages (from enum-compat->zeroconf==0.19.1) (1.1.10)
Building wheels for collected packages: sslpsk, subprocess32
Building wheel for sslpsk (setup.py) ... error
ERROR: Command errored out with exit status 1:
command: /usr/bin/python2 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-LK5PJh/sslpsk/setup.py'"'"'; __file__='"'"'/tmp/pip-install-LK5PJh/sslpsk/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-y2VsTO
cwd: /tmp/pip-install-LK5PJh/sslpsk/
Complete output (22 lines):
running bdist_wheel
running build
running build_py
creating build
creating build/lib.linux-x86_64-2.7
creating build/lib.linux-x86_64-2.7/sslpsk
copying sslpsk/ __init__.py -> build/lib.linux-x86_64-2.7/sslpsk
copying sslpsk/ sslpsk.py -> build/lib.linux-x86_64-2.7/sslpsk
creating build/lib.linux-x86_64-2.7/sslpsk/test
copying sslpsk/test/ __init__.py -> build/lib.linux-x86_64-2.7/sslpsk/test
copying sslpsk/test/ test_sslpsk.py -> build/lib.linux-x86_64-2.7/sslpsk/test
copying sslpsk/test/ __main__.py -> build/lib.linux-x86_64-2.7/sslpsk/test
running build_ext
building 'sslpsk._sslpsk' extension
creating build/temp.linux-x86_64-2.7
creating build/temp.linux-x86_64-2.7/sslpsk
x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/build/python2.7-UKCoZ3/python2.7-2.7.17=. -fstack-protector-strong -Wformat -Werror=format-security -fPIC -I/usr/include/python2.7 -c sslpsk/_sslpsk.c -o build/temp.linux-x86_64-2.7/sslpsk/_sslpsk.o
sslpsk/_sslpsk.c:17:10: fatal error: Python.h: No such file or directory
#include <Python.h>
^~~~~~~~~~
compilation terminated.
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
----------------------------------------
ERROR: Failed building wheel for sslpsk
Running setup.py clean for sslpsk
Building wheel for subprocess32 (setup.py) ... error
ERROR: Command errored out with exit status 1:
command: /usr/bin/python2 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-LK5PJh/subprocess32/setup.py'"'"'; __file__='"'"'/tmp/pip-install-LK5PJh/subprocess32/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-CiRFW1
cwd: /tmp/pip-install-LK5PJh/subprocess32/
Complete output (60 lines):
running bdist_wheel
running build
running build_py
creating build
creating build/lib.linux-x86_64-2.7
copying subprocess32.py -> build/lib.linux-x86_64-2.7
running build_ext
running build_configure
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables...
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for unistd.h... (cached) yes
checking fcntl.h usability... yes
checking fcntl.h presence... yes
checking for fcntl.h... yes
checking signal.h usability... yes
checking signal.h presence... yes
checking for signal.h... yes
checking sys/cdefs.h usability... yes
checking sys/cdefs.h presence... yes
checking for sys/cdefs.h... yes
checking for sys/types.h... (cached) yes
checking for sys/stat.h... (cached) yes
checking sys/syscall.h usability... yes
checking sys/syscall.h presence... yes
checking for sys/syscall.h... yes
checking for dirent.h that defines DIR... yes
checking for library containing opendir... none required
checking for pipe2... yes
checking for setsid... yes
checking whether dirfd is declared... yes
configure: creating ./config.status
config.status: creating _posixsubprocess_config.h
building '_posixsubprocess32' extension
creating build/temp.linux-x86_64-2.7
x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/build/python2.7-UKCoZ3/python2.7-2.7.17=. -fstack-protector-strong -Wformat -Werror=format-security -fPIC -I/usr/include/python2.7 -c _posixsubprocess.c -o build/temp.linux-x86_64-2.7/_posixsubprocess.o
_posixsubprocess.c:16:10: fatal error: Python.h: No such file or directory
#include "Python.h"
^~~~~~~~~~
compilation terminated.
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
----------------------------------------
ERROR: Failed building wheel for subprocess32
Running setup.py clean for subprocess32
Failed to build sslpsk subprocess32
Installing collected packages: subprocess32, matplotlib, lxml, pyro, sslpsk
Running setup.py install for subprocess32 ... error
ERROR: Command errored out with exit status 1:
command: /usr/bin/python2 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-LK5PJh/subprocess32/setup.py'"'"'; __file__='"'"'/tmp/pip-install-LK5PJh/subprocess32/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-r9cmmW/install-record.txt --single-version-externally-managed --user --prefix= --compile --install-headers /home/bonn/.local/include/python2.7/subprocess32
cwd: /tmp/pip-install-LK5PJh/subprocess32/
Complete output (17 lines):
running install
running build
running build_py
creating build
creating build/lib.linux-x86_64-2.7
copying subprocess32.py -> build/lib.linux-x86_64-2.7
running build_ext
running build_configure
_posixsubprocess_config.h is already up to date.
building '_posixsubprocess32' extension
creating build/temp.linux-x86_64-2.7
x86_64-linux-gnu-gcc -pthread -fno-strict-aliasing -Wdate-time -D_FORTIFY_SOURCE=2 -g -fdebug-prefix-map=/build/python2.7-UKCoZ3/python2.7-2.7.17=. -fstack-protector-strong -Wformat -Werror=format-security -fPIC -I/usr/include/python2.7 -c _posixsubprocess.c -o build/temp.linux-x86_64-2.7/_posixsubprocess.o
_posixsubprocess.c:16:10: fatal error: Python.h: No such file or directory
#include "Python.h"
^~~~~~~~~~
compilation terminated.
error: command 'x86_64-linux-gnu-gcc' failed with exit status 1
----------------------------------------
ERROR: Command errored out with exit status 1: /usr/bin/python2 -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-LK5PJh/subprocess32/setup.py'"'"'; __file__='"'"'/tmp/pip-install-LK5PJh/subprocess32/setup.py'"'"';f=getattr(tokenize, '"'"'open'"'"', open)(__file__);code=f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-r9cmmW/install-record.txt --single-version-externally-managed --user --prefix= --compile --install-headers /home/bonn/.local/include/python2.7/subprocess32 Check the logs for full command output.

[COMPILING MATIEC]
./install.sh: line 17: autoreconf: command not found
./install.sh: line 18: ./configure: No such file or directory
/bin/bash: aclocal-1.15: command not found
Makefile:390: recipe for target 'aclocal.m4' failed
make: *** [aclocal.m4] Error 127

[FINALIZING]
./install.sh: line 28: cd: /home/bonn/.local/share/applications: No such file or directory
bonn@LM-SSD:~/OpenPLC_Editor$
Quote 0 0
thiagoralves
The installer is tailored for Ubuntu/Debian distributions. Although Mint is based on Ubuntu, it seems that some packages either were removed or have different names. For the install to succeed on Mint, you will have to figure out how to install all these required packages by hand on your environment:
curl
build-essential
pkg-config
bison
flex
autoconf
automake
libtool
make
git
libssl-dev
python2
python-wxgtk3.0
python2-dev
libpng
libfreetype6-dev

Pip is failing because the required packages to compile sslpsk and other components are not installed. Once you have all those listed above installed, you can run the installer again and it should take care of the rest. 

Tip: most of these packages might be easily installed with a simple sudo apt-get install [package-name]. A few of them might have slightly different names on Mint and perhaps one or two might require you to dig deeper.
Quote 0 0
bonncoyuco
Thank you very much, thiagoralves. I am very new to Linux and not vested in any distro so I just downloaded Ubuntu 20.04 and installed editor v1 without any issues. I am getting the impression that Ubuntu gets more support as a Linux desktop distro. Thank you again for replying - I hope installing the runtime to my RPi4 will be as flawless as installing editor to Ubuntu.
Quote 0 0