FacebookTwitter

[浅读openjdk7] 1. 构建openjdk7 @Mac

By on Apr 4, 2011 in 技术文章 | 6 comments

Share On GoogleShare On FacebookShare On Twitter

我这么寻思啊,在各种伟大的Linux这种对开发人员这么友好的OS们里面,一切构建方面的问题都是纸老虎。也因为目前手里没方便的Linux机器(其实公司里有一台,外加跑着blog的VPS,就是嫌麻烦…),所以怎么在Linux上面折腾build openjdk7就不废话了,应该比起openjdk6来说不会复杂太多的吧,参考 [浅读openjdk6] 1. 构建openjdk6 。在Windows上嘛,谁乐意折腾谁折腾去吧…反正build完了debug时也不是很爽。

其实今时今日Mac用户也算赶上好时候了,因为Oracle和Apple关于OpenJDK项目合作的事情似乎进行还不错,所以Oracle这边厢似乎也投入了不少,最明显的,NND终于看到像样的官方指导了!—— Mac OS X Port。这么一来build完全不构成任何问题了,ALLOW_DOWNLOADS=true 了以后连一些依赖项都会被自动下载了…

但是,我还是碰见了一个问题:那是编译corba子项目下自动生成的代码的时候,因为文件编码的问题会失败——就这么一个问题,也在 OpenJDK for Mac OS X 这篇日本语blog里描述并解决了,而且还被人在 Mac OS X Port 这篇wiki上主动留了下链接…就是那个通过设置环境变量 _JAVA_OPTIONS=-Dfile.encoding=ASCII 搞定的那部分。至于这位 dolduke 提到的其他几个问题我反正还没遇到。

感慨现在命真好的同时也确实没神马成就感了。

P.S.,春天晚上还是比较冷啊,build一下openjdk有助于取暖。

6 Comments

  1. googya

    12/28/2011

    Post a Reply

    我倒是没有你这么好的命呀。。。我这里编译的时候出错了:
    /Users/fumishinsheng/macosx-port/build/macosx-universal/../macosx-universal-debug/corba/gensrc/org/omg/PortableServer/AdapterActivatorOperations.java:8: ????: ????ascii?IJ???ӳ???ַ?
    * 2011??12??28?? ?????? ????06??36??57?? CST
    ^
    100 ??????
    make[6]: *** [.compile.classlist] Error 1
    make[5]: *** [build] Error 1
    make[4]: *** [build] Error 1
    make[3]: *** [build] Error 1
    make[2]: *** [corba-build] Error 2
    make[1]: *** [generic_debug_build] Error 2
    make: *** [build_debug_image] Error 2

      • googya

        01/12/2012

        Post a Reply

        乱码的问题解决了:我装了个jdk8,然后编译openjdk的fastdebug版本。后面居然出现以下问题:Caused by: java.lang.RuntimeException: Unexpected error: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty
        at sun.security.validator.PKIXValidator.(PKIXValidator.java:90)
        at sun.security.validator.Validator.getInstance(Validator.java:179)
        at sun.security.ssl.X509TrustManagerImpl.getValidator(X509TrustManagerImpl.java:314)
        at sun.security.ssl.X509TrustManagerImpl.checkTrustedInit(X509TrustManagerImpl.java:173)
        at sun.security.ssl.X509TrustManagerImpl.checkTrusted(X509TrustManagerImpl.java:186)
        at sun.security.ssl.X509TrustManagerImpl.checkServerTrusted(X509TrustManagerImpl.java:126)
        at sun.security.ssl.ClientHandshaker.serverCertificate(ClientHandshaker.java:1319)
        at sun.security.ssl.ClientHandshaker.processMessage(ClientHandshaker.java:154)
        at sun.security.ssl.Handshaker.processLoop(Handshaker.java:868)
        at sun.security.ssl.Handshaker.process_record(Handshaker.java:804)
        at sun.security.ssl.SSLSocketImpl.readRecord(SSLSocketImpl.java:964)
        at sun.security.ssl.SSLSocketImpl.performInitialHandshake(SSLSocketImpl.java:1260)
        at sun.security.ssl.SSLSocketImpl.startHandshake(SSLSocketImpl.java:1287)
        … 7 more
        Caused by: java.security.InvalidAlgorithmParameterException: the trustAnchors parameter must be non-empty
        at java.security.cert.PKIXParameters.setTrustAnchors(PKIXParameters.java:200)
        at java.security.cert.PKIXParameters.(PKIXParameters.java:120)

        应该是证书之类的问题吧。。。mac下搞了半天还没弄好。。。

        • IUSR

          01/16/2012

          Post a Reply

          应该是吧,反正自打Oracle接管以后,java.net和kenai.com上某些项目的SSL证书总是出问题。
          哎,没有遇到过这个问题了,也不知道有没有什么直接命令可以忽略这种错误,祝你好运吧 :S

Trackbacks/Pingbacks

  1. 自己动手编译 OpenJDK @Mac - [...] https://wikis.oracle.com/display/OpenJDK/Mac+OS+X+Port http://blog.iusr.me/2011/04/openjdk7-building-on-a-mac/ This entry was posted in Java Virtual Machine. Bookmark the permalink. Post a comment or…

Submit a Comment

Your email address will not be published. Required fields are marked *

This site uses Akismet to reduce spam. Learn how your comment data is processed.