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

7 Comments

我这么寻思啊,在各种伟大的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有助于取暖。

顺藤摸瓜

  1. [浅读openjdk7] 0. 获取openjdk7源代码
  2. [浅读openjdk6] 0. 获取openjdk6源代码
  3. [浅读openjdk6] 1. 构建openjdk6

7 Comments (+add yours?)

  1. sammychen
    Apr 07, 2011 @ 18:21:11

    期待下一篇。

    Reply

    • IUSR
      Apr 08, 2011 @ 23:56:14

      哎,见笑见笑…

      Reply

  2. googya
    Dec 28, 2011 @ 18:40:36

    我倒是没有你这么好的命呀。。。我这里编译的时候出错了:
    /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

    Reply

    • IUSR
      Jan 01, 2012 @ 01:54:55

      呃,都是乱码?像是文件编码的问题。

      Reply

      • googya
        Jan 12, 2012 @ 16:46:16

        乱码的问题解决了:我装了个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下搞了半天还没弄好。。。

        Reply

        • IUSR
          Jan 16, 2012 @ 13:01:48

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

          Reply

Leave a Reply