公司提供了一台華為服務器 。
原本以為很容易就一行yum install 就行
現實讓我傻眼了
找不到該軟件源
沒辦法 ,只能通過手動下載安裝包進行
wget ,這個服務器wget 要先下載
這個簡單
yum install wget
接下來下載netcore 3.1 arm64位
wget https://download.visualstudio.microsoft.com/download/pr/98a2e556-bedd-46c8-b3fa-96a9f1eb9556/09f60d50e3cbba0aa16d48ceec9dcb0b/dotnet-sdk-3.1.201-linux-arm64.tar.gz
下載后 解壓,這些按照官方步驟
mkdir -p $HOME/dotnet && tar zxf dotnet-sdk-3.1.201-linux-arm64.tar.gz -C $HOME/dotnet export DOTNET_ROOT=$HOME/dotnet export PATH=$PATH:$HOME/dotnet
然后滿懷信心的運行 dotnet --info 出錯了
dotnet: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.21' not found (required by dotnet)
dotnet: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20' not found (required by dotnet)
動態鏈接庫問題,這個一開始也找到好多大佬咨詢,張善友也發了好幾個文章給我參考
無數的百度之后,嘗試了gcc安裝, 等,不行。最后直接libcc_xx最近的鏈接庫文件
wget http://ftp.de.debian.org/debian/pool/main/g/gcc-6/libstdc++6_6.3.0-18+deb9u1_arm64.deb
如下命令開始解壓
將上面的最新動態庫(lib/i386-linux-gnu)libstdc++.so.6.0.23復制到/usr/lib64目錄下,
切換工作目錄至/usr/lib64:
刪除原來軟連接:
將默認庫的軟連接指向最新動態庫:
默認動態庫升級完成。重新運行以下命令檢查動態庫
ar -x libstdc++6_6.3.0-18+deb9u1_arm64.deb tar xvf data.tar.xz cp libstdc++.so.6.0.22 /usr/lib64 cd /usr/lib64 rm -rf libstdc++.so.6 ln -s libstdc++.so.6.0.22 libstdc++.so.6 strings /usr/lib64/libstdc++.so.6 | grep GLIBC
以為在這里就OK了
我還是太天真了啊
接下去運行 dotnet --info
Process terminated. Couldn't find a valid ICU package installed on the system. Set the configuration flag System.Globalization.Invariant to true if you want to run with no globalization support.
at System.Environment.FailFast(System.String)
at System.Globalization.GlobalizationMode.GetGlobalizationInvariantMode()
at System.Globalization.GlobalizationMode..cctor()
at System.Globalization.CultureData.CreateCultureWithInvariantData()
at System.Globalization.CultureData.get_Invariant()
at System.Globalization.CultureInfo..cctor()
at System.String.ToLowerInvariant()
at Microsoft.DotNet.PlatformAbstractions.RuntimeEnvironment.GetArch()
at Microsoft.DotNet.PlatformAbstractions.RuntimeEnvironment..cctor()
at Microsoft.DotNet.PlatformAbstractions.RuntimeEnvironment.GetRuntimeIdentifier()
at Microsoft.DotNet.Cli.MulticoreJitProfilePathCalculator.CalculateProfileRootPath()
at Microsoft.DotNet.Cli.MulticoreJitActivator.StartCliProfileOptimization()
at Microsoft.DotNet.Cli.MulticoreJitActivator.TryActivateMulticoreJit()
at Microsoft.DotNet.Cli.Program.Main(System.String[])
繼續百度,運行 yum install icu -y
你以為這樣了嘛?還是不行。。我透
找到華為的論壇,開始按他的方法進行安裝
替換/usr/lib64目錄下的libstdc++.so.6
wget https://obs-mirror-ftp4.obs.cn-north-4.myhuaweicloud.com/systemreliable/libstdc%2B%2B.so.6.0.27 mv libstdc++.so.6 libstdc++.so.6.bak mv libstdc++.so.6.0.27 /usr/lib64/ ln libstdc++.so.6.0.27 libstdc++.so.6
說一下,備份我沒做,因為我還有一個23版本的,他這里是直接軟連接,我是刪除了一下,重新連接的所以我的命令是
wget https://obs-mirror-ftp4.obs.cn-north-4.myhuaweicloud.com/systemreliable/libstdc%2B%2B.so.6.0.27 mv libstdc++.so.6.0.27 /usr/lib64/ rm -rf libstdc++.so.6 ln libstdc++.so.6.0.27 libstdc++.so.6
安裝配置ICU
這一步呢,提供的這個59_1下載地址是錯的。
wget http://download.icu-project.org/files/icu4c/59.1/icu4c-59_1-src.tgz tar -xzvf icu4c-59_1-src.tgz cd icu/source
所以去官網重新找了一個接近的版本,59.2
wget https://github.com/unicode-org/icu/releases/download/release-59-2/icu4c-59_2-src.tgz tar -xzvf icu4c-59_2-src.tgz cd icu/source
編譯並配置環境變量
./configure --prefix=/usr/local/icu
提示錯誤
configure: error: in `/home/icu/source':
configure: error: no acceptable C compiler found in $PATH
需要安裝GCC
yum -y install gcc
接着繼續安裝,不然還要報錯
yum install gcc gcc-c++
編譯安裝ICU
make -j4 make install
修改/etc/profile文件
vi /etc/profile
最后添加一行
export PATH=$PATH:/usr/local/icu/bin #wq退出保存
使環境變量生效
source /etc/profile
配置鏈接庫
ln -s /usr/local/icu/lib/libicutu.so.59 /lib64/ ln -s /usr/local/icu/lib/libicui18n.so.59 /lib64/ ln -s /usr/local/icu/lib/libicuuc.so.59 /lib64/ ln -s /usr/local/icu/lib/libicudata.so.59 /lib64/ icuinfo
好了。
最后輸入
dotnet --info
.NET Core SDK (reflecting any global.json): Version: 3.1.201 Commit: b1768b4ae7 Runtime Environment: OS Name: centos OS Version: 7 OS Platform: Linux RID: linux-arm64 Base Path: /root/dotnet/sdk/3.1.201/ Host (useful for support): Version: 3.1.3 Commit: 4a9f85e9f8 .NET Core SDKs installed: 3.1.201 [/root/dotnet/sdk] .NET Core runtimes installed: Microsoft.AspNetCore.App 3.1.3 [/root/dotnet/shared/Microsoft.AspNetCore.App] Microsoft.NETCore.App 3.1.3 [/root/dotnet/shared/Microsoft.NETCore.App] To install additional .NET Core runtimes or SDKs: https://aka.ms/dotnet-download
參考文檔:
https://www.baidu.com/link?url=haszgPRsCvSGA_mqvi3Zbp8YJnqR24kgtjb-mEQzWrXDHZ0XJIkOCo9J7iOxf7Mx1TxTKBHXG-aX-uj5sEUhlDTs1Lw7sNN4tDx4tL8UpiO&wd=&eqid=ff4c3e4900014355000000065eaa770e
https://bbs.huaweicloud.com/forum/thread-46787-1-1.html