昨天手贱,在apt-get install 后有一大堆,上百个安装包not upgrade, 发现有提示apt-get autoremove,犹豫了很久后还是忍不住执行了autoremove;这个命令是带着auto的,想着应该没事。到网上搜罗下autoremove,吓我一跳。。。

然后这个debian,坚如磐石,从没出过任何问题的OS,突然没网络了,ifconfig下;eth0的网卡没了,折腾了一两个小时也没恢复,想想应该与我autoremove相关;

哎,手贱。。。

然后,幸运的发现我所有的与编程相关的都是独立放在一块虚拟硬盘上的,谢天谢地,还好还好。

正好也是我把开发环境转到64位的机会吧,然后把这个挂到debian64的机器下;重新部署安装ice环境;

1 openssl的安装

sudo apt-get install libssl-dev

这个命令后,头文件部署最新的,会报BN_开头的函数未定义;

如果使用openssl源码编译安装,但是默认编译生成的是静态库.a的(libcrypto.a, libssl.a),ice需要.so动态库;

修改了几次config文件没生效,就用上面的apt-get命令得到了动态库

git clone --recursive https://github.com/openssl/openssl.git
cd ./openssl
make
sudo make install

#opensssl 
sudo apt-get install libssl-dev
sudo cp /usr/local/ssl/include/openssl/ /usr/local/include/ -r
#bzip2 安装
sudo apt-get install  libbz2-dev

sudo apt-get install libexpat1-dev
sudo apt-get install liblmdb-dev

#for php, 
sudo apt-get install python-dev
ICE 3.7现在只支持php5.6, 对php7.0有几个函数参数不一致,还不能编译

php7.0与ICE3.7编译错误如下

