This Bugzilla instance is a read-only archive of historic NetBeans bug reports. To report a bug in NetBeans please follow the project's instructions for reporting issues.

Bug 203402 - netbeans won't install on OSX Lion with latest Java VM
Summary: netbeans won't install on OSX Lion with latest Java VM
Status: VERIFIED FIXED
Alias: None
Product: installer
Classification: Unclassified
Component: Mac Native (show other bugs)
Version: 7.1
Hardware: Macintosh Mac OS X
: P3 normal (vote)
Assignee: Jiri Rechtacek
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-10-10 01:10 UTC by athompson
Modified: 2013-04-12 15:33 UTC (History)
5 users (show)

See Also:
Issue Type: DEFECT
Exception Reporter:


Attachments
install won't let you select hard drive (169.34 KB, image/png)
2011-10-10 01:10 UTC, athompson
Details

Note You need to log in before you can comment on or make changes to this bug.
Description athompson 2011-10-10 01:10:18 UTC
Created attachment 111737 [details]
install won't let you select hard drive

The installer won't let you install to the hard drive.  This seems to only affect newer Macs, which came pre-installed with Lion (or Macs with a clean install of Lion ) and with the latest Apple JVM (build 1.6.0_27).  Macs which had the old JVM (this includes all Snow Leopard) have no problem installing, even if the've since upgraded to Lion or the new JVM.  See attached image of dialog.

I don't know if this is related, but I I noticed on Lion there is no longer a folder "/System/Library/Java/JavaVirtualMachine".  I tried creating a link from "/Library/Java/JavaVirtualMachine" (where the VM was installed) but that didn't work.

If you know of a solution or workaround, or have any suggestions to try, please let me know, preferably ASAP.  If you know what the installer is checking for but not finding please let me know so I can come up with a workaround.  If you need any additional information please ask.


kalyke:~ alvin$ /usr/libexec/java_home -v 1.6
/Library/Java/JavaVirtualMachines/1.6.0_27-b07-395.jdk/Contents/Home

kalyke:~ alvin$ /usr/libexec/java_home -v 1.6 --exec java -version
java version "1.6.0_27"
Java(TM) SE Runtime Environment (build 1.6.0_27-b07-395-11M3515)
Java HotSpot(TM) 64-Bit Server VM (build 20.2-b06-395, mixed mode)
Comment 1 Yulia Novozhilova 2011-10-10 14:30:45 UTC
Unfortunately I don't have Lion yet, but where did you download the jdk 1.6.0_27? The only jdk for Lion I can find is 1.6.0_26[1] and installer works fine with it.
[1] http://support.apple.com/kb/DL1421
Comment 2 athompson 2011-10-10 14:49:13 UTC
I got it from the apple developer site.  Like many things Apple, if you're a registered (paying) developer, you have access to things before they're released to the lowly masses.  This does however appear to be the final release that will go out to the public.

https://developer.apple.com/downloads/index.action

