每日积累(20161130-day-8)(caffe-boost python-boost )
2016-12-07 19:42
387 查看
20161130(day8)
编译caffe遇到libboost_python.so 关于各种undefined reference to "PyUnicodeUCS4_*"的问题
编译vtkPython遇到vtkPythonArg.cxx关于各种undefined reference to "PyUnicodeUCS4_*"的问题
第一个,遇到该问题网友提供的解释:由于ubuntu16.04的python默认编译是ucs2,需要重新编译python,
检测python是ucs2还是ucs4得方法
当时我检测默认python2.7.11,貌似是ucs4,但一直存在该问题,无法通过编译,就重新编译了python源码
进入python源码文件夹
但是caffe还是无法编译成功,问题依然是undefined reference to "PyUnicodeUCS4_*"
无奈只好选择用Makefile.config编译,而且成功了
反正是没有遇到类似问题
第二个,同样是开在undefined reference to "PyUnicodeUCS4_*"无法编译成功,期间将ubuntu系统所有pyconfig.h文件中的Py_UNICODE_SIZE 都定义为4,也没成功
几经折腾,依稀记得之前编译caffe搜索该问题,有网友(忘了在哪看到了,以后看到贴链接)说是boost编译与其他库可能不都是64位,有的是按32编译的,当时也没注意。现在想是不是该问题是由于python是按32位编译的,一搜果然有戏,按提示重新编译python,虽然编译前也按提示检测了系统之前的python和boost_python是不是64位,显示也是64位输出的,但我还是重新编译了一遍python
然后编译boost
重新用cmake编译caffe,成功
重新编译vtkpython,成功
总结一下,我认为在解决第一个问题时,网友针对的是undefined symbol “PyUnicodeUCS4_*”问题的解决方法,将python以ucs4编译,而不是undefined reference to "PyUnicodeUCS4_*",因此我重新编译以后也没能成功解决该问题。
编译caffe遇到libboost_python.so 关于各种undefined reference to "PyUnicodeUCS4_*"的问题
编译vtkPython遇到vtkPythonArg.cxx关于各种undefined reference to "PyUnicodeUCS4_*"的问题
第一个,遇到该问题网友提供的解释:由于ubuntu16.04的python默认编译是ucs2,需要重新编译python,
检测python是ucs2还是ucs4得方法
>>>import sys >>>sys.maxunicode 若输出: >>>65535(表示ucs2) 若输出: >>>111141111(表示ucs4)
当时我检测默认python2.7.11,貌似是ucs4,但一直存在该问题,无法通过编译,就重新编译了python源码
进入python源码文件夹
$./configure --enable-unicode=ucs4 $sudo make -j24 $sudo python setup.py install安装成功后检测确实是ucs4了
但是caffe还是无法编译成功,问题依然是undefined reference to "PyUnicodeUCS4_*"
无奈只好选择用Makefile.config编译,而且成功了
反正是没有遇到类似问题
第二个,同样是开在undefined reference to "PyUnicodeUCS4_*"无法编译成功,期间将ubuntu系统所有pyconfig.h文件中的Py_UNICODE_SIZE 都定义为4,也没成功
几经折腾,依稀记得之前编译caffe搜索该问题,有网友(忘了在哪看到了,以后看到贴链接)说是boost编译与其他库可能不都是64位,有的是按32编译的,当时也没注意。现在想是不是该问题是由于python是按32位编译的,一搜果然有戏,按提示重新编译python,虽然编译前也按提示检测了系统之前的python和boost_python是不是64位,显示也是64位输出的,但我还是重新编译了一遍python
$sudo make -j24 $sudo python setup.py install重新编译boost_python,进入boost目录,把./boost/python/detail/config.hpp 添加
#define Py_UNICODE_SIZE 4
然后编译boost
$./bootstrap.sh --with-python=/usr/local $./b2 install -j 24
重新用cmake编译caffe,成功
重新编译vtkpython,成功
总结一下,我认为在解决第一个问题时,网友针对的是undefined symbol “PyUnicodeUCS4_*”问题的解决方法,将python以ucs4编译,而不是undefined reference to "PyUnicodeUCS4_*",因此我重新编译以后也没能成功解决该问题。
相关文章推荐
- 每日积累(20161207-day-13)(python.os caffe-draw_net.py)
- 每日积累(20161117-day-5)(caffe opencv)
- 每日积累(20161221-day-21)(ubuntu16.04挂载exfat格式磁盘 py-faster-caffe&cudnn5编译 axel下载使用)
- 每日积累(20161206-day-12)(python调试 vim-python)
- 每日积累(20161122-day-6)(caffe hdf5 )
- 每日积累(20161205-day-11)(opencv-python)
- 每日积累(20161123-day-7)(python安装 ubuntu桌面消失 )
- 每日积累(20170819-day-25)(Ubuntu Nvidia Driver loop in sign)
- 每日积累(20161220-day-20)(ubuntu 远程登录ssh安装使用 创建ubuntu用户)
- 每日积累(20161202-day-10)(依赖vtk库的编译 gdb调试)
- 每日积累(20170819-day-25)(Nvidia CUDA_ARCH_BIN & CUDA_ARCH_PTX setting)
- 每日积累(20161219-day-19)(shell &bash学习 make&cmake&qmake)
- 每日积累(20161028-day-4)(cudamalloc vim)
- 每日积累(20170609-day-24)(Qt designer 界面 最小化及最大化按钮)
- 每日积累(20170819-day-25)(set default qt for ubuntu)
- 每日积累(20170820-day-26)(libEGL.so & -lopencv_dep_cudart bug)
- 每日积累(20161027-day-3)(Makefile := ?= += = memset)
- 每日积累(20161209-day-15)(VTK7.1编译OpenGL&OpenGL2 PCL1.8)
- 每日积累(20161201-day-9)(依赖vtk的工程项目)
- 每日积累(20170531-day-23)( 应用程序无法正常启动0xc000007b)