[cpp] view plain copy
  1. berli@server:~/Dev/Ice/ice/php$ make
  2. making all in src
  3. make[1]: Entering directory '/home/berli/Dev/Ice/ice/php/src'
  4. making all in IcePHP
  5. make[2]: Entering directory '/home/berli/Dev/Ice/ice/php/src/IcePHP'
  6. g++ -c -I.  -I../../../cpp/include -I/usr/local/include/php -I/usr/local/include/php/main -I/usr/local/include/php/TSRM -I/usr/local/include/php/Zend -I/usr/local/include/php/ext -I/usr/local/include/php/ext/date/lib -m64 -fvisibility=hidden -Wall -Werror -pthread -fPIC -g Communicator.cpp
  7. In file included from /usr/local/include/php/Zend/zend.h:39:0,
  8. from /usr/local/include/php/main/php.h:35,
  9. from ./Config.h:53,
  10. from ./Communicator.h:13,
  11. from Communicator.cpp:10:
  12. ./Util.h: In destructor ‘IcePHP::AutoDestroy::~AutoDestroy()’:
  13. /usr/local/include/php/Zend/zend_variables.h:122:76: error: cannot convert ‘zval** {aka _zval_struct**}’ to ‘zval* {aka _zval_struct*}’ for argument ‘1’ to ‘void _zval_ptr_dtor(zval*)’
  14. #define zval_ptr_dtor(zval_ptr) _zval_ptr_dtor((zval_ptr) ZEND_FILE_LINE_CC)
  15. ^
  16. ./Util.h:157:30: note: in expansion of macro ‘zval_ptr_dtor’
  17. ~AutoDestroy() { if(_zv) zval_ptr_dtor(&_zv); }
  18. ^
  19. Communicator.cpp: At global scope:
  20. Communicator.cpp:181:8: error: ‘zend_object_value’ does not name a type
  21. static zend_object_value handleAlloc(zend_class_entry* TSRMLS_DC);
  22. ^
  23. Communicator.cpp:183:8: error: ‘zend_object_value’ does not name a type
  24. static zend_object_value handleClone(zval* TSRMLS_DC);
  25. ^
  26. Communicator.cpp: In function ‘void zim_Ice_Communicator_proxyToString(zend_execute_data*, zval*)’:
  27. Communicator.cpp:285:10: error: ‘RETURN_STRINGL’ was not declared in this scope
  28. (RETURN_STRINGL)(STRCAST(str.c_str()), static_cast<int>(str.length()), 1);
  29. ^
  30. Communicator.cpp: In function ‘void zim_Ice_Communicator_identityToString(zend_execute_data*, zval*)’:
  31. Communicator.cpp:418:10: error: ‘RETURN_STRINGL’ was not declared in this scope
  32. (RETURN_STRINGL)(STRCAST(str.c_str()), static_cast<int>(str.length()), 1);
  33. ^
  34. Communicator.cpp: At global scope:
  35. Communicator.cpp:768:8: error: ‘zend_object_value’ does not name a type
  36. static zend_object_value
  37. ^
  38. Communicator.cpp:797:8: error: ‘zend_object_value’ does not name a type
  39. static zend_object_value
  40. ^
  41. In file included from /usr/local/include/php/main/php.h:39:0,
  42. from ./Config.h:53,
  43. from ./Communicator.h:13,
  44. from Communicator.cpp:10:
  45. Communicator.cpp: In function ‘void zif_Ice_initialize(zend_execute_data*, zval*)’:
  46. /usr/local/include/php/Zend/zend_API.h:258:59: error: cannot convert ‘zval*** {aka _zval_struct***}’ to ‘zval* {aka _zval_struct*}’ for argument ‘2’ to ‘int _zend_get_parameters_array_ex(int, zval*)’
  47. _zend_get_parameters_array_ex(param_count, argument_array)
  48. ^
  49. Communicator.cpp:901:8: note: in expansion of macro ‘zend_get_parameters_array_ex’
  50. if(zend_get_parameters_array_ex(ZEND_NUM_ARGS(), args) == FAILURE)
  51. ^
  52. Communicator.cpp:923:29: error: ‘Z_TYPE_PP’ was not declared in this scope
  53. if(Z_TYPE_PP(args[0]) == IS_ARRAY)
  54. ^
  55. Communicator.cpp:933:73: error: ‘Z_OBJCE_PP’ was not declared in this scope
  56. if(Z_TYPE_PP(args[1]) != IS_OBJECT || Z_OBJCE_PP(args[1]) != initClass)
  57. ^
  58. Communicator.cpp:942:70: error: ‘Z_OBJCE_PP’ was not declared in this scope
  59. else if(Z_TYPE_PP(args[0]) == IS_OBJECT && Z_OBJCE_PP(args[0]) == initClass)
  60. ^
  61. Communicator.cpp:965:116: error: cannot convert ‘char*’ to ‘zend_string* {aka _zend_string*}’ for argument ‘2’ to ‘zval* zend_hash_find(const HashTable*, zend_string*)’
  62. if(zend_hash_find(Z_OBJPROP_P(zvinit), STRCAST(member.c_str()), static_cast<uint>(member.size() + 1), &data) == SUCCESS)
  63. ^
  64. Communicator.cpp:975:116: error: cannot convert ‘char*’ to ‘zend_string* {aka _zend_string*}’ for argument ‘2’ to ‘zval* zend_hash_find(const HashTable*, zend_string*)’
  65. if(zend_hash_find(Z_OBJPROP_P(zvinit), STRCAST(member.c_str()), static_cast<uint>(member.size() + 1), &data) == SUCCESS)
  66. ^
  67. Communicator.cpp:993:37: error: ‘PZVAL_IS_REF’ was not declared in this scope
  68. if(zvargs && PZVAL_IS_REF(zvargs))
  69. ^
  70. Communicator.cpp: In function ‘bool IcePHP::communicatorInit()’:
  71. Communicator.cpp:1421:24: error: ‘handleAlloc’ was not declared in this scope
  72. ce.create_object = handleAlloc;
  73. ^
  74. Communicator.cpp:1424:27: error: ‘handleClone’ was not declared in this scope
  75. _handlers.clone_obj = handleClone;
  76. ^
  77. Communicator.cpp: In member function ‘virtual void IcePHP::CommunicatorInfoI::getZval(zval*)’:
  78. Communicator.cpp:1564:17: error: lvalue required as left operand of assignment
  79. Z_TYPE_P(z) = IS_OBJECT;
  80. ^
  81. Communicator.cpp: In member function ‘virtual void IcePHP::CommunicatorInfoI::addRef()’:
  82. Communicator.cpp:1573:20: error: ‘const zend_object_handlers’ has no member named ‘add_ref’
  83. Z_OBJ_HT_P(p)->add_ref(p TSRMLS_CC);
  84. ^
  85. Communicator.cpp: In member function ‘virtual void IcePHP::CommunicatorInfoI::decRef()’:
  86. Communicator.cpp:1580:19: error: ‘const zend_object_handlers’ has no member named ‘del_ref’
  87. Z_OBJ_HT(zv)->del_ref(p TSRMLS_CC);
  88. ^
  89. Communicator.cpp: In member function ‘bool IcePHP::CommunicatorInfoI::findObjectFactory(const string&, zval*)’:
  90. Communicator.cpp:1636:22: error: ‘INIT_PZVAL’ was not declared in this scope
  91. INIT_PZVAL(zv);
  92. ^
  93. Communicator.cpp: In member function ‘bool IcePHP::CommunicatorInfoI::findValueFactory(const string&, zval*)’:
  94. Communicator.cpp:1651:22: error: ‘INIT_PZVAL’ was not declared in this scope
  95. INIT_PZVAL(zv);
  96. ^
  97. In file included from /usr/local/include/php/Zend/zend.h:39:0,
  98. from /usr/local/include/php/main/php.h:35,
  99. from ./Config.h:53,
  100. from ./Communicator.h:13,
  101. from Communicator.cpp:10:
  102. Communicator.cpp: In member function ‘void IcePHP::CommunicatorInfoI::destroyObjectFactories()’:
  103. /usr/local/include/php/Zend/zend_variables.h:122:76: error: cannot convert ‘_zval_struct**’ to ‘zval* {aka _zval_struct*}’ for argument ‘1’ to ‘void _zval_ptr_dtor(zval*)’
  104. #define zval_ptr_dtor(zval_ptr) _zval_ptr_dtor((zval_ptr) ZEND_FILE_LINE_CC)
  105. ^
  106. Communicator.cpp:1669:9: note: in expansion of macro ‘zval_ptr_dtor’
  107. zval_ptr_dtor(&p->second);
  108. ^
  109. Communicator.cpp: In member function ‘void IcePHP::CommunicatorInfoI::destroyValueFactories()’:
  110. /usr/local/include/php/Zend/zend_variables.h:122:76: error: cannot convert ‘_zval_struct**’ to ‘zval* {aka _zval_struct*}’ for argument ‘1’ to ‘void _zval_ptr_dtor(zval*)’
  111. #define zval_ptr_dtor(zval_ptr) _zval_ptr_dtor((zval_ptr) ZEND_FILE_LINE_CC)
  112. ^
  113. Communicator.cpp:1679:9: note: in expansion of macro ‘zval_ptr_dtor’
  114. zval_ptr_dtor(&p->second);
  115. ^
  116. Communicator.cpp: In member function ‘virtual Ice::ObjectPtr IcePHP::ObjectFactoryI::create(const string&)’:
  117. Communicator.cpp:1744:26: error: ‘MAKE_STD_ZVAL’ was not declared in this scope
  118. MAKE_STD_ZVAL(arg);
  119. ^
  120. Communicator.cpp:1745:10: error: ‘ZVAL_STRINGL’ was not declared in this scope
  121. (ZVAL_STRINGL)(arg, STRCAST(id.c_str()), static_cast<int>(id.length()), 1);
  122. ^
  123. Communicator.cpp:1752:128: error: cannot convert ‘zval** {aka _zval_struct**}’ to ‘zval* {aka _zval_struct*}’ for argument ‘1’ to ‘zval* zend_call_method(zval*, zend_class_entry*, zend_function**, const char*, size_t, zval*, int, zval*, zval*)’
  124. zend_call_method(&factory, 0, 0, const_cast<char*>(func), static_cast<int>(strlen(func)), &obj, 1, arg, 0 TSRMLS_CC);
  125. ^
  126. In file included from /usr/local/include/php/Zend/zend.h:39:0,
  127. from /usr/local/include/php/main/php.h:35,
  128. from ./Config.h:53,
  129. from ./Communicator.h:13,
  130. from Communicator.cpp:10:
  131. /usr/local/include/php/Zend/zend_variables.h:122:76: error: cannot convert ‘zval** {aka _zval_struct**}’ to ‘zval* {aka _zval_struct*}’ for argument ‘1’ to ‘void _zval_ptr_dtor(zval*)’
  132. #define zval_ptr_dtor(zval_ptr) _zval_ptr_dtor((zval_ptr) ZEND_FILE_LINE_CC)
  133. ^
  134. Communicator.cpp:1760:9: note: in expansion of macro ‘zval_ptr_dtor’
  135. zval_ptr_dtor(&arg);
  136. ^
  137. Communicator.cpp:1792:22: error: ‘MAKE_STD_ZVAL’ was not declared in this scope
  138. MAKE_STD_ZVAL(obj);
  139. ^
  140. Communicator.cpp: At global scope:
  141. Communicator.cpp:786:1: error: ‘void handleFreeStorage(void*)’ defined but not used [-Werror=unused-function]
  142. handleFreeStorage(void* p TSRMLS_DC)
  143. ^
  144. cc1plus: all warnings being treated as errors
  145. ../../config/Make.rules.php:161: recipe for target 'Communicator.o' failed
  146. make[2]: *** [Communicator.o] Error 1
  147. make[2]: Leaving directory '/home/berli/Dev/Ice/ice/php/src/IcePHP'
  148. Makefile:17: recipe for target 'all' failed
  149. make[1]: *** [all] Error 1
  150. make[1]: Leaving directory '/home/berli/Dev/Ice/ice/php/src'
  151. Makefile:34: recipe for target 'all' failed
  152. make: *** [all] Error 1

