最近有需求,在公司服务器CentOS6.5上跑.netcore编译运行的程序。

最好所有东西都离线安装。

然后玩了一个星期linux。被glibc的版本问题整得不要不要的。

系统预装glibc2.12

DoNetCore需要glibc2.14

好吧,用HyperV最小安装系统进入,各种准备工作做好。

下载DoNetCore for CentOS.latest解压,安装成功,配置环境变量,运行dotnet new报错:需要glibc2.14

下载glibc.2.14.tar.gz解压,./configure报错:需要avilable gcc

下载gcc for centos6.5,然后根据引用需求一个一个的把包装好,装好gcc

回到glibc,configure继续报错:需要一串前置包。包括nss png-devel 等。(其实这些在装系统的时候,选择常规安装,应该是已经装好的,不过要求离线安装,则尽可能的把环境搞全)。这是个体力活。好不容易搞好。

configure通过,make……

等很久,结果死机。

还原重试多次依然死机。

然后去网上下载了一些系统启动后就一直在用的库的其他版本,静态安装。包括不同版本的make binutils等。然后在configure的时候带参数,使用新装的库,原因是可能在make的时候与系统正在使用的库发生冲突,比如在替换每个系统正在使用的文件时。

好这次安装好了。

运行dotnet new成功

运行dotnet run⋯⋯报错:具体忘了,手机打字。。大意是 系统中使用的一些东西是glibc2.12编译的,而此程序(dotnetcore)在运行时需要调用,但与glibc2.14不符,也就是说此时运行的dotnetcore是引用的glibc是爆动态半静态的……异常信息中出现了一个什么_time()函数。

请问这如何破解。。求达人支招。

2 收藏


直接登录
最新评论