導航:首頁 > 源碼編譯 > m1編譯openjdk

m1編譯openjdk

發布時間:2023-01-23 18:18:14

A. win7 下面怎麼編譯一個openjdk

近來剛剛編譯過openjdk8。遇到不少問題,都記錄下來。

雖然很多文章,吾遇到問題,都在下文中發現。


https://blog.csdn.net/u014106644/article/details/89316483


下載裝cygwin

使用 http://mirrors.163.com/cygwin/


博文:https://blog.csdn.net/quantum7/article/details/93323995


博文:https://blog.csdn.net/quantum7/article/details/93039544


建議下載不安裝,等下載完畢之後,再安裝。這樣可以重復安裝,而且也可以復制給他人。


安裝cygwin

特別要注意的是,即使下載了,默認也是不安裝的。所以要把下載時的項目都找到並選中。


下載並編譯freetype

下載後編譯時出了兩個錯誤:


博文: https://blog.csdn.net/quantum7/article/details/93193452


博文:https://blog.csdn.net/quantum7/article/details/93054559


下載並編譯openjdk8

遇到幾個錯誤:


博文:https://blog.csdn.net/quantum7/article/details/93050653


博文:https://blog.csdn.net/quantum7/article/details/93052571


博文:https://blog.csdn.net/quantum7/article/details/93208918


最後一個問題,花費了吾很長時間。最後自己找到了解決辦法:


博文:https://blog.csdn.net/quantum7/article/details/93303756


編譯openjdk及遇到問題的解決辦法

B. 編譯openjdk總是出現這個問題,怎麼解決

解決/usr/bin/ld: cannot find -lxxx 問題: 在linux環境編譯應用程式或lib的source code時常常會出現如下的錯誤訊息: /usr/bin/ld: cannot find -lxxx 這些訊息會隨著編譯不同類型的source code 而有不同的結果出來如: /usr/bin/ld: cannot f

C. 編譯openjdk總是出現這個問題,怎麼解決

(1)/etc/profileexportjava_HOME=/usr/java/jdk1.7.0_67-cloudera/exportPATH=$PATH:$JAVA_HOME/binexportJRE_HOME="$JAVA_HOME/jre"exportCLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/rt.jar修改完成後,使用source/etc/profile命令進行更新;(2)下面這幾步比較重要,因為在許多linux系統中都預裝了openjdk,所以即使上面進行了這些設置,系統默認的還不是我們要設置的內容;如果要真正使用我們自己的jdk,還需要一下步驟:sudoupdate-alternatives--install/usr/bin/javajava/usr/java/jdk1.7.0_67-cloudera/bin/java300sudoupdate-alternatives--install/usr/bin/javacjavac/usr/java/jdk1.7.0_67-cloudera/bin/javac300(這里的300隻是標識一下,沒什麼意義,只是下一步要用到)(3)大功告成,使用java-version命令來查看我們的java環境變數,顯示如下內容:javaversion"1.7.0_05"Java(TM)SERuntimeEnvironment(build1.7.0_05-b06)JavaHotSpot(TM)ServerVM(build23.1-b03,mixedmode)*對於更新一個/usr/bin/xxx命令指向一個新的路徑可以用sudoupdate-alternatives--configxxx

D. 如何用Mac完美編譯OpenJDK 7

1.選擇OSX版本很重要。目前這里Mac版本是10.10,配置好必要信息以後就開始編,結果錯誤滿屏。簡單看過之後發現是編譯C文件的時候參數有誤,於是查了一下,才知道是LLVM版本太新,不兼容低版本的一些編譯參數。照著上面改了點代碼,但是依舊編譯不過。既然高版本不行,就裝個低版本的唄。由於最新的OSX不能裝低版本的Xcode(裝了Xcode才能裝LLVM),所以去下了一個10.8的OSX裝在虛擬機里,然後再裝個Xcode4.4。裝好Xcode以後,要手動下載LLVM安裝。打開Xcode,隨便建立一個空項目,然後打開Preferences,找到如下所示的地方開始安裝第一步咱就這么搞定了。2.安裝X11X11這玩意是unix類os使用的圖形系統,10.8以前的OSX是自帶的,但是從此以後就不自帶了。對應於Mac,你需要裝XQuartz,這個沒有版本限制,去網上下最新版即可。裝這個的原因是當時在編譯PolicyTools的時候出現了如下錯誤:ld:librarynotfoundfor-lX11安裝以後要為X11建立軟連接sudoln-s/usr/X11/include/X11/usr/include/X113.安裝freetype在linux下編譯openjdk的朋友可能遇到過需要安裝freetype的要求,然後安裝下並將安裝目錄加到環境變數里就好了。但是OSX不一樣,freetype單獨安裝實際是沒用的。雖然單獨安裝能讓編譯前的檢查通過,但是到後面還是會出錯,至於原因我沒找到。那怎麼呢?實際上如果安裝好X11,freetype就一起安裝好了,大家可以去X11的目錄里看看是否有freetype。雖然說安裝了X11就自帶freetype,但是編譯過程中可能會出現如下錯誤:error:freetype/config/ftheader.h:Nosuchfileordirectory實際上就是目錄問題,執行下面這句命令就好了:sudoln-s/sr/X11/include/freetype2/freetype//usr/X11/include/freetype4.配置環境變數和在Linux下編譯相比,OSX的環境變數配置相對來說簡單很多。只需要配置編譯需要的jdk和llvm的目錄就可以了。因為很多源代碼都是用本機現有的jdk來編譯,所以預裝一個低版本的jdk是必須的,這里我們需要安裝jdk6。安裝好以後,找到其安裝目錄,並添加如下環境變數:[plain]viewplainexportALT_BOOTDIR=/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents/Home通常來說安裝目錄都應該在/System/Library/Java/JavaVirtualMachines目錄下。如果不在的話,有個技巧可以找到。因為安裝好jdk以後,系統會自動在/usr/bin下建立指向java命令的軟連接,所以執行「ls-l/usr/bin/java」就能看到這個命令指向哪,然後這么順著找下去就能找到。llvm是編譯C類文件所必須的,所以要把它的所在目錄添加到環境變數里。通常OSX下安裝app都會把app移到Applications目錄下,所以我最初安裝Xcode的時候也把他移進去了,如果你把Xcode放在了別的目錄,那就找到對應的目錄即可。[plain]viewplainexportALT_COMPILER_PATH=/Applications/Xcode.app/Contents/Developer/usr/bin5.獲取編譯源碼按照這上面的第三點獲取源代碼如果沒有裝hg的需要自行安裝到現在為止,編譯前的准備工作已經完成。我們可以先執行makesanity執行下編譯前的檢查。如果檢查通過,先來看看具體的編譯命令:[plain]viewplainmakeALLOW_DOWNLOADS=trueSA_APPLE_BOOT_JAVA=trueSKIP_DEBUG_BUILD=falseSKIP_FASTDEBUG_BUILD=falseALWAYS_PASS_TEST_GAMMA=trueHOTSPOT_BUILD_JOBS=`sysctl-nhw.ncpu`這里有兩個問題:a.ALLOW_DOWNLOADS=true表示編譯過程中允許下載。因為有些編譯模塊,比如jaxp,編譯腳本中指定了需要下載特定的包。雖然我沒試過設置成false會不會影響編譯,但是還是推薦設置成true。但是這就帶來另一個問題,下載這類包很費時間,有時候就會在那卡很長時間,所以我根據編譯日誌找到編譯腳本中控制下載的具體命令,修改修改並且把用迅雷下的對應包放到正確目錄中,然後重新編譯一遍,就能順利通過了。這一點後面我會詳說。b.SKIP_DEBUG_BUILD=falseSKIP_FASTDEBUG_BUILD=false這兩個表示編譯出來的jdk或者hotspot是否可以debug。FASTDEBUG表示的應該是提供簡單的debug功能,如果想要完整的debug,則SKIP_DEBUG_BUILD必須設置為false。不過這里提醒一點,如果想在debugjdk的時候能看到debug信息,比如變數名等,只需要SKIP_FASTDEBUG_BUILD設置為false就可以了如果這兩個問題都不是問題,那麼就可以按回車了。如果debug和fastdebug都是false,再加上用虛擬機編譯,所以需要的時間會比較長,你也許需要找一部長一點的電影來消磨一下了。最後編譯出來的結果是這樣的:j2sdk-image就是自己編譯出來的jdk,可以直接用了。至於其他目錄下的內容,各位自己琢磨吧。現在來說下ALLOW_DOWNLOADS=true引起的問題。但是遇到下載很久的包總共有三個:jaxp145_01.zip、jdk7-jaf-2010_08_19.zip、jdk7-jaxws2_2_4-b03-2011_05_27.zip之前說過可以修改編譯腳本跳過下載並且用我們已經下載好的,但是實際編譯過程中,這三個包對應的的編譯腳本是動態生成的,所以只能等到他卡在那了,才能停下來並找到腳本修改之。因此因為這三個包,總共需要停3次。,比起一直卡在那好太多了。假設編譯的是普通版本,即非DEBUG和非FASTDEBUG。下面以jaxp145_01.zip為例子講一下怎麼修改對應腳本:腳本所在位置:openjdk根目錄/build/macosx-universal/jaxp/build/xml_generated/build-drop-jaxp_src.xml

E. win7 下面怎麼編譯一個openjdk

假設現在已經用記事本編了一個Welcome.java的源文件,它被存放在e:\javabook文件夾下,先用cmd對該源文件進行編譯如下:在開始菜單下運行cmd命令,一般顯示在眼前的第一行命令是"C:\Users\用戶名>",1.這時先打開e盤,直接輸入「e:」,再按回車,會

F. 如何交叉編譯openjdk 使之能在arm-Linux中運行

直接下載OpenJDK8源碼肯定不通過。有一個專門的移植工程:

hg clone http://hg.openjdk.java.net/aarch64-port/jdk8/

hg clone http://hg.openjdk.java.net/aarch64-port/jdk8u/


這個有時無法下載,使用:

https://github.com/AdoptOpenJDK/openjdk-aarch64-jdk8u

關於OpenJDK的編譯,這個博客記錄最為詳細,所有問題都有解決辦法:

網頁鏈接

G. win7 下面怎麼編譯一個openjdk

好久沒有在windows下編過了,以前我是找vs2010 express來編的,遇到過類似的問題,不
過時間太長不確認是不是同一個了。
你可以看一下對應makefile裡面COMPILER_VERSION是怎麼獲取的。我印象中是根據cl.exe
的輸出然後截取字元串來確認版本的,在某些版本/語言下,字元串與makefile代碼中的預
期不一致,導致這個變數沒有寫進去。
詳細一些的攻略可以看我這篇文章:http://icyfenix.iteye.com/blog/1097344
不過我衷心建議你搞個linux來編,我在ubuntu10.10下需要的東西一個apt-get就結束了,
win下找各種依賴的東西很費時間,尤其是編那個破freetype。

H. 高版本Openjdk缺少tools.jar項目編譯不過解決辦法

眾所周知,在openjdk 9 以後,就刪除了tools.jar 等工具包,這個主要用來做編譯之用。

但是有可能在項目中需要tools.jar 來做編譯,這時候如何解決:

例如項目中build.gradle文件使用:

如果我們把jdk 切換到openjdk 9以後的版本就會對build.gradle文件解析失敗,導致編譯不過的問題。

那麼我的思路是:既然tools.jar 作為編譯之用,那麼就把tools.jar 放到工程中的libs/tools.jar 中。並對build.graldle 文件做如下相應的修改:

做如上的修改,就可以讓項目順利的進行編譯。運行。

I. 蘋果M1晶元的電腦怎麼配置java開發環境

方法/步驟
打開Java的下載網址。
Mac電腦上如何配置Java開發環境
在下載鏈接中找到「Mac OSX X64」對應的安裝包並下載。
Mac電腦上如何配置Java開發環境
下載好後打開安裝包會看到一個黃色圖標,雙擊黃色圖標進入應用安裝。
Mac電腦上如何配置Java開發環境
點擊「繼續」,點擊「安裝」,輸入密碼後即可安裝軟體。
Mac電腦上如何配置Java開發環境
安裝過程大約一分鍾左右,接著打開終端,輸入「Java-version」並按回車鍵。
Mac電腦上如何配置Java開發環境
如果正常顯示Java版本則安裝成功。

J. Haxe MacBookPro M1晶元 OpenFL編譯Android版本

如何使用OpenFL在MacBookPro M1晶元編譯Android版本,M1晶元Mac系統自帶的JDK基本都是17版本,編譯時會有不兼容的現象。該流程適用於OpenFL9.1.0。

結果參考(JVM是15.0.6版本、Gradle6.3環境編譯穩定):

當編譯出現這個錯誤時,一般是指JDK的版本沒有對應上,太高、或者太低等。如果按照上面的步驟正常處理,這個問題會直接消失。

無法找到該類型時,一般升級Gradle的編譯版本為6.3即可,請參考上方提及到的project.xml配置。

如果使用到queries的標簽時,會有編譯異常的情況,可以升級到對應補丁的gradle插件,版本對應:3.3.3、3.4.3、3.5.4、3.6.4、4.0.1

閱讀全文

與m1編譯openjdk相關的資料

熱點內容
android檢查是否安裝 瀏覽:373
蘋果手機編輯pdf文件 瀏覽:456
android系統名字 瀏覽:963
安卓手機如何進去有求必應屋 瀏覽:432
指數除法運演算法則底數不同 瀏覽:894
90壓縮干糧09壓縮干糧 瀏覽:516
android線程池框架 瀏覽:481
手機自帶解壓能解壓哪些文件 瀏覽:804
linux安裝hba驅動 瀏覽:119
java構造函數new 瀏覽:668
怎麼查家裡電器耗電量app 瀏覽:506
原神一直顯示重新連接伺服器怎麼辦 瀏覽:826
一般用途軸流式壓縮機 瀏覽:926
沒學歷的怎麼學編程 瀏覽:901
華為的隱藏相冊無法加密 瀏覽:782
聯通套餐app怎麼設置 瀏覽:752
關於刪除鏈表的演算法描述 瀏覽:894
標准盤和壓縮盤的區別 瀏覽:47
銀行存款驗證碼JAVA編程 瀏覽:111
word轉pdf軟體免費版 瀏覽:139