(on page 3)
Comment 3 athompson 2011-10-10 14:53:37 UTC
Uh-oh, I just installed the older version of Java (1.6.0_26)  and I have the same problem, so it looks like it just won't work on pre-installed Lion at all.  Is there anything I can try?
Comment 4 athompson 2011-10-10 20:15:19 UTC
This is a Lion error.  The Lion versions of the Java developer packages incorrectly set a symbolic link from "/System/Library/Frameworks/JavaVM.framework/Versions/CurrentJDK" to "/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents" (which doesn't exist on Lion).  Setting this link to "/Library/Java/JavaVirtualMachines/1.6.0_27-b07-395.jdk/Contents" fixes the problem.

Feel free to resolve as invalid, although the installer may want to check for this error until it gets fixed.

So I can figure out the best way to fix, can you run the following command for me on Snow Leopard?


ls -l  /System/Library/Java/JavaVirtualMachines/


Thanks.
Comment 5 Yulia Novozhilova 2011-10-11 13:04:41 UTC
I don't have this folder on my machine.

dhcp-stpetersburg-2fl-10-162-81-184:~ juli$ ls -l  /System/Library/Frameworks/JavaVM.framework/Versions/
total 64
lrwxr-xr-x  1 root  wheel    5  1 июл  2010 1.3 -> 1.3.1
drwxr-xr-x  3 root  wheel  102 21 июл  2009 1.3.1
lrwxr-xr-x  1 root  wheel   10  1 июл  2010 1.4 -> CurrentJDK
lrwxr-xr-x  1 root  wheel   10  1 июл  2010 1.4.2 -> CurrentJDK
lrwxr-xr-x  1 root  wheel   10  1 июл  2010 1.5 -> CurrentJDK
lrwxr-xr-x  1 root  wheel   10  1 июл  2010 1.5.0 -> CurrentJDK
lrwxr-xr-x  1 root  wheel    5  1 июл  2010 1.6 -> 1.6.0
drwxr-xr-x  8 root  wheel  272  7 июн  2010 1.6.0
drwxr-xr-x  9 root  wheel  306  1 июл  2010 A
lrwxr-xr-x  1 root  wheel    1  1 июл  2010 Current -> A
lrwxr-xr-x  1 root  wheel    3  1 июл  2010 CurrentJDK -> 1.6


I suppose "/System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents" should point to "/Library/Java/JavaVirtualMachines/1.6.0_27-b07-395.jdk/Contents". It is strange that it doesn't even exist. I'll see if I can fix it somehow in installer script. Thank you for filing the bug.
Comment 6 athompson 2011-10-11 14:53:38 UTC
I imagine they removed "JavaVirtualMachines" from "/System/Library/Java" because [1] it's no longer required by OSX (or installed by default) so it shouldn't be in "System" and [2] it was too confusing having the main VM there and other VMs in "/Library/Java".
Comment 7 PaulAsgteach 2011-12-29 23:18:53 UTC
I have a new Mac Book Pro with OS X Lion 10.7.2 and tried to install NetBeans 7.1 RC2 the first time.  The installer failed.  Here is what I did to fix the problem.

1.  At some point Apple changed the JDK path and it wasn't picked up in the installer.  Since I am installing NetBeans on a new Mac with OS X Lion 10.7.2, I was affected by this change.

2.  The /var/log/install.log indicated what the problems were. The modified 
JDK pathname causes two problems:  the installer can't find the JDK and the 
installer can't locate a specific file (unpack200).

3.  The fix is to setup symbolic links so that the installer can find these 
files.  Here's what I did in a terminal window on my Mac.

   $ cd /System/Library/Frameworks/JavaVM.framework/Versions
   $ rm CurrentJDK
   $ sudo ln -s /Library/Java/JavaVirtualMachines/
   1.6.0_30-b12-404.jdk/Contents/Home CurrentJDK

   $ cd /System/Library/Frameworks/JavaVM.framework/Versions/1.6
   $ sudo ln -s 
   /System/Library/Frameworks/JavaVM.framework/Versions/1.6 Home

After creating these symbolic links, the installer worked fine.
Comment 8 Jesse Glick 2012-01-03 17:57:47 UTC
If too late for 7.1, needs to be fixed in 7.1.1 & 7.2 and mentioned in release notes for 7.1.
Comment 9 Jiri Rechtacek 2012-01-09 14:49:38 UTC
I did a fresh install of OS X Lion on MacBook Pro and there is no Java bundled in fresh Lion layout. When I tried to run NetBeans 7.1 IDE I got as same image as 1st image in this issue. Then I typed java in terminal and system told me Java is not present and offered to download&install. After that I can run IDE installation w/o any problem.
Before Java installation files layout looks like this:

dhcp-prague08-second-floor-10-163-21-197:JavaVM.framework lion$ ls -l
total 56
lrwxr-xr-x   1 root  wheel   27 Jan  9 10:39 Classes -> Versions/CurrentJDK/Classes
lrwxr-xr-x   1 root  wheel   28 Jan  9 10:39 Commands -> Versions/CurrentJDK/Commands
lrwxr-xr-x   1 root  wheel   27 Jan  9 10:39 Frameworks -> Versions/Current/Frameworks
lrwxr-xr-x   1 root  wheel   24 Jan  9 10:39 Home -> Versions/CurrentJDK/Home
lrwxr-xr-x   1 root  wheel   23 Jan  9 10:39 JavaVM -> Versions/Current/JavaVM
lrwxr-xr-x   1 root  wheel   29 Jan  9 10:39 Libraries -> Versions/CurrentJDK/Libraries
lrwxr-xr-x   1 root  wheel   26 Jan  9 10:39 Resources -> Versions/Current/Resources
drwxr-xr-x  11 root  wheel  374 Jan  9 10:39 Versions
dhcp-prague08-second-floor-10-163-21-197:JavaVM.framework lion$ cd Versions/
dhcp-prague08-second-floor-10-163-21-197:Versions lion$ ls -l
total 64
lrwxr-xr-x  1 root  wheel   10 Jan  9 10:39 1.4 -> CurrentJDK
lrwxr-xr-x  1 root  wheel   10 Jan  9 10:39 1.4.2 -> CurrentJDK
lrwxr-xr-x  1 root  wheel   10 Jan  9 10:39 1.5 -> CurrentJDK
lrwxr-xr-x  1 root  wheel   10 Jan  9 10:39 1.5.0 -> CurrentJDK
lrwxr-xr-x  1 root  wheel   10 Jan  9 10:39 1.6 -> CurrentJDK
lrwxr-xr-x  1 root  wheel   10 Jan  9 10:39 1.6.0 -> CurrentJDK
drwxr-xr-x  7 root  wheel  238 Jan  9 10:39 A
lrwxr-xr-x  1 root  wheel    1 Jan  9 10:39 Current -> A
lrwxr-xr-x  1 root  wheel   59 Jan  9 10:39 CurrentJDK -> /System/Library/Java/JavaVirtualMachines/1.6.0.jdk/Contents
dhcp-prague08-second-floor-10-163-21-197:Versions lion$ java
No Java runtime present, requesting install.


IMHO I don't see any reason what we can fix on NB side.
Comment 10 ylsine 2012-01-11 22:50:32 UTC
After mucking with some of the sym link foo listed here, I checked the apple site and found a Java update for Lion:

    http://support.apple.com/kb/DL1421
    Version: 1.0
    Post Date: November 08, 2011
    Download ID: DL1421
    File Size: 62.53 MB

Installing this fixed the issue for the 7.1 installer (netbeans-7.0.1-ml-php-macosx.dmg)
Comment 11 jwatt 2012-01-19 20:44:00 UTC
Hmm, I think Apple has been cheating and overwritten that November 08 download more recently than November 08. That is *exactly* the update I installed when setting up my Lion machine in late December, yet I still got the issues described in this bug report.

I decided to give reinstalling that Java update a go before messing with paths, and hurray, NetBeans 7.1 installer magically works. So just a heads up for anyone else - even if you think that's the Java update you have, try reinstalling it.

And just so that Google will have a better chance of returning this bug report and the solution described above (it doesn't seem to currently), here's the actual installer message:

  Netbeans 7.1 can't be installed on this disk. The software
  can be installed and work only with Java 6. Please
  download and install Java 6 for your system from http://
  support.apple.com/downloads.
Comment 12 athompson 2012-02-06 15:15:15 UTC
Just a heads up, this seems to have come back with the OSX 10.7.3 upgrade, except now installing java again doesn't work.
Comment 13 jarome 2012-03-14 23:25:49 UTC
I just got a brand new Mac pro, and Java updated itself, and I also cannot install 7.1.1
Comment 14 Antonin Nebuzelsky 2012-03-16 13:06:27 UTC
Tomas, Marian, can QA reproduce??? Thanks.
Comment 15 athompson 2012-04-19 16:35:14 UTC
I'm leaning toward reopening this now that I better understand what's going on in OSX.  There are two types of Java installs:  a "Runtime" type install that goes under /System/Library/Java and a "Developer Tools" type install that goes under /Library/Java.  If you try to run a java application, OSX volunteers to install the Runtime, but if you go to the download site you can get the Developer Tools.  The Runtime install just so happens to work for Netbeans because it happens to currently include the JDK tools as well (minus the javadocs, source and some libs).

I think this issue should be reopened for several reasons:
- It's reasonable to expect that a java IDE would work with the official Java Developer Tools for OSX.  In fact, Netbeans should probably *not* allow an install on systems just containing the Runtime (the stuff in /System/Library/Java) for reasons given below.
- Even though Netbeans won't install on systems which just contain the Developer Tools and no Runtime, it runs fine this way.  If fact, it's works better because the Developer Tools also include the source, javadocs, and other development libraries not included in the Runtime.
- The Runtime gets removed every time you do an OSX upgrade, rendering Netbeans inoperable (if the Developer Tools are not also installed).
- Since the Runtime does not need items like "javac", Apple could remove them at any time.  In fact, I'm going to recommend that they remove javac and its companions because it is a security risk to include compilation tools in the default runtime.
Comment 16 Jiri Rechtacek 2012-04-23 10:48:28 UTC
Since upcoming NetBeans 7.1.2 IDE doesn't require "Runtime" type of Java installation only. It can run on any other type of Java installation, thus IDE users will not be affected by "Runtime" type of Java installation that might be removed while system upgrade. (IMHO the priority should descrease)

IDE installer requires either "Runtime" type of Java installation only or also allows to install with JDK7 Preview for Developers. In the case Java installation is missing on both places, then the users get a how-to install Java and continue with IDE installation.
Comment 17 athompson 2012-04-23 22:15:14 UTC
I'm not sure I understand the comments in comment 16, but I do know that I've tested recent daily builds and this is still a problem.  That is, if I just have Apple's OSX developer package installed, the Netbeans install cannot be completed.  If there were changes that fix this in 7.1.2 they would also be in the daily builds, wouldn't they?  Additionally, the daily builds still allow installs where just the Runtime is present.  The problem with that is the Runtime gets removed on OSX upgrades and Netbeans stops working.
Comment 18 Jiri Rechtacek 2012-04-24 09:10:26 UTC
(In reply to comment #17)
> I'm not sure I understand the comments in comment 16, but I do know that I've
> tested recent daily builds and this is still a problem.  That is, if I just
> have Apple's OSX developer package installed, the Netbeans install cannot be
> completed.  If there were changes that fix this in 7.1.2 they would also be in
> the daily builds, wouldn't they?
Right.

>  Additionally, the daily builds still allow
> installs where just the Runtime is present.
No, JDK7 Preview is enough for install IDE.

> The problem with that is the
> Runtime gets removed on OSX upgrades and Netbeans stops working.
It doesn't. NetBeans launcher checks what /usr/libexec/java_home. If /usr/libexec/java_home returns anything, IDE starts normally.
Comment 19 athompson 2012-04-24 13:58:55 UTC
That's my point! /usr/libexec/java_home will not return anything after an OSX upgrade, if all you had was the runtime installed.

Also Netbeans still doesn't allow you to install if you have the OSX Java Developer Tools but no Runtime installed.
Comment 20 athompson 2013-04-12 15:32:53 UTC
yup