http://prdownloads.sourceforge.net/mcpp/mcpp-2.7.2.tar.gz?download

tar xvf mcpp-2.7.2.tar.gz  
  cd mcpp-2.7.2  
  patch -p0 < ../mcpp/patch.mcpp.2.7.2  
  ./configure CFLAGS=-fPIC --enable-mcpplib --disable-shared  
  make && make install  
#2)  安装BerkeleyDB  
  tar db-5.3.21.NC.tar.gz  
  cd db-5.3.21.NC  
  patch -p0 < ../db/patch.db.5.3.21  
  cd build_unix  
  ../dist/configure --enable-cxx  
  make && make install

版权声明:架构 ICE 微服务 讨论群【469331966】 ; 本文为博主原创文章,未经博主允许不得转载。

来源:http://blog.csdn.net/chary8088/article/details/50414577

ICE 迁移64位安装问题相关推荐

  1. centos6.4 yum装php,CentOS6.x/6.5/6.4/6.3/6.2/7.x 64位安装php5.2(使用YUM自动安装)

    搜索热词 默认情况下,CentOS6 64 bit 已经早已不支持PHP5.2.x ,但是某些PHP程序还需要zend optimizer支持,怎么办呢?目前大部分的yum repos 都已经不支持直 ...

  2. openstack安装系列问题:window7 64位安装的virtualBox 只能选择32位的系统安装不能选择64位的系统安装...

    个人原创,转载请注明作者,出处,否则依法追究法律责任 2017-10-03-12:22:22 现象:window7 64位安装的virtualBox 只能选择32位的系统安装不能选择64位的系统安装 ...

  3. win7 64位 安装java jdk1.8 ,修改配置环境变量

    下载jdk1.8,下载地址:http://www.wmzhe.com/soft-30118.html 安装时有两个程序,都安装在同一个目录下.   win7 64位 安装java jdk1.8 ,修改 ...

  4. matlab 工具 安装包下载地址,安装 | MATLAB2018a (64位) 安装教程及安装包下载链接...

    安装 | MATLAB2018a (64位) 安装教程及安装包下载链接 发布时间:2019-04-04 11:39, 浏览次数:1323 , 标签: MATLAB 博主github:https://g ...

  5. Windows10 64位 安装 Postgresql 数据库

    Windows10 64位 安装 Postgresql 数据库 1,下载Postgresql 10.7 版本,下载地址   https://www.enterprisedb.com/downloads ...

  6. Win8 64位安装Oracle 11g时错

    Win8 64位 安装Oracle时会出现[INS-13001] 环境不满足最低要求 异常原因 11.2.0.1 比Win8 早发行,所以 兼容列表不可能兼容 Win 8. 解决方法一 以管理员身份 ...

  7. mp3 编辑 linux,Linux_Ubuntu 32/64位安装音乐标签编辑器Kid3的方法,  Kid3能够修改mp3中ID3的tag标 - phpStudy...

    Ubuntu 32/64位安装音乐标签编辑器Kid3的方法 Kid3能够修改mp3中ID3的tag标签,还能同时修改ID3v1和ID3v2的tag标签吗,是款功能强大的音乐标签编辑器,因为其在Ubun ...

  8. mysql下载64位 太平洋,Win10 64位安装MySQL5.6.35的详细教程

    1. 下载MySQL Community Server 5.6.35 下载地址http://dev.mysql.com/downloads/mysql/5.6.html 2. 解压MySQL压缩包 将 ...

  9. mysql 5.6.24 64位_CentOS 6.4 64位 安装 mysql 5.6.24

    下载安装包 由于官网访问及版本选择下载不太方便,使用 suho 的源进行下载 下载如下三个安装包: MySQL-server-5.6.24-1.el6.x86_64.rpm MySQL-client- ...

最新文章

  1. rediscluster全局数据_设计数据密集型应用(6-7):分片、事务
  2. 纳米技术系列:物联网的下一个大事件竟来自极小之处
  3. android L 关机流程图
  4. Windows与Linux区别1
  5. 原理简介_消息通信的利器MQTT协议简介及协议原理
  6. 检查电脑是否被安装木马三个小命令
  7. P2216 [HAOI2007]理想的正方形
  8. 新华三的背景_星际联盟一行莅临新华三集团杭州总部,展望分布式存储广阔发展空间...
  9. jq 正则判断邮箱_Python正则15分钟入门
  10. [转]Eclipse工具使用技巧总结
  11. double转换long的疑问
  12. 基于mAppWidget实现手绘地图--索引DEMO
  13. 如何寻找p3c的主类,或main方法
  14. MySQL SQL语句练习题
  15. 塔木德故事-注重学习
  16. 光固化3D打印机切片参数分析
  17. 骨传导耳机有用吗,最好用的骨传导耳机分享
  18. php安装 tvheadend_,我的NAS我的地盘 篇二十一:群晖安装TVHeadend 4.4,Xbox下Kodi播放IPTV更流畅,再来一次同样精彩!吖!...
  19. 《设计模式之禅》总结
  20. 抖音巨量千川该怎么投?千万级展现的千川计划该怎么搭建?

热门文章

  1. 1.Hyper-V虚拟机在wifi环境下的外网连接配置
  2. PowerDesigner中设置数据库类型,设置default value,Comment,自增属性,以及数据库设计中的需要考虑的示项,带有小数点的数据显示
  3. 【学习笔记】启动Nginx、查看nginx进程、查看nginx服务主进程的方式、Nginx服务可接受的信号、nginx帮助命令、Nginx平滑重启、Nginx服务器的升级
  4. ubuntu下安装mysql
  5. CXF的Spring注解配置及使用
  6. CXF wsdl2Java
  7. 【Keil C51】使用 watch1 来查看变量的值
  8. php recursion,PHP与Recursion 学习笔记
  9. xsmax进入dfu模式_iPhone XS/XS Max如何强制重启?如何进入恢复模式或DFU模式?
  10. der解码规则_DER编码简介