天天看點

ubuntu常用開發配置

配置開發環境

  1. 更新軟體源以確定安裝到的軟體是最适合目前系統的版本(必須):
sudo apt-get update          
           
  1. 安裝和配置代碼管理工具 git,記得把下面指令行中的名字和郵件替換成自己的(必須):
sudo add-apt-repository ppa:git-core/ppa                            
    sudo apt-get update                            
    sudo apt-get install git                            
    git config --global user.email "[email protected]"                            
    git config --global user.name "Your Name"            
           
  1. 安裝git lfs手順
git config --global ssh.variant ssh                            
    curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash                            
    sudo apt-get install git-lfs                            
    cd <任意git倉庫>                            
    git lfs install      
           
  1. 安裝 cmake (必須):
sudo apt-get install cmake       
           
  1. 安裝 make 3.8.1 (Ubuntu 16.04 LTS 或更新版本:必須):
wget "http://ftp.gnu.org/gnu/make/make-3.81.tar.bz2"                            
    tar xjf make-3.81.tar.bz2                            
    cd make                            
    ./configure                            
    sudo make install        
           
  1. 安裝和配置 ccache(可選:使用 ccache 會增加第一次編譯的時間,但是可以有效的減少後續編譯的時間):

    安裝

sudo apt-get install ccache                            
    配置,在~/.bashrc中添加下列的行                            
    export CCACHE="ccache"                            
    export CCACHE_BASEDIR="/"                            
    export CCACHE_COMPILERCHECK="content"                            
    export CCACHE_CPP2="true"                            
    export CCACHE_SLOPPINESS="time_macros,include_file_mtime,file_macro"                   
           
  1. 安裝 JAVA 6,如編譯過程中出現缺少 Java6 的錯誤,請安裝JDK(可選):
sudo add-apt-repository ppa:webupd8team/java                            
    sudo apt-get update                            
    sudo update-java-alternatives -s java-6-oracle    
           

開發環境配置(Ubuntu 18.04 LTS 專用)

9. 安裝 32 位 Native 工具鍊(必須)

sudo apt-get install g++-4.8 lib32stdc++-4.8-dev g++-i686-linux-gnu           
           
  1. 安裝其他編譯工具和依賴庫 (必須)
sudo apt-get install bison zlib1g-dev:i386 python-pil python-lxml python-m2crypto  
           
  1. 安裝 LXC 3.0 依賴庫 (啟動模拟器必須)
sudo apt-get install lxc libelf-dev              
           
  1. 安裝模拟器 (QEMU - x86/arm) 依賴庫(模拟器版必須)
sudo apt-get install libglvnd-dev:i386      
           

開發環境配置(Ubuntu 14.04/16.04 LTS 專用)

1.安裝gcc4.8&g++4.8

sudo apt-get install gcc-4.8 g++-4.8 g++-4.8-multilib  g++-multilib -y                            
   sudo update-alternatives --install /usr/bin/g++ g++ /usr/bin/g++-4.8 40                            
   sudo update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.8 40                            
   #有多個gcc/g++時切換版本:                            
   sudo update-alternatives --config gcc                            
   sudo update-alternatives --config g++       
           

2.必備庫:

sudo apt-get install bison zlib1g-dev zlib1g-dev:i386 doxygen libxext-dev libpulse-dev libasound2-dev libesd0-dev git-core gnupg flex gperf build-essential zip curl libc6-dev lib32ncurses5-dev x11proto-core-dev libx11-dev lib32readline-gplv2-dev lib32z1-dev libgl1-mesa-dev:i386 g++-multilib mingw32 tofrodos python-markdown libxml2-utils xsltproc libpango1.0-dev ccache libxcursor-dev libgstreamer0.10-dev python-m2crypto python-lxml libx11-dev:i386 dpkg-dev  
           

3.開發包:

sudo apt-get install libpulse-dev libdirectfb-dev libpango1.0-dev libdbus-1-dev libasound2-dev libesd0-dev libncurses5-dev libicu-dev libxml2-dev libsqlite3-dev libegl1-mesa-dev libgles2-mesa-dev libevent-dev libxcursor-dev libgstreamer0.10-dev gstreamer0.10-plugins-good gstreamer0.10-plugins-ugly gstreamer0.10-plugins-bad  gstreamer0.10-fluendo-mp3 pyside-tools python-pygments python-yaml libgif-dev imagemagick xvfb   
           

4.開發工具

sudo apt-get install ssh vim cmake ccache xrdp gitk meld bison dos2unix subversion             
           

xc模拟器可能出現的錯誤

1.若32位相容包(libx11-dev:i386等)無法安

可能是因為64位系統尚未開啟32位支援:

sudo dpkg --add-architecture i386                            
   sudo apt-get update                            
   sudo apt-get dist-upgrade                            
           

若編譯時出現 /usr/bin/ld: cannot find -l*** 錯誤可嘗試安裝 lib***或lib***-dev或lib***-dev:i386

例:出現 /usr/bin/ld: cannot find -lX11 則需要安裝libx11-dev:i386

另:與 /usr/bin/ld: cannot find -lgl 錯誤相關的庫有libgl1-mesa-dev,libegl1-mesa-dev,libgles2-mesa-dev及他們的32位相容版本(64位與32位互斥),需根據出錯的具體檔案确定需要安裝的庫及版本。

2.insmod時出現 ERROR:Required key not available

原因是Ubuntu的核心使用EFI_SECURE_BOOT_SIG_ENFORCE的核心配置,這樣會阻止核心載入第三方子產品。

sudo apt install mokutil

sudo mokutil --disable-validation

執行後,終端會讓你設定密碼(之後要用), 設定完密碼後,重新開機電腦,會出現藍屏,按下任意鍵進入選擇界面,選項如下:

- Continue boot

- Change Secure Boot state

- Enroll key from disk

- Enroll hash from disk

選擇第二項。

輸入你設定的密碼,注意系統可能并不是讓你輸入完整的密碼,比如Enter password character 3,意思是輸入密碼的第3位。

進入Disable Secure Boot選擇界面,選擇 yes(如果直接按下Enter,隻能從頭再來)。

下個界面又回到最開始的界面,選擇reboot。

配置Git

1.管理工具

sudo add-apt-repository ppa:git-core/ppa
sudo apt-get update
sudo apt-get install git
git config --global user.email "[email protected]"
git config --global user.name "Your Name"
           

2.安裝git lfs手順

git config --global ssh.variant ssh
curl -s https://packagecloud.io/install/repositories/github/git-lfs/script.deb.sh | sudo bash
sudo apt-get install git-lfs
cd <任意git倉庫>
git lfs install
           

3.生成ssh key

ssh-keygen -t rsa
           

4.配置ssh預設使用者名

一般就是登入igerrit的使用者名,配置方法如下:

  1. 在本地的.ssh檔案夾下建立config檔案
  2. 檔案中寫入“user your_name”并儲存

5.添加ssh-key到伺服器

點選網頁右上角登入名,在彈出的頁面中點選Settings

點選左側的SSH Public Keys,進入使用者ssh key配置頁面

在Add SSH Public Key下面空白的編輯區内中拷貝本機的ssh public key(預設是 ~/.ssh/id_rsa.pub)中的内容,點選輸入框下的Add按鈕。

請不要拷貝最後[email protected]或是類似其他的使用者名,隻拷貝之前的内容即可

6.ssh測試

ssh -p 29418 igerrit.storm
           

配置repo

下載下傳repo
sudo cp repo /usr/bin
sudo chmod a+x /usr/bin/repo
           

配置Java

安裝java8

1、sudo add-apt-repository ppa:openjdk-r/ppa
2、sudo apt-get update
3、sudo apt-get install openjdk-8-jdk
4、執行:sudo update-alternatives –config java,選擇java的版本
5、執行:sudo update-alternatives –config javac,選擇javac的版本