Skip to content
This repository has been archived by the owner on Oct 12, 2023. It is now read-only.

.Net Core Managed Gateway on Raspberry Pi #406

Closed
malichishti opened this issue Nov 6, 2017 · 11 comments
Closed

.Net Core Managed Gateway on Raspberry Pi #406

malichishti opened this issue Nov 6, 2017 · 11 comments

Comments

@malichishti
Copy link

malichishti commented Nov 6, 2017

Hi,

I have created a .Net Core Console application with a manged Gateway inside it, using this nuget

I use Microsoft.Azure.Devices.Gateway.GatewayInterop to create the gateway, this works fine on a Windows machine but when i build and publish it for linux-arm and deploy it on Raspberry Pi it gives me following error[please note all the other .net core code works fine]:
image
The code looks like below:
image
PublishOutput.zip is the zip file containing all the files in the Published output.

Can you advise on what is that i'm doing wrong?

Thank you,
Ali

@aribeironovaes
Copy link
Contributor

aribeironovaes commented Nov 6, 2017 via email

@malichishti
Copy link
Author

malichishti commented Nov 6, 2017

@aribeironovaes thank you for your reply. I have copied all the files that were there in the publish output folder. I also attached it above, you can see that it contains dotnetcore.dll as well.
Since the nuget package already has native dependencies i assume they are being published - do you know how i can confirm it?
image

@aribeironovaes
Copy link
Contributor

HI Ali,

Unfortunately, by looking into your zip folder, I didn't find anything missing.

Usually what I do is to run dependency walker (or similar) software to list all dependencies and than I start checking 1:1.

Another approach you can take is filing an issue here: https://github.com/Azure-Samples/iot-edge-samples.

This is the github for the team that owns the nuget package and samples for iot_edge. So, I would start trying to put their sample to run on a Raspberry Pi and from there you start introducing your changes.

Sorry I couldn't help more, I will also try around here who lately have run this in a raspberry pi.

Question, were you able to run our edge (native) version on the raspberry pi?

Angelo Ribeiro.

@malichishti
Copy link
Author

malichishti commented Nov 7, 2017

Hi @aribeironovaes

I have logged it here

I haven't been able to run it on Raspberry Pi as the instructions here were for Ubuntu while Raspberry is Debian.
image
I did try to copy above runtime files from microsoft.azure.devices.gateway.native.debian.x64 nuget package to Pi and run ./gw but i got following error:

bash: ./gw: cannot execute binary file: Exec format error

@hansmbakker
Copy link

hansmbakker commented Nov 7, 2017

X64 (short for x86-64 bit) is NOT meant for Raspberry Pi, which has an ARM64 processor.

Depending on your Linux distribution you would need ARM64 or ARM32 packages. If you would use Windows IoT Core then i think you would always need ARM32 packages since there is no public 64bit version of Windows IoT Core yet.

@aribeironovaes
Copy link
Contributor

aribeironovaes commented Nov 7, 2017 via email

@malichishti
Copy link
Author

Are ARM32 packages publicly available?

@aribeironovaes
Copy link
Contributor

aribeironovaes commented Nov 7, 2017 via email

@malichishti
Copy link
Author

@aribeironovaes which instructions are you referring to?

I haven't had any luck in getting a reply from https://github.com/Azure-Samples/iot-edge-samples

@aribeironovaes
Copy link
Contributor

aribeironovaes commented Nov 16, 2017 via email

@malichishti
Copy link
Author

The problem was iot-edge does not work on Raspian Stretch; it needs openssl 1.0.0 which is not available. I moved to Raspian Jessie and added the run-times to /usr/lib/ and it worked.

Thank you

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants