run ASP.NET Core (.NET 4.6.2) on Raspberry Pi 3 with mono - mono

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.

libuv PATH is not set/exported, in the Pi environment
this is a common error

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

Related

how to install mono latest Alpha version on Ubuntu 16.04

I tried to do the guide on the mono website, but I don't really understand it as I am not a linux guy and surely not an expert in servers.
I don't find anything on Google.
No matter what I do, when I use the "mono --version" command to see if the install was successful, I get Mono 4.6.1
If you are looking for alpha versions, you will want to setup your package manager to pull the Mono Continuous Integration packages as these are built for every commit to the repo at https://github.com/mono/mono.
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
echo "deb http://jenkins.mono-project.com/repo/debian sid main" | sudo tee /etc/apt/sources.list.d/mono-jenkins.list
sudo apt-get update
Ref: http://www.mono-project.com/docs/getting-started/install/linux/ci-packages/#debian-ubuntu-and-derivatives
Read the Usage section on how to select a build/package.

Building ssldump on Ubuntu

Has anyone built ssldump on Ubuntu lately? I am having trouble building http://downloads.sourceforge.net/project/ssldump/ssldump/0.9b3/ssldump-0.9b3.tar.gz - it appears to be referencing libraries that are too old for Ubuntu 12.04. I am trying this so that I can apply the TLS patch that is at http://sourceforge.net/p/ssldump/patches/8/.
If anyone has specific instructions to build ssldump, please share.
Assuming you have the necessary development libraries (personally, the easiest way for me is to "sudo apt-get install gnome-devel")
sudo apt-get install libpcap0.8-dev
sudo ln -sf /usr/include/pcap-bpf.h /usr/include/net/bpf.h
sudo apt-get install libssl-dev
Then cd into the ssldump source directory and: ./configure --host=i686-pc-linux-gnu --with-pcap-lib=/usr/lib/x86_64-linux-gnu/
make -j4
That should get you there. It worked for me on ubuntu 15.04. I may have missed out a few things though, cos I did it a couple of weeks ago, so if something doesn't work, leave a comment.

Update Mono via CentOS

Hello i have CentOS and im trying my damnedest to update Mono i have version 1.2.4 at the moment some how, and im trying to compile something via xbuild and it isn't working im thinking because im using to old a version of mono.
Please BEFORE you link me ANY guide, if it links to the ftp.novell directory it no longer works, that directory is all scrapped. So i dont even know where to get a proper tarball for it now because on their site it only shows opensuse and such? Not CentOS like there used to be.
Can anyone help me with this :\
What version of CentOS are you using? 4?
The instructions below were tested on CentOS 5.9. They will also work fine on the latest CentOS version (6.4 as of this writing) and I imagine they would work with older versions as well.
Head over to /usr/src as root
su
cd /usr/src
Ensure GCC and friends are installed (to build the Mono source code)
yum install gcc gcc-c++ bison
Grab and unpack the Mono source code
wget http://download.mono-project.com/sources/mono/mono-3.0.7.tar.bz2
tar -xvjf mono-3.0.7.tar.bz2
Build and install Mono
cd mono-3.0.7
./configure --prefix=/usr
make && make install
Verify that you have a working Mono installation with mono --version and mcs --version
Build the GDI+ compatibility layer (required for System.Drawing)
yum install glib2-devel libX11-devel pixman-devel fontconfig-devel freetype-devel libexif-devel libjpeg-devel glib2-devel libtif-devel libpng-devel giflib-devel
cd /usr/src
wget http://download.mono-project.com/sources/libgdiplus/libgdiplus-2.10.tar.bz2
tar -xvjf libgdiplus-2.10.tar.bz2

Upgrade native apache from 2.2.21 to 2.4.2 - Lion 10.7.4

As stated in the title, i have apache 2.2.21 running natively as part of my LAMP stack. I would like to upgrade apache to the latest version - 2.4.2. Is there a recommended or best practice to safely perform this operation without breaking stuff of loosing existing settings, etc?
Thank you for the time and direction.
I was able to install the latest version (2.4.2) using the steps below.
Install pcre (perl compatible regular-expression library) using fink (or what ever osx package manager you use)
$ fink install pcre
Install the latest (2.4.2 as of writing this) using the steps below
$ sudp apachectl stop
$ cd ~/Downloads/
$ curl -O http://mirror.uoregon.edu/apache//httpd/httpd-2.4.2.tar.gz
$ gzip -d httpd-2.4.2.tar.gz
$ tar xvf httpd-2.4.2.tar
$ cd httpd-2.4.2
$ ./configure
$ make
$ sudo make install
However, the new binaries got installed under /usr/local and doesn't seem to have overridden the default install locations on OSX lion. And I could not find a config.nice file to use as suggested by the apache upgrade documentation.
The original apache files httpd, apachectl and ab were located on /usr/sbin. Without having found any documentation to confirm this was the right thing to do, I went ahead and backed up the original files and sym-linked the new files from /usr/local/bin into /usr/sbin, as follows.
$ cd /usr/sbin
# backup the original files ...
$ sudo ln -s ../local/bin/ab ab
$ sudo ln -s ../local/bin/apachectl apachectl
$ sudo ln -s ../local/bin/httpd httpd
This seems to have worked, although it would be nice to get a confirmation from someone in the know.

Apache Response Time Monitoring in Hyperic

I seem to be having a hard time getting the Apache module for Hyperic to compile in Ubuntu 8.10. Has anyone had any luck getting it to work? Does anyone have a precompiled version?
I am running Hyperic HQ version 4.1.2 build #1053, Apache 2.2.x
I got it to work by doing the following:
Symbolically link aclocal and automake old hard coded version to your current version (replace version numbers 1.11 to your own):
sudo ln -s /usr/bin/aclocal-1.11 /usr/bin/aclocal-1.6
sudo ln -s /usr/bin/automake-1.11 /usr/bin/automake-1.6
Rename a conflicting header file:
sudo mv /usr/include/openssl/asn1.h /usr/include/openssl/asn_1.h
Run the installer:
sudo ./build_apache_snmp.sh -r 2.0 /usr/bin/apxs2
Once it is finished make sure you follow the directions located at ./README
Once you have confirmed that the SNMP service is working (using the snmpwalk application that the readme file refers to), reverse the steps above to revert system changes just needed to compile the plugin.