歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

Ubuntu 12.10 編譯Android 4.0.1 源碼報錯

最近要修改Android 源代碼,所以下載了android 4.0.1源代碼,編譯源代碼真是累人的事情,各種錯誤。
 
下面記錄Ubuntu 12.10下出現的錯誤,以及解決方法。

提示信息
 
host SharedLib: lib64EGL_translator (out/host/linux-x86/obj/lib/lib64EGL_translator.so)
 /usr/bin/ld: cannot find -lGL
 collect2: ld returned 1 exit status
 make: *** [out/host/linux-x86/obj/lib/lib64EGL_translator.so] Error 1
 make: *** Waiting for unfinished jobs....
 
解決方法 :
 
sudo apt-get install libglu1-mesa-dev 


*****************************************************************************************
 
host StaticLib: libGLcommon (out/host/linux-x86/obj/STATIC_LIBRARIES/libGLcommon
 _intermediates/libGLcommon.a)
 host SharedLib: libGLES_CM_translator (out/host/linux-x86/obj/lib/libGLES_CM_tra
 nslator.so)
 /usr/bin/ld: cannot find -lGL
 collect2: ld returned 1 exit status
 make: *** [out/host/linux-x86/obj/lib/libGLES_CM_translator.so] Error 1


解決方法: sudo ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1.2 /usr/lib/libGL.so 

在網上搜到上面的解決方法,可是按照上述方法做了,問題依舊。經過多方實驗,才發現問題所在。通過apt-get install的庫不是libGL.so.1.2了。而是libGL.so.1.2.0.
 
所以大家在創建鏈接的時候最好去/usr/lib/i386-linux-gnu/mesa/這個目錄下看看libGL的庫版本,不要完全按照網上的照抄。現在網上的都是“sudo
 
ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1.2 /usr/lib/libGL.so ”而我的是sudo
 
ln -s /usr/lib/i386-linux-gnu/mesa/libGL.so.1.2.0  /usr/lib/libGL.so 。可能庫最近升級了。
 

***********************************************************************************************
 
make: *** [out/target/common/docs/doc-comment-check-timestamp] 錯誤 45

解決方法:需要做個鏈接如下:
 
 sudo ln -s /home/chenchangke/DevEnv/JDK/jdk1.6.0_38/bin/jar  /bin/jar
sudo ln -s /home/chenchangke/DevEnv/JDK/jdk1.6.0_38/bin/java  /bin/java
sudo ln -s /home/chenchangke/DevEnv/JDK/jdk1.6.0_38/bin/javac  /bin/javac
sudo ln -s /home/chenchangke/DevEnv/JDK/jdk1.6.0_38/bin/javah  /bin/javah
sudo ln -s /home/chenchangke/DevEnv/JDK/jdk1.6.0_38/bin/javadoc  /bin/javadoc
 
這個解決方法和網上大多數的不一樣。網上很多針對這個問題的,都是在android2.3源代碼遇到的,需要修改4個文件,而這4個文件,在android4.0源代碼中,根本沒有。

***************************************************************************************************

/usr/bin/ld: cannot find -lX11
 collect2: ld returned 1 exit status
 make: *** [out/host/linux-x86/obj/lib/libOpenglRender.so] Error 1
 
解決方法:$ sudo ln -s /usr/lib/i386-linux-gnu/libX11.so.6 /usr/lib/i386-linux-gnu/libX11.so

更多Ubuntu相關信息見Ubuntu 專題頁面 http://www.linuxidc.com/topicnews.aspx?tid=2

更多Android相關信息見Android 專題頁面 http://www.linuxidc.com/topicnews.aspx?tid=11

Copyright © Linux教程網 All Rights Reserved