gcc環境部署遇到的問題


新來到公司,需要我部署一套公司應用的環境,具體干啥就不說了,直接看操作,這里主要想和大家分享下部署環境時遇到的問題,希望大家遇到同樣的問題是,可以在這里快速找到答案

 

第一步,系統准備

    • 安裝軟件列表
      sshfs
      sshpass
      cifs-utils
    • 其他對接系統 硬盤庫,光盤庫,磁帶庫等系統安裝單獨處理,此處不涉及
    • 部分系統無法直接安裝sshfs,請參考下文
      https://www.cnblogs.com/levi125/p/13685733.html

 

第二步,開始准備安裝達夢數據庫

        先部署一下基礎的環境,參照如下腳本

#!/bin/bash
# host添加 源地址
echo '199.232.96.133 raw.githubusercontent.com' >> /etc/hosts
# 下載nvm
curl -o- https://raw.githubusercontent.com/nvm-sh/nvm/v0.37.0/install.sh | bash
echo 'export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"' >> /etc/profile
source /etc/profile
nvm --version
# 下載node.js
nvm install v10.12.0
node -v
# 下載unixodbc
yum install unixodbc
# 配置odbc
cp odbc.ini /etc/
cp odbcinst.ini /etc/
#配置達夢環境變量
echo "export LD_LIBRARY_PATH=/usr/local/lib:/opt/dmdbms/bin:\$LD_LIBRARY_PATH" >> /etc/profile
echo "export PATH=/opt/dmdbms/bin:\$PATH" >> /etc/profile
source /etc/profile
odbcinst -j
isql -v DM8

 

    進入環境部署的第二階段

##更新yum源,ubuntu可以忽略
wget -O /etc/yum.repos.d/CentOS-Base.repo http://mirrors.aliyun.com/repo/Centos-7.repo
sed -i  's/$releasever/7/g' /etc/yum.repos.d/CentOS-Base.repo
#清空緩存:yum clean all
#生成緩存:yum makecache
#更新源:sudo yum update

更新gcc版本到5.4

下載:
Wget http://mirror.hust.edu.cn/gnu/gcc/gcc-5.4.0/gcc-5.4.0.tar.bz2(國內鏡像)

gcc ftp下載地址:
ftp://ftp.mirrorservice.org/sites/sourceware.org/pub/gcc/releases/gcc-4.7.2/


下載完成后,執行命令:
tar -jxvf gcc-5.4.0.tar.bz2 獲得gcc-5.4.0文件夾
mkdir build (以后的操作目錄)
cd gcc-5.4.0/

./contrib/download_prerequisites(這里在下載一些安裝gcc會用到的文件,如果沒配置wget則會失敗。)

cd ../build/ (來到工作目錄)

接下來要安裝gmp、mpfr、mpc

gmp:
../gcc-5.4.0/gmp-4.3.2/configure
sudo make
sudo make install

mpfr:
../gcc-5.4.0/mpfr-2.4.2/configure
sudo make
sudo make install

../gcc-5.4.0/mpc-0.8.1/configure
sudo make
sudo make install

現在再安裝gcc就可以了
../gcc-5.4.0/configure –enable-threads=posix –disable-checking –disable-multilib –enable-languages=c,c++
sudo make (及其耗時,將近兩個小時)
sudo make install
gcc –version (驗證gcc版本是否為5.4.0)
參考:https://www.qedev.com/linux/91867.html

       

../gcc-5.4.0/configure –enable-threads=posix –disable-checking –disable-multilib –enable-languages=c,c++ -disable-libsanitizer    #需要加上最后一段,不然會出現問題3

#######
遇到的問題 1
./md-unwind-support.h:61:47: 錯誤: dereferencing pointer to incomplete type ‘struct ucontext’
sc = (struct sigcontext *) (void *) &uc_->uc_mcontext
————————————————
問題參考鏈接
https://blog.csdn.net/juan190755422/article/details/103709300


#######
問題2
../../../../gcc-5.4.0/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc:146:23: 致命錯誤: sys/ustat.h:沒有那個文件或目錄
編譯中斷。
make[4]: *** [Makefile:449:sanitizer_platform_limits_posix.lo] 錯誤 1
make[4]: 離開目錄“/home/software/gcc/build/x86_64-unknown-linux-gnu/libsanitizer/sanitizer_common”
make[3]: *** [Makefile:437:all-recursive] 錯誤 1
make[3]: 離開目錄“/home/software/gcc/build/x86_64-unknown-linux-gnu/libsanitizer”
make[2]: *** [Makefile:307:all] 錯誤 2
make[2]: 離開目錄“/home/software/gcc/build/x86_64-unknown-linux-gnu/libsanitizer”
make[1]: *** [Makefile:16925:all-target-libsanitizer] 錯誤 2
make[1]: 離開目錄“/home/software/gcc/build”
make: *** [Makefile:913:all] 錯誤 2

參考鏈接
https://zhuanlan.zhihu.com/p/377881136


############
問題3
In file included from ../../../../gcc-5.4.0/libsanitizer/sanitizer_common/sanitizer_platform_limits_posix.cc:179:0:
../../../../gcc-5.4.0/libsanitizer/sanitizer_common/sanitizer_internal_defs.h:272:72: 錯誤: size of array ‘assertion_failed__1090’ is negative



參考鏈接
https://zhuanlan.zhihu.com/p/357264769

 

在安裝gcc的時候遇到了一些問題,做一下總結

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM