{"action":"created","issue":{"url":"https://api.github.com/repos/uwescience/myria/issues/745","labels_url":"https://api.github.com/repos/uwescience/myria/issues/745/labels{/name}","comments_url":"https://api.github.com/repos/uwescience/myria/issues/745/comments","events_url":"https://api.github.com/repos/uwescience/myria/issues/745/events","html_url":"https://github.com/uwescience/myria/pull/745","id":76595620,"number":745,"title":"Setting bootclasspath for cross-compiling on Java 8.","user":{"login":"senderista","id":131425,"avatar_url":"https://avatars.githubusercontent.com/u/131425?v=3","gravatar_id":"","url":"https://api.github.com/users/senderista","html_url":"https://github.com/senderista","followers_url":"https://api.github.com/users/senderista/followers","following_url":"https://api.github.com/users/senderista/following{/other_user}","gists_url":"https://api.github.com/users/senderista/gists{/gist_id}","starred_url":"https://api.github.com/users/senderista/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/senderista/subscriptions","organizations_url":"https://api.github.com/users/senderista/orgs","repos_url":"https://api.github.com/users/senderista/repos","events_url":"https://api.github.com/users/senderista/events{/privacy}","received_events_url":"https://api.github.com/users/senderista/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":{"login":"jingjingwang","id":2280236,"avatar_url":"https://avatars.githubusercontent.com/u/2280236?v=3","gravatar_id":"","url":"https://api.github.com/users/jingjingwang","html_url":"https://github.com/jingjingwang","followers_url":"https://api.github.com/users/jingjingwang/followers","following_url":"https://api.github.com/users/jingjingwang/following{/other_user}","gists_url":"https://api.github.com/users/jingjingwang/gists{/gist_id}","starred_url":"https://api.github.com/users/jingjingwang/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/jingjingwang/subscriptions","organizations_url":"https://api.github.com/users/jingjingwang/orgs","repos_url":"https://api.github.com/users/jingjingwang/repos","events_url":"https://api.github.com/users/jingjingwang/events{/privacy}","received_events_url":"https://api.github.com/users/jingjingwang/received_events","type":"User","site_admin":false},"milestone":null,"comments":4,"created_at":"2015-05-15T05:05:39Z","updated_at":"2015-05-18T21:52:09Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/uwescience/myria/pulls/745","html_url":"https://github.com/uwescience/myria/pull/745","diff_url":"https://github.com/uwescience/myria/pull/745.diff","patch_url":"https://github.com/uwescience/myria/pull/745.patch"},"body":"After compiling Myria binaries on my laptop with Java 8 installed, I got mysterious errors after deployment which turned out to be due to not setting the `-bootclasspath` option to` javac`. See this article for explanation: https://blogs.oracle.com/darcy/entry/how_to_cross_compile_for. To cross-compile correctly from a newer JDK version to an older one, it is not enough to set `-source` and `-target` options as we do currently; we also have to set the boot classpath (where the `javac` class loader looks for \"bootstrap\" libraries). With this change, to build Myria on a system with Java 8 installed, you must install JDK 7 and set the `JAVA7_HOME` environment variable to the location of your JDK. On a Mac, this can be done properly by adding the following to your `.zshenv` or `.bashrc`:\r\n`export JAVA7_HOME=$(/usr/libexec/java_home -v 1.7)`"},"comment":{"url":"https://api.github.com/repos/uwescience/myria/issues/comments/103224188","html_url":"https://github.com/uwescience/myria/pull/745#issuecomment-103224188","issue_url":"https://api.github.com/repos/uwescience/myria/issues/745","id":103224188,"user":{"login":"senderista","id":131425,"avatar_url":"https://avatars.githubusercontent.com/u/131425?v=3","gravatar_id":"","url":"https://api.github.com/users/senderista","html_url":"https://github.com/senderista","followers_url":"https://api.github.com/users/senderista/followers","following_url":"https://api.github.com/users/senderista/following{/other_user}","gists_url":"https://api.github.com/users/senderista/gists{/gist_id}","starred_url":"https://api.github.com/users/senderista/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/senderista/subscriptions","organizations_url":"https://api.github.com/users/senderista/orgs","repos_url":"https://api.github.com/users/senderista/repos","events_url":"https://api.github.com/users/senderista/events{/privacy}","received_events_url":"https://api.github.com/users/senderista/received_events","type":"User","site_admin":false},"created_at":"2015-05-18T21:52:09Z","updated_at":"2015-05-18T21:52:09Z","body":"I've tried the other approach of setting JAVA_HOME to the non-default JDK for a particular build and it was far more trouble than this cross-compiling approach."}}