FreeBSD中编译JDK

论坛 期权论坛     
选择匿名的用户   2021-6-2 17:48   569   0
<div align="left">
<br>
<font size="2" style="color: rgb(0, 0, 128);"><span style="font-family: Tahoma;">自从JDK 1.1.8后,FreeBSD 因为在 Java 授权上的种种问题,已经不能发布预编译的 JDK 软件包,也没有了所谓的 Official Release 了 。<br><br>现在要在FreeBSD上使用最新的Java技术,需要通过下面的方式自己编译并进行安装:</span></font>
<br>
<br>
<font size="2" style="color: rgb(0, 0, 128);"><span style="font-family: Tahoma;">(1)  FreeBSD &#43; Linux compatibility enable &#43; Linux Process FileSystem mounted</span><strong style="font-family: Tahoma;"><br></strong><span style="font-family: Tahoma;">(2)  </span><a href="https://sdlcweb2a.sun.com/ECom/EComActionServlet;jsessionid&#61;87C3FD20D3BCF5947A0487512406E315" rel="noopener noreferrer" style="font-family: Tahoma;" target="_blank"><strong>Linux Platform - Java(TM) 2 SDK, self-extracting file</strong></a><strong style="font-family: Tahoma;"><br></strong><span style="font-family: Tahoma;">(3)  </span><a href="http://www.sun.com/software/communitysource/j2se/java2/download.xml" rel="noopener noreferrer" style="font-family: Tahoma;" target="_blank"><strong>SCSL (Sun Community Source Licensing) Source</strong></a><strong style="font-family: Tahoma;"><br></strong><span style="font-family: Tahoma;">       -SCSL Source</span><strong style="font-family: Tahoma;"><br></strong><span style="font-family: Tahoma;">       -SCSL Binaries - needed to complete source build</span><strong style="font-family: Tahoma;"><br></strong><span style="font-family: Tahoma;">       -Mozilla Binaries</span><strong style="font-family: Tahoma;"><br></strong><span style="font-family: Tahoma;">(4)  </span><a href="http://www.eyesbeyond.com/freebsddom/java/" rel="noopener noreferrer" style="font-family: Tahoma;" target="_blank"><strong>BSD Java porting patchsets</strong></a></font>
<br>
<br>
<font size="2" style="color: rgb(0, 0, 128);"><span style="font-family: Tahoma;">编译实际上是在FreeBSD的Linux兼容模式下,以Linux JDK Binary为基础,将SCSL Source打上BSD的patch后,在FreeBSD上面编译出native的JDK版本!(哇塞,真是拗口~~~!!!)</span></font>
<br>
<br>
<font size="2" style="color: rgb(0, 0, 128);"><span style="font-family: Tahoma;">所以,以FreeBSD 5.4 Release为例子,我们第一步要做的就是修改 /etc/fstab 这个文件, 新增:</span></font>
</div>
<table align="left" border="0" cellpadding="0" cellspacing="0" width="790"><tbody><tr><td bgcolor="#000000">
    <div align="left">
     <br>
     <font color="#c0c0c0"><font face="Courier New" size="2">linprocfs     /compat/linux/proc    linprocfs    rw    0        0<br> <br></font></font>
    </div>
    <div align="left">
     <font color="#c0c0c0"></font>
    </div> </td></tr></tbody></table>
<div align="left">
<br>
<br>
<br>
<br>
<font size="2" style="color: rgb(0, 0, 128);"><span style="font-family: Tahoma;">重新启动后,可以用kldstat查看是否已经mount上了Linux process FileSystem:</span></font>
</div>
<table border="0" cellpadding="0" cellspacing="0" width="780"><tbody><tr><td bgcolor="#000000">
    <div align="left">
     <br>
     <font color="#c0c0c0" face="Courier New"><font size="2">FreeBSD# kldstat<br>Id Refs Address    Size     Name<br> 1   10 0xc0400000 5dde24   kernel<br> 2   14 0xc09de000 56270    acpi.ko<br> 3    1 0xc1803000 6000     <font color="#ffff00">linprocfs.ko</font><br> 4    1 0xc180c000 17000    <font color="#ffff00">linux.ko<br> <br></font></font></font>
    </div>
    <div align="left">
     <font color="#c0c0c0" face="Courier New" size="2"></font>
    </div> </td></tr></tbody></table>
<div align="left" style="font-family: Tahoma; color: rgb(0, 0, 128);">
<font size="2"><br>接下来,当然是要升级到最新的ports tree了:</font>
</div>
<table border="0" cellpadding="0" cellspacing="0" width="790"><tbody><tr><td bgcolor="#000000">
    <div align="left">
     <br>
     <font color="#c0c0c0" face="Courier New" size="2">FreeBSD# cd /usr/ports<br>FreeBSD# cvsup -g -L 2 /root/ports-supfile<br> <br></font>
    </div>
    <div align="left">
     <font color="#c0c0c0" face="Courier New" size="2"></font>
    </div> </td></tr></tbody></table>
<div align="left">
<br>
<font size="2" style="color: rgb(0, 0, 128);"><span style="font-family: Tahoma;">然后,进入到JDK的port目录下,我使用的是JDK14:</span></font>
</div>
<table border="0" cellpadding="0" cellspacing="0" width="790"><tbody><tr><td bgcolor="#000000">
    <div align="left">
     <br>
     <font color="#c0c0c0" face="Courier New" size="2">FreeBSD# cd /usr/ports/java/jdk14                                  <br>FreeBSD# make<br> <br></font>
    </div>
    <div align="left">
     <font color="#c0c0c0" face="Courier New" size="2"></font>
    </div> </td></tr></tbody></table>
<div align="left" style="font-family: Tahoma; color: rgb(0, 0, 128);">
<font size="2"><br>如果是初次编译,应该会看到下面的提示:</font>
</div>
<div align="left">
<table border="0" cellpadding="0" cellspacing="0" width="790"><tbody><tr><td bgcolor="#000000"> <br><font color="#c0c0c0" face="Courier New" size="2">FreeBSD# make                                                    <br>&#61;&#61;&#61;&gt;  jdk-1.4.2p7_1 :         
分享到 :
0 人收藏
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

积分:3875789
帖子:775174
精华:0
期权论坛 期权论坛
发布
内容

下载期权论坛手机APP