美文网首页
Ubuntu开发环境配置

Ubuntu开发环境配置

作者: 九命丿相柳 | 来源:发表于2017-07-25 12:09 被阅读0次

    编译安装gcc6.2.0

    在archlinx的下gcc已经更新到6.2.1了,win10的WSL下还是gcc4.8。官方源没有比较新的版本,于是自己编译使用。
    GCC6的几个新特性

    GCC 6 现在的默认值是 C++ 14. GCC 6 现在包括 C++ Concepts.

    C++运行时库现在支持特殊的数学函数 (ISO/IEC 29124:2010)

    支持 C++17 的实验功能

    准备

    可以去gnu官网下载gcc6.2.0的源码,但国内访问速度比较慢。可以进中科大的镜像站去下载。

    下载并解压

    wget http://mirrors.ustc.edu.cn/gnu/gcc/gcc-6.2.0/gcc-6.2.0.tar.bz2
    tar -xjvf gcc-6.2.0.tar.bz2
    

    解压之后进入源码目录,运行下面命令下载依赖包

    ./contrib/download_prerequisites #必须在源码根目录下运行此命令
    

    编译gcc前需安装build-essential,bison,flex,texinfo

    生成Makefile

    在源码目录下建立一个build目录(也可以在别的目录下),然后进入build目录运行configure脚本生成Makefile文件。

    mkdir build && cd build
    ../configure --prefix=/usr/local/gcc6 --enable-checking=release --enable-languages=c,c++ --enable-threads=posix --disable-multilib
    # --prefix=/usr/local/gcc6  指定安装路径
    # --enable-languages=c,c++  支持的编程语言
    # --enable-threads=posix    使用POSIX/Unix98作为线程支持库
    # --disable-multilib        取消多目标库编译(取消32位库编译)
    

    下面是archlinux自带gcc的编译配置命令。

    --prefix=/usr --libdir=/usr/lib --libexecdir=/usr/lib --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=https://bugs.archlinux.org/ --enable-languages=c,c++,ada,fortran,go,lto,objc,obj-c++ --enable-shared --enable-threads=posix --enable-libmpx --with-system-zlib --with-isl --enable-__cxa_atexit --disable-libunwind-exceptions --enable-clocale=gnu --disable-libstdcxx-pch --disable-libssp --enable-gnu-unique-object --enable-linker-build-id --enable-lto --enable-plugin --enable-install-libiberty --with-linker-hash-style=gnu --enable-gnu-indirect-function --disable-multilib --disable-werror --enable-checking=release
    

    编译安装

    上一步生成Makefile没有问题后,就可以直接编译安装了。

    make -j8        #使用8个线程并行编译
    make install    #安装(可能需要root权限)
    

    生成软链接

    cd /usr/local/bin
    ln -s /usr/local/gcc6/bin/gcc gcc6
    

    Ubuntu16.04编译安装Python3.6

    安装tcl/tk和Tkinter

    tcl和tk的下载地址:https://sourceforge.net/projects/tcl/files/Tcl/

    目前我下载的tcl/tk源代码包是 tcl8.6.6-src.tar.gztk8.6.6-src.tar.gz

    安装tcl8.6:

    tar -xzvf tcl8.6.6-src.tar.gz  
    cd tcl8.6.6/unix
    ./configure
    make
    sudo make install
    

    安装tk8.6(与tcl8.6的安装相似):

    编译时如果出现以下错误信息:

    /home/alan/Downloads/tk8.6.6/unix/../generic/tk.h:96:25: 致命错误: X11/Xlib.h:没有那个文件或目录  
    编译中断。
    make: *** [tk3d.o] 错误 1
    

    那么说明x11库依赖缺失,在终端运行:

    sudo apt-get install libx11-dev
    

    之后修改Setup.dist文件,进入python安装包解压后那个文件夹里, 命令打开Setup.dist文件vim Modules/Setup.dist

    修改上面5处地方, 把她们前面的#删除掉, 默认的tcl和tk是8.2, 但是我们已经安装的tcl和tk的版本是8.6, 那么我们就将这里的tk8.3和tcl8.2修改为tk8.6和tcl8.6, 保存退出。

    配置ssl模块

    安装SSL相关的依赖

    apt-get install openssl
    apt-get libssl-dev
    

    修改Setup.dist文件

    编译安装

    现在重装python3.6.0, 用以下命令一次性完成配置、编译、安装:

    ./configure
    make
    sudo make install
    

    deb包安装MySQL

    Ubuntu下如果apt-get安装MySQL的话,仓库版本可能比较陈旧,所以我选择从官网下载deb包安装最新的MySQL

    下载MySQL

    到mysql网站下载相应的mysql安装包,我的mysql-server_5.7.17-1ubuntu16.04_amd64.deb-bundle.tar

    解压

    tar -xvf mysql-server_5.7.17-1ubuntu16.04_amd64.deb-bundle.tar
    

    得到以下文件:

    libmysqlclient20_5.7.17-1ubuntu16.04_amd64.deb
    libmysqlclient-dev_5.7.17-1ubuntu16.04_amd64.deb
    libmysqld-dev_5.7.17-1ubuntu16.04_amd64.deb
    mysql-client_5.7.17-1ubuntu16.04_amd64.deb
    mysql-common_5.7.17-1ubuntu16.04_amd64.deb
    mysql-community_5.7.17-1ubuntu16.04_amd64.changes
    mysql-community-client_5.7.17-1ubuntu16.04_amd64.deb
    mysql-community-server_5.7.17-1ubuntu16.04_amd64.deb
    mysql-community-source_5.7.17-1ubuntu16.04_amd64.deb
    mysql-community-test_5.7.17-1ubuntu16.04_amd64.deb
    mysql-server_5.7.17-1ubuntu16.04_amd64.deb
    mysql-server_5.7.17-1ubuntu16.04_amd64.deb-bundle.tar
    mysql-testsuite_5.7.17-1ubuntu16.04_amd64.debsan

    安装所需的包

    sudo dpkg -i mysql-common_5.7.16-1ubuntu16.04_amd64.deb
    sudo dpkg-preconfigure mysql-community-server_5.7.16-1ubuntu16.04_amd64.deb
    sudo dpkg -i libmysqlclient20_5.7.16-1ubuntu16.04_amd64.deb
    sudo dpkg -i libmysqlclient-dev_5.7.16-1ubuntu16.04_amd64.deb
    sudo dpkg -i libmysqld-dev_5.7.16-1ubuntu16.04_amd64.deb
    sudo apt-get install libaio1
    sudo dpkg -i mysql-community-client_5.7.16-1ubuntu16.04_amd64.deb 
    sudo dpkg -i mysql-client_5.7.16-1ubuntu16.04_amd64.deb
    sudo dpkg -i mysql-common_5.7.16-1ubuntu16.04_amd64.deb
    sudo apt-get install libmecab2
    sudo dpkg -i mysql-community-server_5.7.16-1ubuntu16.04_amd64.deb
    sudo dpkg -i mysql-server_5.7.16-1ubuntu16.04_amd64.deb
    

    其他库依赖的安装

    安装readline库

    sudo apt-get install libreadline-dev

    安装zlib库

    sudo apt-get install zlib1g-dev

    相关文章

      网友评论

          本文标题:Ubuntu开发环境配置

          本文链接:https://www.haomeiwen.com/subject/vmswkxtx.html