nsacyber / WALKOFF

A flexible, easy to use, automation framework allowing users to integrate their capabilities and devices to cut through the repetitive, tedious tasks slowing them down. #nsacyber
https://nsacyber.github.io/WALKOFF/
Other
1.2k stars 222 forks source link

"build_bootloader.sh" doesn't exist and "walkoff.sh up --build" fails #250

Closed ch40s closed 4 years ago

ch40s commented 4 years ago

Hey all, I'm trying to install WALKOFF on a Debian Stretch ( armv7l/armhf) host and I noticed that build_bootloader.sh which is mentioned in the documentation doesn't exist in the repository. Did the functionality get replaced by walkoff.sh? If yes, then the documentation of Linux installation is outdated.

By the way, the command walkoff.sh up --build fails because of:

Starting WALKOFF Bootloader...
docker: Error response from daemon: attaching to network failed, make sure your network options are correct and check manager logs: context deadline exceeded.
$docker node inspect --format {{.Spec.Availability}} self
active

My package versions:

docker-compose version 1.25.0
docker-py version: 4.1.0
CPython version: 3.5.3
OpenSSL version: OpenSSL 1.1.0l
containerd.io 1.2.10 
ch40s commented 4 years ago

The error context deadline exceeded was caused by the kernel configuration. If you have the same issue you can use this script to check your kernel config: https://raw.githubusercontent.com/moby/moby/master/contrib/check-config.sh

The error I'm getting now is:

UMPIRE - DEBUG:Step 9/13 : RUN pip install --no-warn-script-location --prefix="/install" -r /requirements.txt
...
UMPIRE - DEBUG:Downloading https://files.pythonhosted.org/packages/be/60/da377e1bed002716fb2d5d1d1cab720f298cb33ecff7bf7adea72788e4e4/cryptography-2.8.tar.gz (504kB)
UMPIRE - DEBUG:Installing build dependencies: started
UMPIRE - DEBUG:Installing build dependencies: finished with status 'error'
UMPIRE - DEBUG:  ERROR: Command errored out with exit status 1:
...
c/_cffi_backend.c:15:10: fatal error: ffi.h: No such file or directory
       #include <ffi.h>
                ^~~~~~~
      compilation terminated.
      error: command 'gcc' failed with exit status 1
...
UMPIRE - ERROR:The command '/bin/sh -c pip install --no-warn-script-location --prefix="/install" -r /requirements.txt' returned a non-zero code: 1

I have already installed libssl-dev, libffi-dev, python3-dev.

ch40s commented 4 years ago

The error above ffi.h: No such file or directory and a similar one goes away after doing the changes mentioned in https://github.com/nsacyber/WALKOFF/pull/252 (install libffi-dev and libssl-dev via app_sdk/Dockerfile).

The new error I'm getting is the following. I assume gcc is missing and needs to be installed but not sure yet exactly where this should be implemented.

UMPIRE - DEBUG:Preparing to unpack .../00-perl-modules-5.28_5.28.1-6_all.deb ...
UMPIRE - DEBUG:Unpacking perl-modules-5.28 (5.28.1-6) ...
UMPIRE - DEBUG:Running setup.py install for multidict: finished with status 'error'
UMPIRE - DEBUG:    ERROR: Command errored out with exit status 1:
     command: /usr/local/bin/python -u -c 'import sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-asqaj_7e/multidict/setup.py'"'"'; __file__='"'"'/tmp/pip-install-asqaj_7e/multidict/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-f_pxx0ji/install-record.txt --single-version-externally-managed --prefix /install --compile
         cwd: /tmp/pip-install-asqaj_7e/multidict/
...
building 'multidict._multidict' extension
    creating build/temp.linux-armv7l-3.7
    creating build/temp.linux-armv7l-3.7/multidict
    gcc -pthread -Wno-unused-result -Wsign-compare -DNDEBUG -g -fwrapv -O3 -Wall -fPIC -I/usr/local/include/python3.7m -c multidict/_multidict.c -o build/temp.linux-armv7l-3.7/multidict/_multidict.o -O2 -std=c99 -Wall -Wsign-compare -Wconversion -fno-strict-aliasing -pedantic
    unable to execute 'gcc': No such file or directory
    error: command 'gcc' failed with exit status 1
emrodas10 commented 4 years ago

It looks like you didn't add that line to the umpire Dockerfile. I'm going to go ahead and close this issue, pull your change to app_sdk, and add that line to the umpire. Let me know if this is still an issue.