やってみる

アウトプットすべく己を導くためのブログ。その試行錯誤すらたれ流す。

Pi4B Raspbian buster C# MONO インストール

 C#ビルドコマンドcscが使いたくて。こっちのほうがdotnetよりずっと速い。

3B+のとき

インストール

sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
echo "deb http://download.mono-project.com/repo/debian stable-raspbianbuster main" | sudo tee /etc/apt/sources.list.d/mono-official-stable.list
sudo apt-get update

 インストールする。

time sudo apt-get -y install mono-devel mono-complete mono-dbg referenceassemblies-pcl ca-certificates-mono  mono-xsp4 > /tmp/work/mono_install.log

 ログを見る。

cat /tmp/work/mono_install.log
...
この操作後に追加で 344 MB のディスク容量が消費されます。
...

 たまにログの末尾をみて完了を待つ。

cat mono_install.log | tail -5
Mono precompiling /usr/lib/mono/4.5/System.Reflection.Metadata.dll for arm (LLVM disabled due to missing SSE4.1)...
mono-complete (6.4.0.198-0xamarin3+raspbian10b1) を設定しています ...
monodoc-http (4.2-3xamarin3+raspbian10b1) を設定しています ...
Use of uninitialized value $libs in concatenation (.) or string at /usr/sbin/mono-xsp4-update line 216.
systemd (241-7~deb10u2+rpi1) のトリガを処理しています ...

 いつの間にか呼出元で完了出力されていた。

real   8m40.442s
user    3m5.328s
sys 0m43.594s

確認

mono --version
Mono JIT compiler version 6.4.0.198 (tarball Tue Sep 24 01:45:47 UTC 2019)
Copyright (C) 2002-2014 Novell, Inc, Xamarin Inc and Contributors. www.mono-project.com
    TLS:           __thread
    SIGSEGV:       normal
    Notifications: epoll
    Architecture:  armel,vfp+hard
    Disabled:      none
    Misc:          softdebug 
    Interpreter:   yes
    LLVM:          yes(610)
    Suspend:       preemptive
    GC:            sgen (concurrent by default)
mcs --version
Mono C# compiler version 6.4.0.198
csc -version
3.3.1-beta4-19462-11 (66a912c9)

Hello World!

vi HelloWorld.cs
using System;
public class HelloWorld
{
    static public void Main ()
    {
        Console.WriteLine ("Hello World!");
    }
}
csc HelloWorld.cs
chmod 755 HelloWorld.exe
./HelloWorld.exe
Hello World!

前回まで

 ハード。

 ソフト。

 設定。

 データ移行。

 セキュリティ。

 企業。

 ツール。