这两天在mips平台上移植openssl-1.0.1c,参考文中的配置进行如下操作:
OPENSSL_CONFIGURE_OPTIONS = AR=$(CROSS_COMPILE)ar RANLIB=$(CROSS_COMPILE)ranlib CC=$(CROSS_COMPILE)gcc
OPENSSL_CONFIGURE_PARAS= shared no-asm --prefix=$(INSTALL_DIR)
$(OPENSSL_CONFIGURE_OPTIONS) ./config $(OPENSSL_CONFIGURE_PARAS)
配置的结果始终是x86平台的文件;
然后在阅读Configure文件的时候,发现文中的配置:
my $ranlib = $ENV{'RANLIB'} || $fields[$idx_ranlib];
my $ar = $ENV{'AR'} || "ar";
然后上述指令改为:
export $(OPENSSL_CONFIGURE_OPTIONS); ./config $(OPENSSL_CONFIGURE_PARAS)
即可正确配置;
余下略……
最后啰嗦两句:
文中的配置在am3352平台验证可行,两年前的事情了;两年多了又来搞这个,看来搞开发原来还是峰回路转,学过的东西或者遇到的问题果然还是有用的;
搞linux的问题,第一手的资料还是手里的东西:源码、配置脚本等等;想有所作为还是要深入进去,浮躁不得。
题外话:
之前转载过一位网友的文章(http://blog.chinaunix.net/uid-7487137-id-3389611.html);自己在mips平台上遇到的问题在网上也有诸多解决方式,大多都是先配置,然后手动修改Makefile;
由于自己始终觉得这类配置文件应该能够自动配置,除非是自己没有摸清楚它的脾气;自己比较懒,能够一步完成的操作不愿意分开进行操作;能自动化的操作绝不手动修改;虽然手动修改的操作也可以通过一些命令组合起来完成,但是自己懒不是嘛!!
经过几个小时的研究(汗一个,请勿拍砖)终于初步搞定这个问题;为什么说初步?中间有个问题尚未解决:为什么作为命令行参数不行,而必须通过export设置为环境变量才可以?暂且搁置一下,回头再研究一下;
本打算将自己的解决方法作为转载文章的回复,但貌似回复有字数限制?试了两次只有一部分内容,只好新建一篇文章稍微总结一下;
希望能给有需要的人一点帮助。
阅读(1396) | 评论(0) | 转发(0) |