0

I have a ASP.NET Core (1.1.0) application wich is referencing the full framework (4.6.2) and is using the Entity Framework Core (1.1.0) and a SQLite databse.

This is working fine under Windows 10 x64. Now I want to run this app on the Raspberry Pi 3 with mono-complete (4.6). When I start the app, then there are some errors regarding Kestrel is not finding libuv.

How can I achieve my goal? (Is it possible?)

Edit: I searched for tutorials, how to, docs etc. for that kind of scenario, but did not found anything. The results of my search were all for .Net Core and not the full framework/mono.

Froggie
  • 55
  • 7
  • Are you hoping that somebody will find bugs in your code without seeing it? Provide more information or create [MCVE](http://stackoverflow.com/help/mcve) – Dmitry Jan 12 '17 at 11:55
  • Maybe I should have added, that there are no tutorials or so for that kind of scenario. At least I have not found some. – Froggie Jan 12 '17 at 12:05
  • `there are some errors regarding Kestrel is not finding libuv` is not enough detailed information, please copy+paste the exact errors here. Also, explain how you installed Mono on the raspberry – knocte Jan 13 '17 at 04:12
  • @knocte is right, please provide more details or this question will be downvoted by the community – ympostor Jan 15 '17 at 11:26

2 Answers2

0

libuv PATH is not set/exported, in the Pi environment

this is a common error

keratos
  • 15
  • 8
  • 2
    Hi! I am here from the post review. You could enhance your answer greatly, if you'd include a short guide, on how to fix the problem you have pointed out. Please use the edit link right below your answer for that. – derM - not here for BOT dreams May 10 '17 at 11:16
0

You need to build libuv on your Pi. I have found 2 slightly different ways to accomplish this. The first worked when I was running Mono 4.0.2. I started from the steps outlined here and modified the commands to install libuv 1.9.1 to /usr/local/lib/:

sudo apt-get install gyp
wget http://dist.libuv.org/dist/v1.9.1/libuv-v1.9.1.tar.gz 
tar -xvf libuv-v1.9.1.tar.gz
cd libuv-v1.9.1/
./gyp_uv.py -f make -Duv_library=shared_library
make -C out
sudo cp out/Debug/lib.target/libuv.so.1 /usr/local/lib/libuv.so.1.9.1
sudo ln -s libuv.so.1.9.1 /usr/local/lib/libuv.so.1

However, recently I tried this again for Mono 4.6.2 and I got the exception that Mono was unable to load DLL 'libuv'. After much time debugging, I went to the web and found what appears to be a better way. This worked flawlessly (again, modifying for 1.9.1):

sudo apt-get install automake libtool curl
curl -sSL https://github.com/libuv/libuv/archive/v1.9.1.tar.gz | sudo tar zxfv - -C /usr/local/src
cd /usr/local/src/libuv-1.9.1
sudo sh autogen.sh
sudo ./configure
sudo make 
sudo make install
sudo rm -rf /usr/local/src/libuv-1.9.1 && cd ~/
sudo ldconfig
miesch1
  • 165
  • 2
  • 8