Giter Club home page Giter Club logo

aws-greengrass-samples's Introduction

AWS Greengrass Samples

License Summary

These samples are made available under a modified MIT license. See the LICENSE file.

greengrass-dependency-checker - Greengrass V1 only, does not apply to Greengrass V2

This folder contains tools that help you check for system-level dependencies that Greengrass V1 requires to be run. Refer to the requirements outlined in the Greengrass Documentation, as well as the Greengrass V1 Getting Started Guide, Module 1: http://docs.aws.amazon.com/greengrass/latest/developerguide/gg-gs.html

hello-world-python

This folder contains a sample Lambda function that uses the Greengrass SDK to publish a HelloWorld message to AWS IoT. Refer to the Greengrass Getting Started Guide, Module 3 (Part I): http://docs.aws.amazon.com/greengrass/latest/developerguide/gg-gs.html

hello-world-counter-python

This folder contains a sample Lambda function that uses the Greengrass SDK to publish HelloWorld messages to AWS IoT, maintaining state. Refer to the Greengrass Getting Started Guide, Module 3 (Part II): http://docs.aws.amazon.com/greengrass/latest/developerguide/gg-gs.html

traffic-light-example-python

This folder contains a set of functions that demonstrate a traffic light example using two Greengrass devices, a light controller and a traffic light. It also contains a Lambda function that collects data from the traffic light system and sends it to an AWS DynamoDB table. Refer to the Greengrass Getting Started Guide, Modules 5 and 6: http://docs.aws.amazon.com/greengrass/latest/developerguide/gg-gs.html

iot-blog

This folder contains examples and resources that accompany posts on the AWS IoT blog.

ml-at-edge-examples

This folder contains the machine learning resources. It includes pre-built libraries for MxNet and Tensorflow on three edge devicesd: RaspBerry Pi2, Nvidia Jetson TX2 and AWS DeepLens. It also includes examples for machine learning inference on these devices.

aws-greengrass-samples's People

Contributors

aborkar-aws avatar amzn-xyxu avatar dollyc avatar fengwang666 avatar hencrice avatar jbutler avatar jeff-amazon avatar jpeddicord avatar k-aws avatar liuszeng avatar mevorah avatar mikedombo avatar rbouaichiaws avatar seanc-amazon avatar simonzidoree avatar tianweizhang07 avatar xmariopereira avatar xuqing888 avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

aws-greengrass-samples's Issues

Question about running aws greengrass JAVA helloworld on raspberry pi 3

I want to run java hello world on raspberry pi 3 as GGC, and installed 2017-03-02-raspbian-jessie.zip on the board as gg-dg.pdf. when I run command "sudo ./check_ggc_dependencie", it show java 8 not found, then I installed jdk1.8.0_131 and also configured env variable for it.
but sudo ./check_ggc_dependencie still show "java 8: not found"
the questions are as follow:
1 can 2017-03-02-raspbian-jessie support java 8?
2 if java 8 is successfully installed, what should do to before run "sudo ./check_ggc_dependencie"
please give some suggestion and guide.
many thanks!

AWS IoT life cycle events connected/disconnected support in AWS greengrass

Hi Team,

Lifecycle Events:
AWS IoT publishes lifecycle events on the MQTT topics discussed in the following sections. These messages allow you to be notified of lifecycle events from the message broker.

Connect/Disconnect Events
AWS IoT publishes a message to the following MQTT topics when a client connects or disconnects.

$aws/events/presence/connected/clientId or $aws/events/presence/disconnected/clientId

Subscribe/Unsubscribe Events
AWS IoT publishes a message to the following MQTT topic when a client subscribes or unsubscribes to an MQTT topic.

$aws/events/subscriptions/subscribed/clientId or $aws/events/subscriptions/unsubscribed/clientId

Source: https://docs.aws.amazon.com/iot/latest/developerguide/life-cycle-events.html

Is subscribe to lifecycle events supported in aws greengrass?

If yes How can I subscribe to lifecycle events?

Thank you.

--Regards,
Ravichandhra Palla

The car aggregator greengrass tutorial not creating dynamo db table

Hi, I followed the tutorial (part 6 - for using cloud services)
I have performed all the steps in tutorial https://docs.aws.amazon.com/greengrass/latest/developerguide/comms-test.html
I have put the role in settings to Greengrass_DynamoDB_Role and added the lamda function and done all of them . The lightcontroller.py and trafficlight.py both are producing desired results . lightcontroller is successfully updating trafficlight in the terminal windows but still there is no change in dynamo db.

Is this an error or bug?I am not finding any way to troubleshoot

Please help
Thanks in advance

Environmental Sensors Compatible with AWS Greengrass

An AWS Premium Support Engineer (KATIKI S.) asked me to post this question here as it was not within the scope of the Support team.

Are there any environmental sensor manufacturers that are certified compatible with Greengrass? I typically use SeeedStudio Grove sensors for environmental monitoring, but they are not compatible with AWS Greengrass. I am using Raspberry Pi 4 as a board.

Thanks!

Remove comment from discoverGGC in trafficLight.py

The Greengrass traffic-light example raises an IOError: No such file or directory in trafficLight.py.

Solution: replace the comment in line 198 in front of the discoverGGC() function. This function handles the discovery and creates the required files and folders.

OPC UA 2.1.5 [Question]

Hi AWS,

This is a question, not an issue.

I have created an aws lambda for greengrass with node opc ua 2.1.5 (code is currently on my github). The current one in AWS examples is using OPC UA 0.0.65 (2 years old). Unfortunately moving to 2.1.5, index.js will be totally redone, making your totally obsolete. If i do MR/PR will you accept it and maintain it?

Best Regards,

Bump Node OPCUA 0.0.65

Hi AWS,

Since we can now use nodejs 8.10 with greengrass, is necessary to bump to 0.0.65. Is the first version of nodejs opc ua supporting version 8 and there is timestamp support!

Mqtt over websocket not working for trafficLight.py

Hi, i have completed all the modules under AWS greengrass - getting started. it was working well for me, and thank you for the documentation.

So now i am trying the same code with mqtt over websockets as described in AwsIotpythonsdk

something like:

# Init AWSIoTMQTTShadowClient
myAWSIoTMQTTShadowClient = AWSIoTMQTTShadowClient(clientId,useWebsocket=True)
myAWSIoTMQTTShadowClient.configureEndpoint(host, 443)
myAWSIoTMQTTShadowClient.configureCredentials(rootCAPath)
 
# AWSIoTMQTTShadowClient configuration
myAWSIoTMQTTShadowClient.configureAutoReconnectBackoffTime(1, 32, 20)
myAWSIoTMQTTShadowClient.configureConnectDisconnectTimeout(10)  # 10 sec
myAWSIoTMQTTShadowClient.configureMQTTOperationTimeout(5)  # 5 sec
 
# Connect to AWS IoT
myAWSIoTMQTTShadowClient.connect()

i get the following error:

File "test.py", line 322, in <module>
    myAWSIoTMQTTShadowClient.connect()
  File "/usr/local/lib/python2.7/dist-packages/AWSIoTPythonSDK/MQTTLib.py", line 1217, in connect
    return self._AWSIoTMQTTClient.connect(keepAliveIntervalSecond)
  File "/usr/local/lib/python2.7/dist-packages/AWSIoTPythonSDK/MQTTLib.py", line 486, in connect
    return self._mqtt_core.connect(keepAliveIntervalSecond)
  File "/usr/local/lib/python2.7/dist-packages/AWSIoTPythonSDK/core/protocol/mqtt_core.py", line 192, in connect
    self.connect_async(keep_alive_sec, self._create_blocking_ack_callback(event))
  File "/usr/local/lib/python2.7/dist-packages/AWSIoTPythonSDK/core/protocol/mqtt_core.py", line 219, in connect_async
    raise e
ssl.SSLError: [SSL: CERTIFICATE_VERIFY_FAILED] certificate verify failed (_ssl.c:661)

What am i missing, i followed exactly whats written in AwsIoTpythonsdk github instructions.

Change Scipy Installation in MXNet_Installer.sh

