configure,make,make install三部曲。
详细安装过程如:http://blog.chinaunix.net/uid-26000296-id-4930263.html
其中:${srcdir]=/home/work/maleiyuan/gcc/gcc-4.8.2
${objdir}=/home/work/maleiyuan/gcc/gcc-objdir
${destdir}=/home/work/maleiyuan/gcc-destdir
完成后 :/home/work/maleiyuan/gcc-destdir/bin/gcc -v 验证是否为新的gcc
gcc -v 依旧是系统的gcc
重装gcc后,设置PATH变量,export PATH=${PATH}:/home/work/maleiyuan/gcc-destdir/bin/,直接在~/.bashrc里写,保证生效
重装python,指定python的安装路径,这里是/home/work/maleiyuan/python3/bin/python3,该python所依赖的gcc版本即为自己安装的gcc的版本,且和系统的python不冲突
装好python后,保证gcc是我们安装的gcc的环境下,在fasttext目录下,/home/work/maleiyuan/python3/bin/pip3 install .即可安装成功
最后的一个坑!!!export LD_LIBRARY_PATH=/home/work/maleiyuan/gcc-destdir/lib64:$LD_LIBRARY_PATH,将我们的gcc的lib64文件夹加入LD_LIBRARY_PATH,才可以import fasttext!!
否则:/usr/lib64/libstdc++.so.6: version `GLIBCXX_3.4.19‘ not found (required by /home/work/maleiyuan/python3/lib/python3.6/site-packages/fasttext_pybind.cpython-36m-x86_64-linux-gnu.so),系统旧版本的libstdc++.so.6里没有GLIBCXX_3.4.19,只有/home/work/maleiyuan/gcc-destdir/lib64路径下的libstdc++.so.6才有!!!
遇到的几个技术点:
1:strings命令:打印文件中的可打印字符串(print the strings of printable characters in files)。常用来在二进制文件中查找字符串,与grep配合使用
2:tar -zxvf:有gzip属性的 -jxvf:有bz2属性的,-x:解压,-v:显示所有过程;-f: 使用档案名字,切记,这个参数是最后一个参数,后面只能接档案名。
3:make 是一个命令工具,它解释 Makefile 中的指令(应该说是规则)。在 Makefile文件中描述了整个工程所有文件的编译顺序、编译规则。
4: ln -s 软链接(符号链接) -f 强制执行 ln -sf a b即将b指向a(在本机的虚拟机上遇到了,在22机器上没有遇到https://www.zybuluo.com/cyysu/note/954612)
5: echo $PATH 查看当前的PATH配置
修改方式1:export PATH=****
生效方法:立即生效
有效期限:临时改变,只能在当前的终端窗口中有效,当前窗口关闭后就会恢复原有的path配置
用户局限:仅对当前用户
修改方式2:vim ~/.bashrc,export PATH=*****:$PATH
生效方法:(有以下两种)
1、关闭当前终端窗口,重新打开一个新终端窗口就能生效
2、输入“source ~/.bashrc”命令,立即生效
有效期限:永久有效
用户局限:仅对当前用户
6:LD_LIBRARY_PATH
是Linux环境变量名,该环境变量主要用于指定查找共享库(动态链接库)时除了默认路径之外的其他路径。
原文:https://www.cnblogs.com/xiaoxiaomajinjiebiji/p/14443716.html