装MinDoc时遇到的坑
3月7日
如图,各种装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终于升好了 - -。
8、后面make install包括修改gcc默认版本啥的,接着参照 Linux升级gcc到最新版本gcc-11.2.0
make install往后操作就可以了,就成功了:
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
mindoc也装好了😭
接下来的操作看官方文档也行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查看、开启、关闭防火墙操作
配个反向代理(但是他登录页有个重定向不老会配的),然后就可以玩耍了:
装的是sqlite3,用navicat连一下:Navicat使用HTTP通道连接远程服务器的SQLite文件 没学会,就嫩内,索性直接操作sqlite3吧,教程:SQLite 教程