Perl error - called too early to check prototype

Perl Subroutine

One common error Perl beginners come through is : "main::fun() called too early to check prototype at file.pl"

You might have declared the function as:

sub fun() {
}

Correct way to declare it is

sub fun {
}

Grails native2ascii Error

Error executing script RunApp: : Error starting Sun's native2ascii: 
gant.TargetExecutionException: : Error starting Sun's native2ascii: 


Getting the following error
----------------------------------------------------------------------------------------------

Error executing script RunApp: : Error starting Sun's native2ascii: 
gant.TargetExecutionException: : Error starting Sun's native2ascii: 
        at gant.Gant$_dispatch_closure4.doCall(Gant.groovy:331)
        at gant.Gant$_dispatch_closure6.doCall(Gant.groovy:334)
        at gant.Gant$_dispatch_closure6.doCall(Gant.groovy)
        at gant.Gant.withBuildListeners(Gant.groovy:344)
        at gant.Gant.this$2$withBuildListeners(Gant.groovy)
        at gant.Gant$this$2$withBuildListeners.callCurrent(Unknown Source)
        at gant.Gant.dispatch(Gant.groovy:334)
        at gant.Gant.this$2$dispatch(Gant.groovy)
        at gant.Gant.invokeMethod(Gant.groovy)
        at gant.Gant.processTargets(Gant.groovy:495)
        at gant.Gant.processTargets(Gant.groovy:480)
Caused by: : Error starting Sun's native2ascii: 
        at org.apache.tools.ant.taskdefs.optional.native2ascii.SunNative2Ascii.run(SunNative2Ascii.java:67)
        at org.apache.tools.ant.taskdefs.optional.native2ascii.DefaultNative2Ascii.convert(DefaultNative2Ascii.java:54)
        at org.apache.tools.ant.taskdefs.optional.Native2Ascii.convert(Native2Ascii.java:268)
        at org.apache.tools.ant.taskdefs.optional.Native2Ascii.execute(Native2Ascii.java:227)
        at org.apache.tools.ant.dispatch.DispatchUtils.execute(DispatchUtils.java:105)
        at org.apache.tools.ant.Task.perform(Task.java:348)
        at _GrailsPackage_groovy$_run_closure2_closure13.doCall(_GrailsPackage_groovy:108)
        at _GrailsPackage_groovy$_run_closure2_closure13.doCall(_GrailsPackage_groovy)
        at _GrailsSettings_groovy$_run_closure10.doCall(_GrailsSettings_groovy:274)
        at _GrailsSettings_groovy$_run_closure10.call(_GrailsSettings_groovy)
        at _GrailsPackage_groovy$_run_closure2.doCall(_GrailsPackage_groovy:107)
        at RunApp$_run_closure1.doCall(RunApp:28)
        at gant.Gant$_dispatch_closure4.doCall(Gant.groovy:324)
        ... 10 more
Caused by: java.lang.ClassNotFoundException: sun.tools.native2ascii.Main
        at org.codehaus.groovy.tools.RootLoader.findClass(RootLoader.java:156)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:306)
        at org.codehaus.groovy.tools.RootLoader.loadClass(RootLoader.java:128)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:251)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:319)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:164)
        at org.apache.tools.ant.taskdefs.optional.native2ascii.SunNative2Ascii.run(SunNative2Ascii.java:51)
        ... 22 more
----------------------------------------------------------------------------------------------


Solution


Edit the "Config.groovy" file located in grails-app/conf


change "grails.enable.native2ascii = true" to "grails.enable.native2ascii = false"