为了一个小小assignment里面一道小小的题我光是折腾这openssl就折腾了我两天啊内心是崩溃的(没有几乎)
真是可怜我的小心脏了
于是忍不住又重新打开了几百年没打开的之前拿来水算法作业的博客来记录一下这次心路历程万一有人跟我一样装到心态崩了还没装好然后百度一下或者谷歌一下就发现了我这篇文(废)章(话)呢然后也许或许也能解决他们的问题(?好像把自己想的太强大了)(可是也因为我实在是太智障了犯了好多肥肠智障的问题)
以及真的我在网上找到的相关教程好像大部分都是年代久远的古文了
-------------------------------------以上是废话以下才是正文的分割线--------------------------------------------
一、首先!需要下载的内容有:
1. openssl:
既然是要装openssl怎么能不下载openssl
https://www.openssl.org/ 这个是openssl的官网首页
https://www.openssl.org/source/ 这个是下载地址
然后我在2017年10月3日下载的时候有以下几个版本可以选
我也不知道应该选哪个,就把前两个都下下来了,最后不记得为什么了反正1.1.0f那个好像在哪一步有点毛病但是1.0.2l那个没毛病,后面就用的1.0.2l了
下载下来以后就解压,然后把整个文件夹直接复制粘贴到了我的C盘里,然后不用管它就好了(mdzz的我还曾经试图双击点开里面那个叫做install的东西然后提示好像是什么不兼容你的电脑还是啥的,然后才开启了度娘和谷歌大法)
2. Perl:
刚开始我也很迷茫为什么要用Perl,好像是因为编译要用到Perl,嗯不管为什么反正我只要能装好Openssl就行。
https://www.activestate.com/activeperl/downloads 这里是下载地址
根据自己的机器状况我选择的是x64的,不知道这三行有啥区别就选了第一行的,嗯。
下下来以后就双击安装就行了?反正这里没啥问题一天前的记忆已经被后面的惊心动魄给冲淡了。
想起来了,这里安装perl的时候如果在最后勾选了自动加到环境变量里的话就不用再手动设置环境变量啦,笔芯perl!
3. Visual Studio
这个好像没太多好说的了,大家应该都有了。
然而我的电脑和VS一直相爱相杀,当年为了装2015反反复复卸了又装装了又卸卸了还装不知道多少次,后面又装了2012,这学期另一门课程又要求用2017,总之这学期新下了个2017的community版,然而在后面nmake的时候怎么都不行。今天早上在CS lab的电脑里看到用的是Enterprise,下午又下了个Enterprise,嗯,nmake还是不行。但是在以前下的VS里面nmake是可以的,后来,就在我装完enterprise准备打开来瞧两眼的时候,我发现,我!特!么!根!本!没!装!V!C!啊!!!好的可以说是被自己蠢哭了,然后又重新回到安装向导里面把VC给装上了,嗯然后就可以愉快地用nmake了。
二、设置环境变量
在Path中需要添加C:\Windows\system32还有VC里的bin,自己找下安装路径~
其实在挺多教程里都没怎么看到这个,但因为失败次数太多所以还是都设置了以防万一。
三、在VS的开发人员命令提示符里开始配置openssl
命令们一条条如下,花了我两天时间才终于搞出来合适我的电脑的几条命令,看了不知道多少博客多少论坛,啊,真的是非常心疼自己。
废话不多说命令如下(请一定注意大小写!注意大小写!大小写!重要的话说三遍):
perl Configure VC-WIN32 no-asm --prefix=C:\openssl-1.0.2l
ms\do_ms
nmake –f ms\ntdll.mak
nmake -f ms\ntdll.mak test
第一条后面那里prefix=后面的是你openssl解压后文件夹的路径
第二条我执行的没啥问题
第三条就是坑死我的nmake,好不容易发现是自己没装VC以后还是不成功,返回错误代码是0x01,上网查了好像是ml有问题。说是要重新下载MASM然后把新下载的MASM里的ml.exe替换VC里面的那个。
然后我就去下了MASM,微软官网下载的那个(https://www.microsoft.com/en-us/download/details.aspx?id=12654)打开来说我没有安装Microsoft Visual C++ 2005 Express,然后就暂时放弃了,又看到有一个特别厉害的方法,直接解压那个exe,再继续解压,最后会出来一个名字贼长的看不懂的文件,把它的名字改成ml.exe然后就是MASM的可执行文件了,竟然还有这种操作?!然后我就把这个ml.exe放到VC里面了,最后返回错误没那么快了出来了好多行以后才说错误,嗯看样子也还是不行。然后无可奈何就去下了Microsoft Visual C++ 2005,然后想安装MASM发现它不会弹出来说我没装这玩意儿了,就直接闪退了毫无踪影,又失败了。然后又真的是非常绝望地看了好多博客和文章,最后在谷歌里面看到一个github的提问,底下有人说是第一条命令按照我上面写的那个那么输入,之前看到的一直都是一种简化版本,没有no-asm和后面那一串的,不过之前也有看到别的博客里面提到也试过但也还是不行,也记不太清是不是同一种写法了,反正我这时候用这条命令就是暂时是对了的。
好的看到nmake开始编译了内心非常地激动,然而等了几分钟再次打开CMD看到这又双叒stop了,这次返回的代码是0x460,然后又经历了一轮谷歌百度,发现说是可能是命令的大小写有问题,需要把之前的openssl的文件夹删了重新开始来过,我的内心几乎是崩溃的。然后就只好重来了,看了下之前的命令,第一条的configure没有大写,嗯不知道是不是这个原因,反正后面就把它的C大写了,然后就,终!于!通!过!了!啊啊啊!!!非常感动,至少没有stop下来!!!
第四条指令说是测试是否安装成功了的,但刚开始不记得又看了哪篇博客说是另外一个命令,搞得我又返回错误代码0x02了好几次,就想着前面编译都没stop了为啥测试还面不通过啊非常愤怒,然后又搜了好久的博客们然后改成这条指令才对,终于pass all tests,感天动地,截个图以示我心中的无限激动。
好的本次直播安装openssl到此结束了只是想抒发一下心中的悲愤和激动。
估计也不会有人看得到吧这篇流水账一样的安装教程hhh
如果真的有人看到了我再好好写一下正经的安装流程和问题解决方案我得赶快去赶DUE了哭哭哭后天就要见教授了然而这周的task还没开动还有后天要交的assignment没错就是这个因为openssl卡了我两整天毁了我心情的assignment然后周五还有quiz下周还有ML的assignment要交哇可以说是沉浸在被DDL支配的恐惧中了不废话了再见。