question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

AWS CRT binary not present on linux-arm64/aws-crt-nodejs - Raspberry Pi 4+Ubuntu 20.10 Desktop

See original GitHub issue

Confirm by changing [ ] to [x] below to ensure that it’s a bug:

Known Issue

  • I’m using ATS data type endpoint: the endpoint should look like <prefix>-ats.iot.<region>.amazonaws.com

Platform/OS/Hardware/Device Raspberry Pi 4 with Ubuntu Desktop 20.10 Desktop

to simplify the tests I’ve made, I’m using the following one-line code in index.js:

var awsIot = require('aws-iot-device-sdk-v2');

package.json dependences:

 "dependencies": {
    "aws-crt": "^1.3.4",
    "aws-iot-device-sdk": "^2.2.6",
    "aws-iot-device-sdk-v2": "^1.3.3",
    "dotenv": "^8.2.0"
  }

project was created/installed both with yarn and npm, without errors.

Question/Bug?

I successfully ran my complete code with aws-iot-device-sdk-js-v2 on Ubuntu 18 - Laptop.

When I tried to run my code on a Raspberry Pi 4 with Ubuntu Desktop 20.10 Desktop, I got the following message:

/home/renato/projects/aws-iot-device-sdk-js-v2/node_modules/aws-crt/dist/native/binding.js:60
    throw new Error("AWS CRT binary not present in any of the following locations:\n\t" + search_paths.join('\n\t'));
    ^

Error: AWS CRT binary not present in any of the following locations:
        /home/renato/projects/aws-iot-device-sdk-js-v2/node_modules/aws-crt/dist/bin/native/aws-crt-nodejs
        /home/renato/projects/aws-iot-device-sdk-js-v2/node_modules/aws-crt/dist/bin/linux-arm64/aws-crt-nodejs
    at Object.<anonymous> (/home/renato/projects/aws-iot-device-sdk-js-v2/node_modules/aws-crt/dist/native/binding.js:60:11)
    at Module._compile (internal/modules/cjs/loader.js:1063:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)
    at Module.load (internal/modules/cjs/loader.js:928:32)
    at Function.Module._load (internal/modules/cjs/loader.js:769:14)
    at Module.require (internal/modules/cjs/loader.js:952:19)
    at require (internal/modules/cjs/helpers.js:88:18)
    at Object.<anonymous> (/home/renato/projects/aws-iot-device-sdk-js-v2/node_modules/aws-crt/dist/native/crt.js:22:35)
    at Module._compile (internal/modules/cjs/loader.js:1063:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1092:10)

when I looked at the aws-iot-device-sdk-js-v2/node_modules/aws-crt/dist/bin/ folder, I could only find linux-x64,darwin-x64 and win32-x64 folders, nothing with arm64.

I investigated /node_modules/aws-crt/dist/native/binding.js but found no clues.

I’ve tried to clone the rep aws-iot-device-sdk-js-v2 in another folder and npm install, but the folder linux-arm64 wasnt created and I got the same error.

I suppose it is not compiling for linux-arm64… there is a way to compile for linux-arm64? Could someone give me the instructions?

May I missed some steps during instalation?

Issue Analytics

  • State:closed
  • Created 3 years ago
  • Comments:5 (2 by maintainers)

github_iconTop GitHub Comments

2reactions
jmklixcommented, Dec 3, 2020

As noted here we have added this to our backlog. I am going to change this to a feature request so the status of this can be updated when prebuilt binaries are added.

0reactions
bretambrosecommented, Jul 23, 2021

Just a note on a closed issue: per aws-crt@1.8.5 and aws-iot-device-sdk-v2@1.5.5 we now bundle pre-built linux aarch64 binaries. This hopefully addresses raspberry pi 4/3 issues. armv7a support will be more difficult and will need to come at a later date.

Read more comments on GitHub >

github_iconTop Results From Across the Web

AWS CRT binary not present in any of the following locations ...
When I'm running the pub sub example as described below I get: The error I receive every time: (none of the solutions in...
Read more >
AWS CRT binary not present in any of the following locations ...
I received an answer in aws-iot-device-sdk-js-v2 repository from jmklix that solved my problem: Currently, the maintainers of the package ...
Read more >
Connect a Raspberry Pi or another device - AWS IoT Core
In this section, you'll install and run the pubsub sample app found in the AWS IoT Device SDK. This app shows how your...
Read more >
Step 2: Provision your Raspberry Pi in AWS IoT
For your Raspberry Pi to work with AWS IoT, it must be provisioned. Provisioning is the process of creating and configuring the AWS...
Read more >
Step 1: Download and save the AWS IoT Device Client
The procedures in this section download the AWS IoT Device Client, compile it, and install it on your Raspberry Pi. After you test...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found