Netbeans 3.6Beta runide.sh fails on FreeBSD 5.2R

Marc van Kempen marc at bowtie.nl
Fri Feb 13 11:25:15 PST 2004


On Friday 13 February 2004 19:48, Greg Lewis wrote:
> On Fri, Feb 13, 2004 at 06:36:17PM +0100, Markus Svensson wrote:
> > I'm a member of the Netbeans 3.6 Community Acceptance Program (fancy word
> > for bug hunter, I guess). I'm experiencing some issues with the runide.sh
> > launcher script, which I hoped would be resolved by the Netbeans
> > developers. But it appears that it won't be fixed, since fixing the
> > script breaks it from MacOS X and Linux users. Anyone interested, please
> > check out the discussion at
> > http://www.netbeans.org/issues/show_bug.cgi?id=39830 and perhaps somebody
> > can explain to me what why the JDK's on different platforms don't support
> > the same parameters?
>
> I read the bug, and it doesn't look like it has anything to do with the
> JDKs using different parameters.  It looks like it has everything to do
> with different syntaxes for the expr utility.
>
> Here is the issue (from expr(1)):
>
> Unless FreeBSD 4.x compatibility is enabled, this version of expr adheres
> to the POSIX Utility Syntax Guidelines, which require that a leading
> argument beginning with a minus sign be considered an option to the
> program.  The standard -- syntax may be used to prevent this
> interpretation.
>
> e.g.
>
> > expr -J-Xms24m : '-J\(.*\)'
>
> expr: illegal option -- J
> usage: expr [-e] expression
>
> However, note the first part of the quote from the man page!  So, a
> possibly solution is for runide.sh to set the EXPR_COMPAT environment
>
> variable.  Then things will work, e.g.:
> > env EXPR_COMPAT=1 expr -J-Xms24m : '-J\(.*\)'
>
> -Xms24m
>
> So, I would suggest adding these two lines to the script:
>
> EXPR_COMPAT=1
> export EXPR_COMPAT
>
> Then it will (hopefully) work on FreeBSD.
>
> I will note strongly that its Linux and OSX which are broken in this
> respect though.  FreeBSD is POSIX compliant, they are not.

Another possible solution, that also works on Mac OSX and Linux is:

expr X-J-Xms24m : 'X-J\(.*\)'

Regards,
Marc.


More information about the freebsd-java mailing list