装MinDoc时遇到的坑
3月7日

1.PNG

如图,各种装GLIBC和GCC的错,各种搜一步一坑,最后我选择放弃MinDoc,没辙,最后出了这么一个错:

g++: internal compiler error: Killed (program cc1plus)
Please submit a full bug report,
with preprocessed source if appropriate.
See <http://bugzilla.redhat.com/bugzilla> for instructions.

网上说出错的原因是(虚拟机)运行内存不足,我就是个1核2G的小小vps,试了交换分区的方法也是不行,gcc死活也更新不到新版,索性放弃了,接下来记一下每步一坑。。。:

1、照着MinDoc的官方手册装,在执行"./mindoc_linux_amd64 install" 时报错找不到GLIBC2.28,看了一眼自己vps版本是2.17,那就升吧。

2、参照文章libc.so.6: version `GLIBC_2.28' not found这篇文章往下,在configure时报make、bison、compiler版本都低,接着升。。

3、参照linux系统安装bison,解决 These critical programs are missing or too old: bison compiler更新make到最新版本4.3 可以解决bison和make的问题。

4、参照 Linux升级gcc到最新版本gcc-11.2.0 在编译时就会遇到上面代码块里内存不足的问题,尝试

C++ 错误解决 —— internal compiler error解決軟件編譯時出現"g++: internal compiler error: Killed"

未果,还顺脚又附赠了一个问题:【Linux】fallocate: fallocate failed: Text file busy 問題解決方式

5、尝试回退版本到GCC8去了,刚才操作都是在别人1核2G的VPS上做的,这次试试自己的1核2G(没变量你做个?),CentOS7 编译安装GCC 8.2.0 结果一样,凸(艹皿艹 ),我也懒得本地用虚拟机去试这玩意儿了,要是硬件原因那就认了。。。

准备换用其他Doc搭站了,猪脑过载。

有师傅能帮助确认是否是因为vps内存低导致GCC装不上(一到装g++就卡死)吗o(╥﹏╥)o。

未完。。。

3月8日

6、看网上的帖子,交换分区的方法是可行的,但还要额外修改互联网云服务器的其他一个配置项,这个配置厂商云的数值可能和自己机器不一样:

cat /proc/sys/vm/swappiness

此两篇文章配合使用就暂时不会报内存不足的问题了:解决编译GCC内存不足的错误 设置和修改Linux的swap分区大小

7、接下来就是对gcc漫长的make,我直接make不加参,过了3小时,报了一个:

bootstrap building gcc - stage 2 and 3 comparison fail

类似于这种的错误,解决方式忘了,在搜到方式重编译的同时去做了一个数据优化分析(下节记),所以要是遇到上述错误,建议两种方式都试一下:

(1)、我把checking也改成disable了好像,参照 Linux升级gcc到最新版本gcc-11.2.0

../configure -disable-checking -enable-languages=c,c++ -disable-multilib

(2)、参照stackoverflow的一个question

$ make distclean
$ ./configure

但确实忘了是通过哪个编译成了,其中有一个在中间肯定是又卡死了(我记得是第二个? question 值为-1😄 ),,,最后直接用 make -j4 编译,编了5个小时,gcc11终于升好了 - -。

2.PNG

8、后面make install包括修改gcc默认版本啥的,接着参照 Linux升级gcc到最新版本gcc-11.2.0

make install往后操作就可以了,就成功了:

3.PNG

9、然后在装glibc2.28时又有别的错了,淦,没来得及看呢。。。

未完。。。

3月9日

10、make glibc2.28时报错,总归纳为:

cc1:all warnings being treated as errors

把前面的几个错挨个搜了一遍也没得解决,在走投无路时再看报错感觉像是文件中格式的一些错误,想到了会不会是gcc版本和glibc版本的事,搜了下glibc是向后兼容,于是我曲线救国,安装glibc2.33,虽然在make & make install时有报错,但是最后就tm的过了,过了,过了哈哈哈哈。。。

glibc2.28也有了,也不报glibc2.28 not found了😭

可以看看版本:

ls -l /lib64/libc.so.6
strings /lib64/libc.so.6 | grep GLIBC

8.PNG

mindoc也装好了😭

7.PNG

接下来的操作看官方文档也行MinDoc帮助手册 https://github.com/mindoc-org/mindoc/releases 或者看一些博客也行 开源的在线接口文档wiki工具Mindoc的介绍与使用

3月10日

3月上旬就这么过去了,我竟然用了四天在装这玩意,虽说期间并行着也在干别的,不过一升级gcc占得时间实在是太长了,昨天程序起来了,今天配个火墙,就可以在互联网访问了,火墙配置:

在自己的云vps给个端口策略,然后配置下firewall即可

systemctl status firewalld   #看状态
service firewalld restart    #重启firewall服务
firewall-cmd --query-port=8181/tcp  #查看端口是否开放
firewall-cmd --add-port=8181/tcp --permanent #开放该端口
firewall-cmd --reload  #重新载入配置,比如添加规则之后,需要执行此命令

可以参考 Linux查看、开启、关闭防火墙操作

配个反向代理(但是他登录页有个重定向不老会配的),然后就可以玩耍了:

9.PNG

装的是sqlite3,用navicat连一下:Navicat使用HTTP通道连接远程服务器的SQLite文件 没学会,就嫩内,索性直接操作sqlite3吧,教程:SQLite 教程


标题:我在装MinDoc时遇到的坑
作者:jyl
地址:http://jinyunlong.xyz/articles/2022/03/07/1646652157861.html