華為arm服務器安裝netcore3.1


公司提供了一台華為服務器 。

原本以為很容易就一行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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM