﻿{"id":478,"date":"2017-09-14T19:30:03","date_gmt":"2017-09-14T11:30:03","guid":{"rendered":"http:\/\/www.chenweikang.top\/?p=478"},"modified":"2017-09-19T11:35:45","modified_gmt":"2017-09-19T03:35:45","slug":"centos7%e4%b8%8a%e7%bc%96%e8%af%91jdk8","status":"publish","type":"post","link":"https:\/\/www.chenweikang.top\/?p=478","title":{"rendered":"CentOS7\u4e0a\u7f16\u8bd1JDK8"},"content":{"rendered":"<h2>\u4e00\u3001\u83b7\u53d6JDK8\u6e90\u7801<\/h2>\n<p>\u4e24\u79cd\u65b9\u5f0f\u83b7\u53d6\u6e90\u7801<\/p>\n<h3>1.\u76f4\u63a5\u4eceopenjdk\u8d44\u6e90\u5e93clone<\/h3>\n<p>yum install hg<\/p>\n<p>\u514b\u9686\u9879\u76ee<\/p>\n<p>hg clone http:\/\/hg.openjdk.java.net\/jdk8\/jdk8 my-open-jdk8<\/p>\n<p>\u4e0b\u8f7d\u6e90\u7801<\/p>\n<p>cd my-open-jdk8<\/p>\n<p>.\/get_source.sh<\/p>\n<p>\u7ecf\u6d4b\u8bd5\u8fd9\u79cd\u65b9\u5f0f\u76f8\u5f53\u6162\u3002\u3002\u4e0d\u63a8\u8350<\/p>\n<h3>2.\u76f4\u63a5\u4e0b\u8f7d\u6e90\u7801\u5305zip\u683c\u5f0f\uff0c\u6bd4\u8f83\u5feb \u63a8\u8350<\/h3>\n<p>wget http:\/\/download.java.net\/openjdk\/jdk8u40\/ri\/openjdk-8u40-src-b25-10_feb_2015.zip<\/p>\n<h2>\u4e8c\u3001\u5b89\u88c5\u4f9d\u8d56\uff0c\u914d\u7f6e\u7f16\u8bd1\u73af\u5883<\/h2>\n<h3>1.README-builds \u6587\u6863\u4e2d\u5217\u4e3e\u7684\u4e00\u4e9b\u9700\u8981\u7684\u4f9d\u8d56\uff1a<\/h3>\n<ul>\n<li>\u673a\u5668\u5185\u5b58\u6700\u5c111GB \u78c1\u76d8\u7a7a\u95f4\u6700\u5c116GB<\/li>\n<li>Development Tools\uff08\u4e5f\u5c31\u662fgcc make\u7b49\u4e00\u4e9b\u5de5\u5177\uff0cgcc\u7248\u672c\u8981\u6c423.7\u4ee5\u4e0a freetype-devel \u8981\u6c422.3\u4ee5\u4e0a\uff09<\/li>\n<li>Java Development \uff0c\u4e5f\u5c31\u662fbootstrap jdk\uff0c\u5fc5\u987b\u662fjdk7 , \u7248\u672c\u6700\u4f4e\u4e3a\u00a0JDK 7u7\uff0c\u56e0\u4e3ajdk\u6e90\u7801\u4e2d\u6709\u4e9b\u529f\u80fd\u662f\u7528java\u5199\u7684\uff0c\u6240\u4ee5\u7f16\u8bd1\u4e2d\u95f4\u9700\u8981\u7528\u5230java\u73af\u5883\uff0c\u5c31\u79f0\u4e3abootstrap jdk \uff0c\u5982\u679c\u7f16\u8bd1jdk7\u5c31\u7528jdk6\u4f5c\u4e3abootstrap jdk<\/li>\n<li>X Software Development \u00a0\uff08\u53ef\u80fd\u662f\u7f16\u8bd1\u51fawin\u7684\u5b89\u88c5\u5305\u9700\u8981\u8fd9\u4e2a\uff09<\/li>\n<li>cups devel: Cups Development Package<\/li>\n<li>alsa devel: Alsa Development Package<\/li>\n<li>Xi devel: libXi.so Development Package<\/li>\n<\/ul>\n<h3>2.\u5b89\u88c5\u8fd9\u4e9b\u4f9d\u8d56\u73af\u5883\uff0c\u63a8\u8350\u4f7f\u7528yum\u5b89\u88c5\uff0c\u6bd4\u8f83\u65b9\u4fbf\uff1a<\/h3>\n<pre class=\"prettyprint linenums\">yum -y install libX11-devel freetype-devel\r\nyum -y groupinstall 'Development Tools'\r\nyum -y install alsa*\r\nyum -y install cups-devel ccache\r\n<\/pre>\n<h3>3.\u914d\u7f6e\u7f16\u8bd1\u73af\u5883<\/h3>\n<p><strong>\u9700\u8981\u4e00\u4e2ajdk7\u4f5c\u4e3abootstrap jdk\u00a0\u89e3\u538b\u5907\u7528<\/strong><\/p>\n<p>wget http:\/\/219.238.7.67\/files\/400800000A25538B\/download.oracle.com\/otn\/java\/jdk\/7u80-b15\/jdk-7u80-linux-x64.tar.gz<\/p>\n<p><strong>\u7f16\u8f91\/etc\/profile \uff1a<\/strong><\/p>\n<pre class=\"prettyprint linenums\">#\u7f16\u8bd1jdk\u9700\u8981\u8bbe\u7f6e\u7684\u73af\u5883\u53d8\u91cf\r\n#\u5fc5\u987b\u5c06 LANG\u8bbe\u7f6e\u4e3aC\r\nexport LANG=C\r\n#\u5c06\u6211\u4eec\u521a\u521a\u89e3\u538b\u7684jdk\u914d\u7f6e\u5230\u73af\u5883\u53d8\u91cf\r\nexport PATH=\"\/software\/java\/jdk1.7.0_80\/bin:${PATH}\"\r\n\r\n# \u5141\u8bb8\u81ea\u52a8\u4e0b\u8f7d\u4f9d\u8d56\r\nexport ALLOW_DOWNLOADS=true\r\n\r\n# \u6bd4\u8f83\u672c\u6b21build\u51fa\u6765\u7684\u6620\u50cf\u4e0e\u5148\u524d\u7248\u672c\u7684\u5dee\u5f02\u3002\r\nexport SKIP_COMPARE_IMAGES=true\r\n\r\n# \u4f7f\u7528\u9884\u7f16\u8bd1\u5934\u6587\u4ef6\uff0c\u4e0d\u52a0\u8fd9\u4e2a\u7f16\u8bd1\u4f1a\u66f4\u6162\u4e00\u4e9b\r\nexport USE_PRECOMPILED_HEADER=true\r\n\r\n# \u8981\u7f16\u8bd1\u7684\u5185\u5bb9\r\nexport BUILD_LANGTOOLS=true\r\nexport BUILD_HOTSPOT=true\r\nexport BUILD_JDK=true\r\n\r\n#\u628a\u5b83\u8bbe\u7f6e\u4e3afalse\u53ef\u4ee5\u907f\u514djavaws\u548c\u6d4f\u89c8\u5668java\u63d2\u4ef6\u4e4b\u7c7b\u7684\u90e8\u5206\u7684build\r\nexport BUILD_DEPLOY=false\r\n\r\n# \u628a\u5b83\u8bbe\u7f6e\u4e3afalse\u5c31\u4e0d\u4f1abuild\u51fa\u5b89\u88c5\u5305\u3002\u56e0\u4e3a\u5b89\u88c5\u5305\u91cc\u6709\u4e00\u4e9b\u5947\u602a\u7684\u4f9d\u8d56\r\n# \u4f46\u5373\u4f7f\u4e0dbuild\u51fa\u5b83\u4e5f\u5df2\u7ecf\u80fd\u5f97\u5230\u5b8c\u6574\u7684JDK\u6620\u50cf\uff0c\u6240\u4ee5\u8fd8\u662f\u522bbuild\u5b83\u597d\u4e86\r\nexport BUILD_INSTALL=false\r\n\r\n# \u5982\u679c\u4ee5\u524d\u914d\u7f6e\u8fc7\u8fd9\u4e24\u4e2a\u73af\u5883\u53d8\u91cf \u4e00\u5b9a\u8981\u53bb\u6389\r\nunset JAVA_HOME\r\nunset CLASSPATH\r\n<\/pre>\n<p><strong>\u7f16\u8bd1JDK8\u540c\u7f16\u8bd1JDK7\u4e0d\u540c \uff0c \u5e9f\u5f03\u4e86\u4e00\u4e9b ALT_ \u7684\u4e00\u4e9b\u53c2\u6570<\/strong><\/p>\n<p>\u4f8b\u5982\uff1a\u00a0HOTSPOT_BUILD_JOBS\u3001ALT_PARALLEL_COMPILE_JOBS\u3001ALT_OUTPUTDIR \u65e0\u9700\u518d\u8bbe\u7f6e<\/p>\n<h2>\u4e09\u3001\u5f00\u59cb\u7f16\u8bd1<\/h2>\n<p>\u89e3\u538b\u6e90\u7801\uff0ccd\u5230\u6e90\u7801\u76ee\u5f55 \u3002\u6267\u884c.\/configure \uff0c\u7b14\u8005\u52a0\u4e86\u4e2a\u53c2\u6570\u5f00\u542f\u4e86debug\u6a21\u5f0f<\/p>\n<pre class=\"prettyprint linenums\"><span style=\"color: #800000;\">\r\n[root@iZ2ze1np3s3kfsddhxqr0gZ openjdk]#.\/configure --with-debug-level=fastdebug\r\n<\/span>\r\n#\u6839\u636e\u68c0\u6d4b\u7684\u4fe1\u606f\uff0c\u5982\u679c\u51fa\u73b0\u9519\u8bef\uff0c\u6309\u63d0\u793a\u5b89\u88c5\u9700\u8981\u7684\u4f9d\u8d56\u5373\u53ef\r\n#\u4e00\u5207\u6b63\u5e38\uff0c\u4f1a\u6253\u5370\u51fa\u5982\u4e0b\u4fe1\u606f\uff0c\u5217\u4e3e\u4e86\u5f53\u524d\u7684\u914d\u7f6e\u4fe1\u606f\r\nA new configuration has been successfully created in\r\n\/software\/java\/my-openjdk\/openjdk\/build\/linux-x86_64-normal-server-fastdebug\r\nusing configure arguments '--with-debug-level=fastdebug'.\r\n\r\nConfiguration summary:\r\n* Debug level:    fastdebug\r\n* JDK variant:    normal\r\n* JVM variants:   server\r\n* OpenJDK target: OS: linux, CPU architecture: x86, address length: 64\r\n\r\nTools summary:\r\n* Boot JDK:       java version \"1.7.0_80\" Java(TM) SE Runtime Environment (build 1.7.0_80-b15) Java HotSpot(TM) 64-Bit Server VM \r\n(build 24.80-b11, mixed mode)  (at \/software\/java\/jdk1.7.0_80)\r\n* C Compiler:     gcc (GCC) 4.4.7 20120313 (Red Hat-18) version 4.4.7-18) (at \/usr\/bin\/gcc)\r\n* C++ Compiler:   g++ (GCC) 4.4.7 20120313 (Red Hat-18) version 4.4.7-18) (at \/usr\/bin\/g++)\r\n\r\nBuild performance summary:\r\n* Cores to use:   2\r\n* Memory limit:   15951 MB\r\n* ccache status:  installed and in use\r\n<\/pre>\n<p><span style=\"color: #ff0000;\">\u5982\u679calsa freetype boot-jdk \u7b49\u4f9d\u8d56\u4e0d\u662fyum\u88c5\u7684 \u6216\u8005\u6ca1\u6709\u52a0\u5165\u5230\u73af\u5883\u53d8\u91cf\uff0c\u5219\u9700\u8981configure\u53c2\u6570\u6765\u6307\u5b9a\u5b89\u88c5\u4f4d\u7f6e<\/span><\/p>\n<p>\u6267\u884c\u7f16\u8bd1<\/p>\n<pre class=\"prettyprint linenums\">[root@iZ2ze1np3s3kfsddhxqr0gZ openjdk]#make \r\n<\/pre>\n<p>\u7b49\u5f8520\u5206\u949f\u5de6\u53f3\uff0c\u7f16\u8bd1\u6210\u529f\u5728build\u76ee\u5f55\u4e0b\u751f\u6210\u00a0linux-x86_64-normal-server-fastdebug\u76ee\u5f55<\/p>\n<p><a href=\"http:\/\/www.chenweikang.top\/wp-content\/uploads\/2017\/09\/build-jdk-1.png\" class=\"gallery_colorbox\"><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter size-full wp-image-479\" src=\"http:\/\/www.chenweikang.top\/wp-content\/uploads\/2017\/09\/build-jdk-1.png\"  alt=\"\" width=\"1025\" height=\"489\" srcset=\"https:\/\/www.chenweikang.top\/wp-content\/uploads\/2017\/09\/build-jdk-1.png 1025w, https:\/\/www.chenweikang.top\/wp-content\/uploads\/2017\/09\/build-jdk-1-300x143.png 300w, https:\/\/www.chenweikang.top\/wp-content\/uploads\/2017\/09\/build-jdk-1-768x366.png 768w, https:\/\/www.chenweikang.top\/wp-content\/uploads\/2017\/09\/build-jdk-1-1024x489.png 1024w\" sizes=\"auto, (max-width: 1025px) 100vw, 1025px\" \/><\/a><\/p>\n<p>\u6d4b\u8bd5\u4e0b\uff1a<\/p>\n<pre class=\"prettyprint linenums\">[root@iZ2ze1np3s3kfsddhxqr0gZ build]# cd linux-x86_64-normal-server-fastdebug\/jdk\/bin\/\r\n[root@iZ2ze1np3s3kfsddhxqr0gZ bin]# .\/java -version\r\nopenjdk version \"1.8.0-internal-fastdebug\"\r\nOpenJDK Runtime Environment (build 1.8.0-internal-fastdebug-root_2017_09_14_14_16-b00)\r\nOpenJDK 64-Bit Server VM (build 25.0-b70-fastdebug, mixed mode)\r\n[root@iZ2ze1np3s3kfsddhxqr0gZ bin]# \r\n<\/pre>\n<h2>\u56db\u3001\u9644 \u5f55<\/h2>\n<h3>\u5173\u4e8econfigure\u7684\u4e00\u4e9b\u53c2\u6570\u8bf4\u660e\uff1a<\/h3>\n<p><em><b><code>--enable-debug \u5f00\u542fdubug\u6a21\u5f0f<\/code><\/b><\/em><\/p>\n<p><em><b><code>--with-debug-level=<\/code><\/b>level \u00a0debug\u6a21\u5f0f\u7684\u7b49\u7ea7<\/em><\/p>\n<p><em><b><code>--with-alsa=<\/code><\/b>path \u00a0\u6dfb\u52a0\u4f9d\u8d56\uff0c\u6307\u5b9aalsa\u7684\u4f4d\u7f6e\uff08yum\u5b89\u88c5\u7684alsa\u4e0d\u9700\u8981\u7528\u8fd9\u4e2a\u6307\u5b9a\uff09<\/em><\/p>\n<p><em><b><code>--with-boot-jdk=<\/code><\/b>path boot-jdk\u7684\u4f4d\u7f6e\uff08\u6211\u4eec\u5df2\u914d\u7f6e\u5230\u73af\u5883\u53d8\u91cf\u4e5f\u65e0\u9700\u6307\u5b9a\uff09<\/em><\/p>\n<p><em><b><code>--with-boot-jdk-jvmargs=<\/code><\/b>\"args\" boot-jdk\u7684jvm\u53c2\u6570<\/em><\/p>\n<p><em><b><code>--with-cups=<\/code><\/b>path cups\u7684\u4f4d\u7f6e<\/em><\/p>\n<p><em><b><code>--with-freetype=<\/code><\/b>path\u00a0<b><code>freetype\u7684\u4f4d\u7f6e<\/code><\/b><\/em><\/p>\n<p><em><b><code>--with-target-bits=<\/code><\/b>arg \u00a0\u5982\u679c\u7f16\u8bd132\u4f4d \u53ef\u6307\u5b9a\u4e3a32<\/em><\/p>\n<p><b><code>--with-memory-size=<\/code><\/b><i>size \u00a0\u6307\u5b9aGNU\u7f16\u8bd1\u65f6 \u6240\u9700\u7684RAM\u5927\u5c0f<\/i><\/p>\n<p><strong>\u66f4\u591a\u8bf7\u53c2\u8003 :<\/strong>\u00a0<a href=\"http:\/\/www.chenweikang.top\/wp-content\/uploads\/2017\/09\/README-builds.html\" target=\"_blank\" rel=\"noopener\">README-builds<\/a><\/p>\n<h3>\u7f16\u8bd1\u4e2d\u51fa\u73b0\u7684\u9519\u8bef\uff1a<\/h3>\n<pre class=\"prettyprint linenums\">Generating beaninfo\r\nGenerating Nimbus source files\r\n[Error] encoded value was less than 0: encode(-8.326673E-17, 5.0, 11.0, 16.0)\r\n[Error] encoded value was less than 0: encode(-0.05882353, 1.0, 24.0, 25.0)\r\n[Error] encoded value was greater than 3: encode(15.029411, 1.0, 14.0, 15.0)\r\n[Error] encoded value was less than 0: encode(-0.05882353, 1.0, 24.0, 25.0)\r\n[Error] encoded value was greater than 3: encode(15.029411, 1.0, 14.0, 15.0)\r\n[Error] encoded value was less than 0: encode(-0.05882353, 1.0, 24.0, 25.0)\r\n[Error] encoded value was less than 0: encode(-0.05882353, 1.0, 24.0, 25.0)\r\n[Error] encoded value was greater than 3: encode(15.029411, 1.0, 14.0, 15.0)\r\n[Error] encoded value was less than 0: encode(-0.05882353, 1.0, 24.0, 25.0)\r\n[Error] encoded value was greater than 3: encode(15.029411, 1.0, 14.0, 15.0)\r\n[Error] encoded value was less than 0: encode(-0.05882353, 1.0, 24.0, 25.0)\r\n[Error] encoded value was less than 0: encode(-0.05882353, 1.0, 24.0, 25.0)\r\n[Error] encoded value was greater than 3: encode(15.029411, 1.0, 14.0, 15.0)\r\n[Error] encoded value was less than 0: encode(-0.05882353, 1.0, 24.0, 25.0)\r\n[Error] encoded value was greater than 3: encode(15.029411, 1.0, 14.0, 15.0)\r\n[Error] encoded value was less than 0: encode(-0.05882353, 1.0, 24.0, 25.0)\r\n[Error] Encountered Infinity: encode(-0.00877193, 0.0, 7.0, 7.0)\r\n<\/pre>\n<p>\u67e5\u8be2\u4e0b\uff0c\u8fd9\u662f\u4e2a\u5b98\u65b9\u7684bug\uff0c\u4f3c\u4e4e\u4e0d\u5f71\u54cd\u7ed3\u679c : <a href=\"https:\/\/bugs.openjdk.java.net\/browse\/JDK-8016451\" target=\"_blank\" rel=\"noopener\">https:\/\/bugs.openjdk.java.net\/browse\/JDK-8016451<\/a><\/p>\n<h3>\u8d44\u6e90\u4e0b\u8f7d\uff1a<\/h3>\n<p>\u6e90\u7801\u4e0b\u8f7d\u5730\u5740\uff1a<a href=\"http:\/\/download.java.net\/openjdk\/jdk8\/\" target=\"_blank\" rel=\"noopener\">jdk8 <\/a>\u3001<a href=\"http:\/\/download.java.net\/openjdk\/jdk7\/\" target=\"_blank\" rel=\"noopener\">jdk7<\/a><\/p>\n<p>\u7f16\u8bd1\u53c2\u8003\u6587\u6863\uff1a<a href=\"http:\/\/openjdk.java.net\/groups\/build\/\" target=\"_blank\" rel=\"noopener\">http:\/\/openjdk.java.net\/groups\/build\/<\/a><\/p>\n<p>\u8f6c\u8f7d\u8bf7\u6ce8\u660e\uff1a<a href=\"https:\/\/www.chenweikang.top\">\u5de6\u624b\u4ee3\u7801\u53f3\u624b\u8bd7<\/a> &raquo; <a href=\"https:\/\/www.chenweikang.top\/?p=478\">CentOS7\u4e0a\u7f16\u8bd1JDK8<\/a><\/p><div class=\"__youshang\">\r\n            <div id=\"__youshang_popup\" class=\"wechat popup\" style=\"display: none;\">\r\n                <div class=\"head\">~\u8c22\u8c22\u6253\u8d4f~<\/div>\r\n                <div class=\"qrcode\"><div class=\"qrcode-li wechat\" ><img src=\"https:\/\/www.chenweikang.top\/wp-content\/uploads\/2019\/07\/wexin.png\" \/><\/div><div class=\"qrcode-li alipay\" style=\"display:none;\"><img src=\"https:\/\/www.chenweikang.top\/wp-content\/uploads\/2019\/07\/ali-pay.png\" \/><\/div><div class=\"qrcode-li hongbao\" style=\"display:none;\"><img src=\"https:\/\/www.chenweikang.top\/wp-content\/uploads\/2019\/07\/ali-hongbao.png\" \/><\/div><\/div>\r\n                <ul class=\"platform\"><li class=\"icon-wechat active\" data-bg-color=\"#05af4e\" data-thanks=\"~\u8c22\u8c22\u6253\u8d4f~\"><\/li><li class=\"icon-alipay \" data-bg-color=\"#00a2ea\" data-thanks=\"~\u8c22\u8c22\u6253\u8d4f~\"><\/li><li class=\"icon-hongbao \" data-bg-color=\"#dd5746\" data-thanks=\"<p>\u626b\u7801\u9886\u7ea2\u5305<\/p><p style='margin-top: 24px;'>\uff08\u4f59\u989d\u5b9d\u652f\u4ed8\u65f6\u53ef\u62b5\u73b0\uff09<\/p>\"><\/li><\/ul>\r\n            <\/div>\r\n            <a href=\"javascript:void(0);\" id=\"__youshang_btn\">\u8d4f<\/a>\r\n        <\/div>","protected":false},"excerpt":{"rendered":"<p>\u4e00\u3001\u83b7\u53d6JDK8\u6e90\u7801 \u4e24\u79cd\u65b9\u5f0f\u83b7\u53d6\u6e90\u7801 1.\u76f4\u63a5\u4eceopenjdk\u8d44\u6e90\u5e93clone yum install hg [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":479,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[8],"tags":[20],"class_list":["post-478","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-java","tag-java"],"_links":{"self":[{"href":"https:\/\/www.chenweikang.top\/index.php?rest_route=\/wp\/v2\/posts\/478","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.chenweikang.top\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.chenweikang.top\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.chenweikang.top\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.chenweikang.top\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=478"}],"version-history":[{"count":0,"href":"https:\/\/www.chenweikang.top\/index.php?rest_route=\/wp\/v2\/posts\/478\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.chenweikang.top\/index.php?rest_route=\/wp\/v2\/media\/479"}],"wp:attachment":[{"href":"https:\/\/www.chenweikang.top\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=478"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.chenweikang.top\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=478"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.chenweikang.top\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=478"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}