• Register
    • Login
    • Search
    • Categories
    • Recent
    • Tags
    • Popular
    • Users
    • Groups
    • Search

    Can not install EVOK due to dependencies

    Official EVOK API
    4
    23
    4180
    Loading More Posts
    • Oldest to Newest
    • Newest to Oldest
    • Most Votes
    Reply
    • Reply as topic
    Log in to reply
    This topic has been deleted. Only users with topic management privileges can see it.
    • Martin Kudláček
      Martin Kudláček administrators @alydersen last edited by

      Hello @alydersen,
      we have changed the official documentation regarding the installation of the Evok. Please, follow it precisely: https://github.com/UniPiTechnology/evok

      Best regards,
      Martin

      A 1 Reply Last reply Reply Quote 0
      • A
        alydersen @Martin Kudláček last edited by

        @martin-kudláček So I've made a fresh install and done exactly what the README.md says. I still end up getting the evok.py under /opt/evok/lib/python2.7/site-packages/evok/evok.py and it can not run:

        root@L513-sn24:/opt/evok/bin# python /opt/evok/lib/python2.7/site-packages/evok/evok.py
        Traceback (most recent call last):
          File "/opt/evok/lib/python2.7/site-packages/evok/evok.py", line 5, in <module>
            import tornado.httpserver
        ImportError: No module named tornado.httpserver
        
        Martin Kudláček 1 Reply Last reply Reply Quote 0
        • Martin Kudláček
          Martin Kudláček administrators @alydersen last edited by Martin Kudláček

          Hello @alydersen
          with evok being in Debian package, there is no need to start it manually as you are doing. There is a systemd service called evok and you can control the evok as follows:

          sudo systemctl stop evok
          sudo systemctl start evok
          

          The evok service is marked to start upon boot automatically.

          Your evok installation is probably OK and therefor it fails when you try to start it again. With the default config of the evok, you should see ale the inputs and outputs in the web UI. If not, send us please the output of this command:

          sudo systemctl status evok
          

          Thank you,
          Martin

          A 1 Reply Last reply Reply Quote 0
          • A
            alydersen @Martin Kudláček last edited by

            @martin-kudláček said in Can not install EVOK due to dependencies:

            systemctl status evok

            root@L513-sn24:/opt/evok/bin# systemctl status evok
            ● evok.service - EVOK ModBus/WebSocket/RPC Server
               Loaded: loaded (/lib/systemd/system/evok.service; enabled; vendor preset: enabled)
               Active: failed (Result: exit-code) since Tue 2018-09-18 15:01:43 CEST; 17s ago
              Process: 3879 ExecStopPost=/bin/rm -f /etc/nginx/sites-enabled/evok (code=exited, status=0/SUCCESS)
              Process: 3876 ExecStopPost=/bin/cp -f /etc/nginx/sites-available/mervis /etc/nginx/sites-enabled/ (code=exited, status=1/FAILURE)
              Process: 3873 ExecStopPost=/bin/mv -f /etc/nginx/sites-enabled/evok /etc/nginx/sites-available/ (code=exited, status=0/SUCCESS)
              Process: 3869 ExecStopPost=/bin/rm -f /etc/evok-nginx.conf (code=exited, status=0/SUCCESS)
              Process: 3866 ExecStart=/opt/evok/bin/python /opt/evok/lib/python2.7/site-packages/evok/evok.py (code=exited, status=255)
              Process: 3863 ExecStartPre=/bin/ln -sf /etc/nginx/sites-enabled/evok /etc/evok-nginx.conf (code=exited, status=0/SUCCESS)
              Process: 3860 ExecStartPre=/bin/rm -f /etc/nginx/sites-enabled/mervis (code=exited, status=0/SUCCESS)
              Process: 3857 ExecStartPre=/bin/mv -f /etc/nginx/sites-enabled/mervis /etc/nginx/sites-available/ (code=exited, status=1/FAILURE)
              Process: 3854 ExecStartPre=/bin/cp -f /etc/nginx/sites-available/evok /etc/nginx/sites-enabled/ (code=exited, status=0/SUCCESS)
             Main PID: 3866 (code=exited, status=255)
            
            Sep 18 15:01:43 L513-sn24 systemd[1]: evok.service: Service hold-off time over, scheduling restart.
            Sep 18 15:01:43 L513-sn24 systemd[1]: Stopped EVOK ModBus/WebSocket/RPC Server.
            Sep 18 15:01:43 L513-sn24 systemd[1]: evok.service: Start request repeated too quickly.
            Sep 18 15:01:43 L513-sn24 systemd[1]: Failed to start EVOK ModBus/WebSocket/RPC Server.
            Sep 18 15:01:43 L513-sn24 systemd[1]: evok.service: Unit entered failed state.
            Sep 18 15:01:43 L513-sn24 systemd[1]: evok.service: Failed with result 'exit-code'
            
            A 1 Reply Last reply Reply Quote 0
            • A
              alydersen @alydersen last edited by

              Sep 18 15:03:45 L513-sn24 systemd[1]: Starting EVOK ModBus/WebSocket/RPC Server...
              Sep 18 15:03:45 L513-sn24 systemd[1]: Started EVOK ModBus/WebSocket/RPC Server.
              

              It seems as though it is starting, but the web interface will not show anything other than the basic stuff:
              0_1537275991026_Screen Shot 2018-09-18 at 15.05.56.png

              1 Reply Last reply Reply Quote 0
              • A
                alydersen last edited by

                And after a little while it times out:

                Sep 18 15:03:52 L513-sn24 systemd[1]: evok.service: Service hold-off time over, scheduling restart.
                Sep 18 15:03:52 L513-sn24 systemd[1]: Stopped EVOK ModBus/WebSocket/RPC Server.
                Sep 18 15:03:52 L513-sn24 systemd[1]: evok.service: Start request repeated too quickly.
                Sep 18 15:03:52 L513-sn24 systemd[1]: Failed to start EVOK ModBus/WebSocket/RPC Server.
                Sep 18 15:03:52 L513-sn24 systemd[1]: evok.service: Unit entered failed state.
                Sep 18 15:03:52 L513-sn24 systemd[1]: evok.service: Failed with result 'exit-code'.
                
                1 Reply Last reply Reply Quote 0
                • T
                  TomasKnot last edited by TomasKnot

                  That's really odd. All the libraries (as well as python itself) are bundled in the deb package, which is why it is not possible (or at least trivial) to run the program manually as well. This is a standard Debian mechanism for distributing python applications to prevent library version conflicts. We did test the package several times when we released it, but it's possible something has gone amiss in the meanwhile.

                  @Martin-Kudláček mentioned he will test with a clean image to see if there are any issues with the current installation instructions, it's possible we have missed something.

                  1 Reply Last reply Reply Quote 0
                  • A
                    alydersen last edited by

                    Anything I can do to assist - please let me know. I'm in a squeeze time wise.

                    1 Reply Last reply Reply Quote 0
                    • A
                      alydersen last edited by

                      This might be interesting:

                      root@raspberrypi:/home/pi# apt-get install unipi-modbus-tools
                      Reading package lists... Done
                      Building dependency tree        
                      Reading state information... Done
                      The following additional packages will be installed:
                        busybox neuron-kernel unipi-common
                      The following NEW packages will be installed:
                        busybox neuron-kernel unipi-common unipi-modbus-tools
                      0 upgraded, 4 newly installed, 0 to remove and 0 not upgraded.
                      Need to get 456 kB of archives.
                      After this operation, 1153 kB of additional disk space will be used.
                      Do you want to continue? [Y/n] y
                      Get:1 http://raspbian.trivini.no/raspbian stretch/main armhf busybox armhf 1:1.22.0-19 [374 kB]
                      Get:2 https://repo.unipi.technology/debian stretch/main armhf unipi-common armhf 1.1.10 [9574 B]
                      Get:3 https://repo.unipi.technology/debian stretch/main armhf unipi-modbus-tools armhf 1.1.10 [41.6 kB]
                      Get:4 https://repo.unipi.technology/debian stretch/main armhf neuron-kernel armhf 1.15.20180914 [30.7 kB]
                      Fetched 456 kB in 1s (353 kB/s)     
                      apt-listchanges: Can't set locale; make sure $LC_* and $LANG are correct!
                      perl: warning: Setting locale failed.
                      perl: warning: Please check that your locale settings:
                      	LANGUAGE = (unset),
                      	LC_ALL = (unset),
                      	LC_CTYPE = "UTF-8",
                      	LANG = "en_GB.UTF-8"
                          are supported and installed on your system.
                      perl: warning: Falling back to a fallback locale ("en_GB.UTF-8").
                      locale: Cannot set LC_CTYPE to default locale: No such file or directory
                      locale: Cannot set LC_ALL to default locale: No such file or directory
                      Selecting previously unselected package busybox.
                      (Reading database ... 34695 files and directories currently installed.)
                      Preparing to unpack .../busybox_1%3a1.22.0-19_armhf.deb ...
                      Unpacking busybox (1:1.22.0-19) ...
                      Selecting previously unselected package unipi-common.
                      Preparing to unpack .../unipi-common_1.1.10_armhf.deb ...
                      Adding 'diversion of /boot/overlays/ds2482.dtbo to /usr/share/rpikernelhack/overlays/ds2482.dtbo by rpikernelhack'
                      Adding 'diversion of /boot/overlays/neuronee.dtbo to /usr/share/rpikernelhack/overlays/neuronee.dtbo by rpikernelhack'
                      Adding 'diversion of /boot/overlays/neuron-spi.dtbo to /usr/share/rpikernelhack/overlays/neuron-spi.dtbo by rpikernelhack'
                      Adding 'diversion of /boot/overlays/neuron-spi-new.dtbo to /usr/share/rpikernelhack/overlays/neuron-spi-new.dtbo by rpikernelhack'
                      Adding 'diversion of /boot/overlays/unipiee.dtbo to /usr/share/rpikernelhack/overlays/unipiee.dtbo by rpikernelhack'
                      Unpacking unipi-common (1.1.10) ...
                      Selecting previously unselected package unipi-modbus-tools.
                      Preparing to unpack .../unipi-modbus-tools_1.1.10_armhf.deb ...
                      Unpacking unipi-modbus-tools (1.1.10) ...
                      Selecting previously unselected package neuron-kernel.
                      Preparing to unpack .../neuron-kernel_1.15.20180914_armhf.deb ...
                      Unpacking neuron-kernel (1.15.20180914) ...
                      Setting up busybox (1:1.22.0-19) ...
                      Processing triggers for man-db (2.7.6.1-2) ...
                      Setting up unipi-common (1.1.10) ...
                      Removing 'diversion of /boot/overlays/ds2482.dtbo to /usr/share/rpikernelhack/overlays/ds2482.dtbo by rpikernelhack'
                      Removing 'diversion of /boot/overlays/neuronee.dtbo to /usr/share/rpikernelhack/overlays/neuronee.dtbo by rpikernelhack'
                      Removing 'diversion of /boot/overlays/neuron-spi-new.dtbo to /usr/share/rpikernelhack/overlays/neuron-spi-new.dtbo by rpikernelhack'
                      Removing 'diversion of /boot/overlays/neuron-spi.dtbo to /usr/share/rpikernelhack/overlays/neuron-spi.dtbo by rpikernelhack'
                      Removing 'diversion of /boot/overlays/unipiee.dtbo to /usr/share/rpikernelhack/overlays/unipiee.dtbo by rpikernelhack'
                      Created symlink /etc/systemd/system/sysinit.target.wants/unipicheck.service → /lib/systemd/system/unipicheck.service.
                      update-initramfs: Generating /boot/initrd.img-4.14.50-v7+
                      WARNING: missing /lib/modules/4.14.50-v7+
                      Ensure all necessary drivers are built into the linux image!
                      depmod: ERROR: could not open directory /lib/modules/4.14.50-v7+: No such file or directory
                      depmod: FATAL: could not search modules: No such file or directory
                      hwclock: Cannot access the Hardware Clock via any known method.
                      hwclock: Use the --debug option to see the details of our search for an access method.
                      depmod: WARNING: could not open /var/tmp/mkinitramfs_uvP96k/lib/modules/4.14.50-v7+/modules.order: No such file or directory
                      depmod: WARNING: could not open /var/tmp/mkinitramfs_uvP96k/lib/modules/4.14.50-v7+/modules.builtin: No such file or directory
                      Setting up unipi-modbus-tools (1.1.10) ...
                      Created symlink /etc/systemd/system/unipispi.target.wants/unipihost.service → /lib/systemd/system/unipihost.service.
                      Created symlink /etc/systemd/system/unipispi.target.wants/unipitcp.service → /lib/systemd/system/unipitcp.service.
                      Job for unipihost.service failed because the control process exited with error code.
                      See "systemctl status unipihost.service" and "journalctl -xe" for details.
                      unipihost.service couldn't start.
                      Setting up neuron-kernel (1.15.20180914) ...
                      
                      1 Reply Last reply Reply Quote 0
                      • A
                        alydersen last edited by

                        I installed

                        apt-get install raspberrypi-kernel-headers
                        

                        Then removed evok and unipi-modbus-tools before I reinstalled them. New status is:

                        Sep 18 16:10:51 L513-sn24 systemd[1]: Starting EVOK ModBus/WebSocket/RPC Server...
                        Sep 18 16:10:51 L513-sn24 systemd[1]: Started EVOK ModBus/WebSocket/RPC Server.
                        Sep 18 16:10:53 L513-sn24 OWFS[5331]: DEFAULT: ow_arg.c:(110) Cannot access device /dev/i2c-1
                        Sep 18 16:10:53 L513-sn24 OWFS[5331]: DEFAULT: owlib.c:(52) No valid 1-wire buses found
                        
                        Martin Kudláček 1 Reply Last reply Reply Quote 0
                        • Martin Kudláček
                          Martin Kudláček administrators @alydersen last edited by

                          Hello @alydersen
                          I was unable to reproduce the problem. I followed this scenario and the evok is working out of the box:

                          1. Download the image and flash it to the SD card using WIn32DIskImager: https://downloads.raspberrypi.org/raspbian_lite_latest
                          2. Start the PLC and SSH into it
                          3. sudo bash
                          4. apt update
                          5. apt upgrade
                          6. reboot
                          7. At this point I have a up-to-date Raspbian. I SSHed again
                          8. sudo bash
                          9. apt install nginx
                          10. rm -f /etc/nginx/sites-enabled/default
                          11. apt install unipi-modbus-tools
                          12. apt install evok
                          13. reboot

                          And the evok after reboot works:

                          0_1537281175562_85644aeb-538e-4a80-819f-b885a743dde7-image.png

                          I can see from your output that you have a different version of kernel (4.14.50-v7+ vs. 4.14.69-v7+ in up-to-date Raspbian). What image do you use?

                          Martin

                          1 Reply Last reply Reply Quote 0
                          • A
                            alydersen last edited by

                            That worked! It needs a reboot between the first update and the unipi-stuff. Thanks!

                            Martin Kudláček 1 Reply Last reply Reply Quote 0
                            • Martin Kudláček
                              Martin Kudláček administrators @alydersen last edited by

                              Hooray @alydersen! Thanks for the feedback, we will update the documentation.

                              Martin

                              1 Reply Last reply Reply Quote 0
                              • First post
                                Last post