Hi,

First just want to say great work on the tutorial! I was able to follow every step and get a very good sense of Greengrass' programming model to achieve all promised features.

One PR proposal: In the tutorial of configuring ML Inference on Raspberry Pi (GitHub link here: https://github.com/awsdocs/aws-greengrass-developer-guide/blob/master/doc_source/ml-console.md), it provided an mxnet_installer.sh which checks for all the dependencies and install the ones for performing MXNet inference. I've found that the existing script simply uses

sudo pip install --upgrade scipy

for installing Scipy. I tried that on two supported Raspberry Pis with at least 25G + of disk space and all attempts failed after building the Scipy wheel since the memory & cpu usage surged to 100% which caused Raspberry Pi to freeze. I ended up getting around that by installing Scipy through apt-get

sudo apt-get install python-scipy

The minor difference between pip vs. apt-get is explained here https://www.scipy.org/install.html I would suggest changing the shell script, particularly for Raspberry Pi, to use apt-get and avoid waiting for hours just to see the build fail.

Thanks!

Reposting from the forum since I can't find the actual repo with the mxnet_installer file. https://forums.aws.amazon.com/thread.jspa?threadID=294594&tstart=0

Dependency checker not working with sh: revisited

The script uses the read utility, which is a builtin, available to sh, but not available to busybox sh.
The script uses the command utility, which is a builtin, available to sh, but not available to busybox sh.

Busybox is used in Embedded Linux. In such case, the script is broken on Embedded Linux.

Dependency Checker: check_cgroups.sh:201 cgroups_dir is empty

I've got a couple of problems trying to configure Raspbian Jessie for Greengrass, first issue is over here:

tianon/cgroupfs-mount#8

Which also seems to be related to this issue, perhaps? Though /sys/fs/cgroup exists and is mounted according to cgroupfs-mount, even if I'm getting some permission denied errors while trying to mount the subfolders.

I output cgroups_dir in the error message on line 206:


    ## Checking if cgroups_dir variable is set - i.e, if cgroups are mounted.
    if [ -z "$cgroups_dir" ]
    then
        message="It looks like the cgroups directory (${cgroups_dir}) is not mounted on the device."
        message="$message\nRefer to the official Greengrass documentation"
        message="$message to fix this."
        fatal "$message"
        add_to_dependency_failures "$message"
        info ""
        return
    fi

And I'm getting

------------------------------------Cgroups check-----------------------------------
It looks like the cgroups directory () is not mounted on the device.
Refer to the official Greengrass documentation to fix this.

Connection refused: Unable to run lightController.py file running

I have created a folder "test" that has cert,public key, private key of gg_switch and gg_trafficlight,roo cert, lightcontroller.py and trafficlight.py. Ping command works fine. Now, when I am trying to run the below command:
cd path-to-certs-folder
python lightController.py --endpoint AWS_IOT_ENDPOINT --rootCA root-ca-cert.pem --cert switch.cert.pem --key switch.private.key --thingName GG_TrafficLight --clientId GG_Switch
I got errors as follows:
Traceback (most recent call last):
File "lightController.py", line 210, in
myAWSIoTMQTTShadowClient.connect()
File "/Library/Python/2.7/site-packages/AWSIoTPythonSDK/MQTTLib.py", line 1271, in connect
return self._AWSIoTMQTTClient.connect(keepAliveIntervalSecond)
File "/Library/Python/2.7/site-packages/AWSIoTPythonSDK/MQTTLib.py", line 513, in connect
return self._mqtt_core.connect(keepAliveIntervalSecond)
File "/Library/Python/2.7/site-packages/AWSIoTPythonSDK/core/protocol/mqtt_core.py", line 196, in connect
self.connect_async(keep_alive_sec, self._create_blocking_ack_callback(event))
File "/Library/Python/2.7/site-packages/AWSIoTPythonSDK/core/protocol/mqtt_core.py", line 223, in connect_async
raise e
socket.error: [Errno 61] Connection refused

What did I miss in the configuration setting? I appreciate your response to my query. Thank you so much in advance for your time and help.

Component subscribing to "n" number of local devices.

Hi According to the guide we can subscribe using IPC to a topic and listen to a local device.

i.e.
topic = "clients/device_id/test"

The issue is that if I have "n" number of clients can I subscribe to all of them?
On the bridge configuration, we can assign something like "clients/+/test" to publish. Can we do this also for the core device component?

By the way, I tried this in the component: "clients/+/test" and didn't work.

Best Regards
Jose

Run docker container on green grass docker installation.

Hi There Im trying to run a docker component inside a green grass in docker. This is my manifest File:

{
"RecipeFormatVersion": "2020-01-25",
"ComponentName": "com.component.test",
"ComponentVersion": "1.0.0",
"ComponentDescription": "A component that runs a Docker container from a private Amazon ECR image.",
"ComponentPublisher": "Amazon",
"ComponentDependencies": {
"aws.greengrass.DockerApplicationManager": {
"VersionRequirement": "~2.0.0"
},
"aws.greengrass.TokenExchangeService": {
"VersionRequirement": "~2.0.0"
}
},
"Manifests": [
{
"Platform": {
"os": "all"
},
"Lifecycle": {
"RequiresPrivilege": true,
"script": "apt-get --yes install docker-ce docker-ce-cli containerd.io",
"Run": "docker run 123456789.dkr.ecr.us-east-1.amazonaws.com/my_api:latest"
},
"Artifacts": [
{
"URI": "docker:123456789.dkr.ecr.us-east-1.amazonaws.com/my_api:latest"
}
]
}
]
}

But docker is not being recognized I also tried to mount docker.dock:

-v /var/run/docker.sock:/var/run/docker.sock

And still no luck, For some reazon it tries to download the artifact using docker but I cant do it because docker engine is not recognized.

This is the error:

2022-02-22T14:36:56.801Z [ERROR] (pool-2-thread-40) com.aws.greengrass.deployment.DeploymentService: Error occurred while processing deployment. {deploymentId=ec14bbd4-3edc-4739-ade2-b88c4ee6023b, serviceName=DeploymentService, currentState=RUNNING}
java.util.concurrent.ExecutionException: com.aws.greengrass.componentmanager.exceptions.PackageDownloadException: Failed to download artifact name: 'docker:123456789.dkr.ecr.us-east-1.amazonaws.com/my_api:latest' for component com.component.test-1.0.0, reason: Docker engine is not installed. Install Docker and retry the deployment.

Thank you all for your fast response

CONFIG_INOTIFY is required in the kernel but is not checked for

If a system does not have CONFIG_INOTIFY enabled in the kernel then Greengrass will fail to start with this error:

Failed to create file watcher

In this state Greengrass will connect to IoT core but reports that some components failed to start. I'm not sure if Lambda functions run.

trafficlight.py throwing "AWSIoTPythonSDK.core.protocol.mqtt_core - ERROR - Offline request queue has been disabled"

Hi,

i am going through GG getting started guide, however, i am stuck at module 5, 3b. (https://docs.aws.amazon.com/greengrass/latest/developerguide/comms-disabled.html)

seemed like a common problem as someone posted the same in github without any solution
aws/aws-iot-device-sdk-python#141

as module 6 and 7 have dependencies on module 5, i want to complete it successfully. can someone help?

here's the error that i am seeing when i execute the py script. tried it on both Mac and Windows. seeing the same output.

2019-08-11 13:34:01,298 - AWSIoTPythonSDK.core.protocol.mqtt_core - INFO - Performing sync subscribe...
2019-08-11 13:34:01,298 - AWSIoTPythonSDK.core.protocol.mqtt_core - INFO - Offline request detected!
2019-08-11 13:34:01,298 - AWSIoTPythonSDK.core.protocol.mqtt_core - ERROR - Offline request queue has been disabled
Traceback (most recent call last):
File "trafficLight.py", line 232, in
deviceShadowHandler.shadowRegisterDeltaCallback(customShadowCallback_Delta)
File "/Library/Python/2.7/site-packages/AWSIoTPythonSDK/core/shadow/deviceShadow.py", line 398, in shadowRegisterDeltaCallback
self._shadowManagerHandler.basicShadowSubscribe(self._shadowName, "delta", self.generalCallback)
File "/Library/Python/2.7/site-packages/AWSIoTPythonSDK/core/shadow/shadowManager.py", line 68, in basicShadowSubscribe
self._mqttCoreHandler.subscribe(currentShadowAction.getTopicDelta(), 0, srcCallback)
File "/Library/Python/2.7/site-packages/AWSIoTPythonSDK/core/protocol/mqtt_core.py", line 299, in subscribe
self._handle_offline_request(RequestTypes.SUBSCRIBE, (topic, qos, message_callback))
File "/Library/Python/2.7/site-packages/AWSIoTPythonSDK/core/protocol/mqtt_core.py", line 370, in _handle_offline_request
raise self._offline_request_queue_disabled_exceptions[type]
AWSIoTPythonSDK.exception.AWSIoTExceptions.subscribeQueueDisabledException

cgroups check does not work with cgroups2

At: https://github.com/aws-samples/aws-greengrass-samples/blob/master/greengrass-dependency-checker-GGCv1.11.x/check_cgroups.sh#L202

... the check looks for mounts of type cgroup but not cgroup2.

For example, lines in /proc/mounts like:

cgroup2 on /sys/fs/cgroup type cgroup2 (rw,nosuid,nodev,noexec,relatime,nsdelegate,memory_recursiveprot)

The check for memory and devices cgroups also will not work properly for cgroups 2. (The memory one passes accidentally.)

libcudnn7-dev and libcudnn7 packages not authenticated -Nvidia TX2 MXNet

I get the following error when I attempt to run the mxnet_installer.sh for the Nvidia TX2:

./mxnet_installer.sh
Starting MXNET installation on the system...
Unittests: N
WARNING: Please enable universal repositories by modifying '/etc/apt/sources.list'
The following lines should be uncommented in that file:
deb http://ports.ubuntu.com/ubuntu-ports/ xenial universe
deb-src http://ports.ubuntu.com/ubuntu-ports/ xenial universe
deb http://ports.ubuntu.com/ubuntu-ports/ xenial-updates universe
deb-src http://ports.ubuntu.com/ubuntu-ports/ xenial-updates universe
Assuming that universal repos are enabled and checking dependencies...
Get:1 file:/var/cuda-repo-9-0-local InRelease
Ign:1 file:/var/cuda-repo-9-0-local InRelease
Get:2 file:/var/nv-tensorrt-repo-ga-cuda9.0-trt3.0.4-20180208 InRelease
Ign:2 file:/var/nv-tensorrt-repo-ga-cuda9.0-trt3.0.4-20180208 InRelease
Get:3 file:/var/visionworks-repo InRelease
Ign:3 file:/var/visionworks-repo InRelease
Get:4 file:/var/visionworks-sfm-repo InRelease
Ign:4 file:/var/visionworks-sfm-repo InRelease
Get:5 file:/var/visionworks-tracking-repo InRelease
Ign:5 file:/var/visionworks-tracking-repo InRelease
Get:6 file:/var/cuda-repo-9-0-local Release [574 B]
Get:7 file:/var/nv-tensorrt-repo-ga-cuda9.0-trt3.0.4-20180208 Release [574 B]
Get:8 file:/var/visionworks-repo Release [1,999 B]
Get:9 file:/var/visionworks-sfm-repo Release [2,003 B]
Get:10 file:/var/visionworks-tracking-repo Release [2,008 B]
Get:6 file:/var/cuda-repo-9-0-local Release [574 B]
Get:7 file:/var/nv-tensorrt-repo-ga-cuda9.0-trt3.0.4-20180208 Release [574 B]
Get:11 file:/var/cuda-repo-9-0-local Release.gpg [819 B]
Get:8 file:/var/visionworks-repo Release [1,999 B]
Get:12 file:/var/nv-tensorrt-repo-ga-cuda9.0-trt3.0.4-20180208 Release.gpg [819 B]
Get:9 file:/var/visionworks-sfm-repo Release [2,003 B]
Get:10 file:/var/visionworks-tracking-repo Release [2,008 B]
Get:11 file:/var/cuda-repo-9-0-local Release.gpg [819 B]
Get:12 file:/var/nv-tensorrt-repo-ga-cuda9.0-trt3.0.4-20180208 Release.gpg [819 B]
Hit:16 http://ports.ubuntu.com/ubuntu-ports xenial InRelease
Ign:11 file:/var/cuda-repo-9-0-local Release.gpg
Get:17 http://ports.ubuntu.com/ubuntu-ports xenial-updates InRelease [102 kB]
Ign:12 file:/var/nv-tensorrt-repo-ga-cuda9.0-trt3.0.4-20180208 Release.gpg
Get:18 http://ports.ubuntu.com/ubuntu-ports xenial-security InRelease [102 kB]
Get:19 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main arm64 DEP-11 Metadata [317 kB]
Get:20 http://ports.ubuntu.com/ubuntu-ports xenial-updates/main DEP-11 64x64 Icons [226 kB]
Get:21 http://ports.ubuntu.com/ubuntu-ports xenial-updates/universe arm64 DEP-11 Metadata [244 kB]
Get:22 http://ports.ubuntu.com/ubuntu-ports xenial-updates/universe DEP-11 64x64 Icons [315 kB]
Get:23 http://ports.ubuntu.com/ubuntu-ports xenial-updates/multiverse arm64 DEP-11 Metadata [4,072 B]
Get:24 http://ports.ubuntu.com/ubuntu-ports xenial-security/universe Sources [62.8 kB]
Get:25 http://ports.ubuntu.com/ubuntu-ports xenial-security/main arm64 DEP-11 Metadata [67.5 kB]
Get:26 http://ports.ubuntu.com/ubuntu-ports xenial-security/main DEP-11 64x64 Icons [72.2 kB]
Get:27 http://ports.ubuntu.com/ubuntu-ports xenial-security/universe arm64 Packages [290 kB]
Get:28 http://ports.ubuntu.com/ubuntu-ports xenial-security/universe arm64 DEP-11 Metadata [106 kB]
Get:29 http://ports.ubuntu.com/ubuntu-ports xenial-security/universe DEP-11 64x64 Icons [139 kB]
Fetched 2,048 kB in 2s (865 kB/s)
Reading package lists... Done
W: GPG error: file:/var/cuda-repo-9-0-local Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY F60F4B3D7FA2AF80
W: The repository 'file:/var/cuda-repo-9-0-local Release' is not signed.
N: Data from such a repository can't be authenticated and is therefore potentially dangerous to use.
N: See apt-secure(8) manpage for repository creation and user configuration details.
W: GPG error: file:/var/nv-tensorrt-repo-ga-cuda9.0-trt3.0.4-20180208 Release: The following signatures couldn't be verified because the public key is not available: NO_PUBKEY F60F4B3D7FA2AF80
W: The repository 'file:/var/nv-tensorrt-repo-ga-cuda9.0-trt3.0.4-20180208 Release' is not signed.
N: Data from such a repository can't be authenticated and is therefore potentially dangerous to use.
N: See apt-secure(8) manpage for repository creation and user configuration details.
Reading package lists... Done
Building dependency tree
Reading state information... Done
Calculating upgrade... Done
The following packages were automatically installed and are no longer required:
libmircommon5 libqmi-glib1 ubuntu-core-launcher
Use 'sudo apt autoremove' to remove them.
The following NEW packages will be installed:
libinput-bin libqmi-glib5
The following packages will be upgraded:
accountsservice activity-log-manager apparmor appmenu-qt5 apt apt-utils
avahi-autoipd avahi-daemon avahi-utils bamfdaemon base-files bsdutils
btrfs-tools command-not-found-data compiz compiz-core compiz-gnome
compiz-plugins-default console-setup console-setup-linux coreutils
cracklib-runtime cryptsetup cryptsetup-bin cups-browsed cups-filters
cups-filters-core-drivers deja-dup desktop-file-utils distro-info-data
dnsmasq dnsmasq-base dpkg dpkg-dev fuse fwupd fwupdate fwupdate-signed
gir1.2-appindicator3-0.1 gir1.2-dbusmenu-glib-0.4 gir1.2-packagekitglib-1.0
gir1.2-unity-5.0 glib-networking glib-networking-common
glib-networking-services gnome-accessibility-themes gnome-calculator
gnome-calendar gnome-disk-utility gnome-font-viewer gnome-menus
gnome-session-bin gnome-session-common gnome-settings-daemon-schemas
gnome-sudoku gnome-system-monitor grep gstreamer1.0-tools
gtk2-engines-murrine gvfs gvfs-backends gvfs-bin gvfs-common gvfs-daemons
gvfs-fuse gvfs-libs hdparm humanity-icon-theme ifupdown im-config
indicator-application indicator-bluetooth init init-system-helpers
initramfs-tools initramfs-tools-bin initramfs-tools-core iproute2
isc-dhcp-client isc-dhcp-common keyboard-configuration klibc-utils kmod
krb5-locales language-pack-en language-pack-en-base language-selector-common
language-selector-gnome less libaccountsservice0 libapparmor-perl
libapparmor1 libappindicator3-1 libappstream-glib8 libapt-inst2.0
libapt-pkg5.0 libaudit-common libaudit1 libavahi-client3
libavahi-common-data libavahi-common3 libavahi-core7 libavahi-glib1
libavahi-ui-gtk3-0 libbamf3-2 libblkid1 libcompizconfig0 libcrack2
libcryptsetup4 libcudnn7 libcudnn7-dev libcupsfilters1 libdbusmenu-glib4
libdbusmenu-gtk3-4 libdbusmenu-gtk4 libdecoration0 libdfu1 libdpkg-perl
libexiv2-14 libfcitx-config4 libfcitx-gclient0 libfcitx-utils0 libfdisk1
libfontembed1 libframe6 libfuse2 libfwup0 libfwupd1 libgcrypt20
libglib2.0-data libgnome-menu-3-0 libgssapi-krb5-2 libgtk-3-bin
libgtk2.0-common libgweather-3-6 libgweather-common libido3-0.1-0 libinput10
libk5crypto3 libklibc libkmod2 libkrb5-3 libkrb5support0 libmbim-glib4
libmbim-proxy libmetacity-private3a libmm-glib0 libmount1
libnautilus-extension1a libnm-glib-vpn1 libnm-glib4 libnm-gtk-common
libnm-gtk0 libnm-util2 libnm0 libnma-common libnma0 libnux-4.0-0
libnux-4.0-common libp11-kit0 libpackagekit-glib2-16 libpam-systemd
libparted2 libpci3 libplymouth4 libprocps4 libpulse-mainloop-glib0 libpulse0
libpulsedsp libqmi-proxy libqt5sql5-sqlite libsane libsane-common
libseccomp2 libsmartcols1 libsnapd-glib1 libsnmp-base libsnmp30 libsystemd0
libudev1 libunity-control-center1 libunity-core-6.0-9
libunity-protocol-private0 libunity-scopes-json-def-desktop
libunity-settings-daemon1 libunity9 libupower-glib3 libuuid1 libvulkan1
libwacom-bin libwacom-common libwacom2 libwhoopsie0 light-themes logrotate
lsb-base lsb-release lshw makedev metacity metacity-common modemmanager
mount nautilus nautilus-data network-manager network-manager-gnome nux-tools
overlay-scrollbar overlay-scrollbar-gtk2 p11-kit p11-kit-modules parted
pciutils plymouth plymouth-label plymouth-theme-ubuntu-logo
plymouth-theme-ubuntu-text printer-driver-brlaser procps pulseaudio
pulseaudio-module-bluetooth pulseaudio-module-x11 pulseaudio-utils
python-apt-common python3-apt python3-commandnotfound
python3-software-properties sane-utils session-shortcuts shared-mime-info
snapd snapd-login-service sni-qt software-properties-common
software-properties-gtk squashfs-tools sudo suru-icon-theme systemd
systemd-sysv ubuntu-artwork ubuntu-core-launcher ubuntu-desktop ubuntu-docs
ubuntu-mobile-icons ubuntu-mono ubuntu-session udev unattended-upgrades
unity unity-control-center unity-control-center-faces
unity-lens-applications unity-schemas unity-scopes-runner unity-services
unity-settings-daemon update-notifier update-notifier-common upower
util-linux uuid-dev vino whoopsie xdg-user-dirs xdg-utils xdiagnose
xfonts-utils zlib1g zlib1g-dev
271 upgraded, 2 newly installed, 0 to remove and 0 not upgraded.
Need to get 68.3 MB/241 MB of archives.
After this operation, __ MB of additional disk space will be used.
WARNING: The following packages cannot be authenticated!
libcudnn7-dev libcudnn7
E: There were unauthenticated packages and -y was used without --allow-unauthenticated

runtime error: invalid memory address or nil pointer dereference

Hi everyone,
I am trying greengrass following this tutorial on my Raspberry Pi (a new SD card with the latest Raspbian Stretch). I did all the steps and passed the dependency check.

When I tried to start the greengrass by:
cd /greengrass/ggc/core/ sudo ./greengrassd start

I got the following error:

Setting up greengrass daemon
Validating hardlink/softlink protection
Waiting for up to 40s for Daemon to start
runtime error: invalid memory address or nil pointer dereference
The Greengrass daemon process with [pid = #my pid#] died

Any help is highly appreciated!

Remove __MACOSX directory from Dependency Checker ZIP file

root@DYRLB02:~# unzip greengrass-dependency-checker-GGCv1.3.0.zip?raw=true
Archive: greengrass-dependency-checker-GGCv1.3.0.zip?raw=true
creating: greengrass-dependency-checker-GGCv1.3.0/
inflating: greengrass-dependency-checker-GGCv1.3.0/check_cgroups.sh
creating: __MACOSX/
creating: __MACOSX/greengrass-dependency-checker-GGCv1.3.0/
inflating: __MACOSX/greengrass-dependency-checker-GGCv1.3.0/._check_cgroups.sh
inflating: greengrass-dependency-checker-GGCv1.3.0/check_ggc_dependencies
inflating: __MACOSX/greengrass-dependency-checker-GGCv1.3.0/._check_ggc_dependencies
inflating: greengrass-dependency-checker-GGCv1.3.0/check_ggc_user_and_group.sh
inflating: __MACOSX/greengrass-dependency-checker-GGCv1.3.0/._check_ggc_user_and_group.sh
inflating: greengrass-dependency-checker-GGCv1.3.0/check_kernel_configs.sh
inflating: __MACOSX/greengrass-dependency-checker-GGCv1.3.0/._check_kernel_configs.sh
inflating: greengrass-dependency-checker-GGCv1.3.0/check_script_dependencies.sh
inflating: __MACOSX/greengrass-dependency-checker-GGCv1.3.0/._check_script_dependencies.sh
inflating: greengrass-dependency-checker-GGCv1.3.0/check_sw_packages.sh
inflating: __MACOSX/greengrass-dependency-checker-GGCv1.3.0/._check_sw_packages.sh
inflating: greengrass-dependency-checker-GGCv1.3.0/check_system_configs.sh
inflating: __MACOSX/greengrass-dependency-checker-GGCv1.3.0/._check_system_configs.sh
inflating: greengrass-dependency-checker-GGCv1.3.0/log_utils.sh
inflating: __MACOSX/greengrass-dependency-checker-GGCv1.3.0/._log_utils.sh
inflating: greengrass-dependency-checker-GGCv1.3.0/README.md
inflating: __MACOSX/greengrass-dependency-checker-GGCv1.3.0/._README.md
inflating: greengrass-dependency-checker-GGCv1.3.0/string_utils.sh
inflating: __MACOSX/greengrass-dependency-checker-GGCv1.3.0/._string_utils.sh
inflating: greengrass-dependency-checker-GGCv1.3.0/validate_platform_security.sh
inflating: __MACOSX/greengrass-dependency-checker-GGCv1.3.0/._validate_platform_security.sh

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.