Package not compiling

I am trying to compile a package, it takes long time to compile how can I check the session that is blocking it ?

user650888 wrote:
I am trying to compile a package, it takes long time to compile how can I check the session that is blocking it ?It is probably you that is blocking it.
If procedure does DML, package can not be changed while uncommitted DML exists.
One way to clear the log jam is to terminate all sessions & then start a new session that compiles the code.

Similar Messages

  • Package Not Compiled?

    I am trying to INSERT into a table that is called LMR_TENANTS. When I try to INSERT via Oracle APEX I get the following error:
    >
    ORA-04063: package body "LILLEYMAN.CG$LMR_TENANTS" has errors ORA-06508: PL/SQL: could not find program unit being called: "LILLEYMAN.CG$LMR_TENANTS" ORA-06512: at "LILLEYMAN.CG$BIS_LMR_TENANTS", line 1 ORA-04088: error during execution of trigger 'LILLEYMAN.CG$BIS_LMR_TENANTS'
    I assume this is because the package it is referring to is not compiled properly.
    If I got to the actual package it is referring to, I see it has the following errors:
    >
    Line Position Text
    19 8 PLS-00201: identifier 'LMR_TENANTS' must be declared
    19 8 PL/SQL: Declaration ignored
    23 16 PLS-00320: the declaration of the type of this expression is incomplete or malformed
    22 1 PL/SQL: Declaration ignored
    51 16 PLS-00320: the declaration of the type of this expression is incomplete or malformed
    50 1 PL/SQL: Declaration ignored
    56 32 PLS-00201: identifier 'LMR_TENANTS' must be declared
    56 1 PL/SQL: Declaration ignored
    Here is a link to a pastebin of the package, since it is rather large. This is something that has been generated by Oracle APEX.
    I am unable to understand why I am getting this error at all.
    http://pastebin.com/m58df134a
    Any ideas as to what the problem may be? What I should try to do to fix it?
    Edited by: apexdev88 on 10-Aug-2009 03:33

    I figured out that apparrently LMR_TENANTS was not owned by the schema.
    Now I am getting the following error in relation to the package body:
    22 20 PLS-00201: identifier 'CG$ERRORS.MSGGETTEXT' must be declared
    22 5 PL/SQL: Statement ignored
    27 20 PLS-00201: identifier 'CG$ERRORS.RAISE_FAILURE' must be declared
    27 20 PL/SQL: Statement ignored
    40 20 PLS-00201: identifier 'CG$ERRORS.MSGGETTEXT' must be declared
    40 5 PL/SQL: Statement ignored
    45 5 PLS-00201: identifier 'CG$ERRORS.RAISE_FAILURE' must be declared
    45 5 PL/SQL: Statement ignored
    74 7 PLS-00201: identifier 'CG$ERRORS.PUSH' must be declared
    74 7 PL/SQL: Statement ignored
    76 7 PLS-00201: identifier 'CG$ERRORS.RAISE_FAILURE' must be declared
    76 7 PL/SQL: Statement ignored
    90 5 PLS-00201: identifier 'CG$ERRORS.PUSH' must be declared
    90 5 PL/SQL: Statement ignored
    92 5 PLS-00201: identifier 'CG$ERRORS.RAISE_FAILURE' must be declared
    92 5 PL/SQL: Statement ignored
    110 24 PLS-00201: identifier 'CG$ERRORS.MSGGETTEXT' must be declared
    110 9 PL/SQL: Statement ignored
    117 24 PLS-00201: identifier 'CG$ERRORS.MSGGETTEXT' must be declared
    117 9 PL/SQL: Statement ignored
    22 20 PLS-00201: identifier 'CG$ERRORS.MSGGETTEXT' must be declared
    22 5 PL/SQL: Statement ignored
    27 20 PLS-00201: identifier 'CG$ERRORS.RAISE_FAILURE' must be declared
    27 20 PL/SQL: Statement ignored
    40 20 PLS-00201: identifier 'CG$ERRORS.MSGGETTEXT' must be declared
    40 5 PL/SQL: Statement ignored
    45 5 PLS-00201: identifier 'CG$ERRORS.RAISE_FAILURE' must be declared
    45 5 PL/SQL: Statement ignored
    74 7 PLS-00201: identifier 'CG$ERRORS.PUSH' must be declared
    74 7 PL/SQL: Statement ignored
    76 7 PLS-00201: identifier 'CG$ERRORS.RAISE_FAILURE' must be declared
    76 7 PL/SQL: Statement ignored
    90 5 PLS-00201: identifier 'CG$ERRORS.PUSH' must be declared
    90 5 PL/SQL: Statement ignored
    92 5 PLS-00201: identifier 'CG$ERRORS.RAISE_FAILURE' must be declared
    92 5 PL/SQL: Statement ignored
    110 24 PLS-00201: identifier 'CG$ERRORS.MSGGETTEXT' must be declared
    110 9 PL/SQL: Statement ignored
    117 24 PLS-00201: identifier 'CG$ERRORS.MSGGETTEXT' must be declared
    117 9 PL/SQL: Statement ignored

  • Arch KDE packages not compiled using -fpic ?

    this week-end i gave prelink a shot. then i realized that actually most (if not all) kde apps could not be prelinked.
    it looks like they're not compiled with -fpic option, and prelink cannot "link against non-pic libraries".
    it's not that i absolutely want to prelink my whole system, it's just that i thought this -fpic option was a good thing so i'm surprised it's not used in arch kde packages.
    any plans to enable -fpic for kde in the near future ?

    brazzmonkey wrote:a few months ago, i had a gentoo box compiled with USE="pic" and didn't encounter any problems. but this use flag is not used by every ebuild.
    i didn't know -fpic could slow things... and never noticed it.
    I don't notice the slowdown on my Athlon64, but on my old (socket A) Sempron 2500+ and my even older (socket A) Duron 1.2GHz, you can really feel it.  Probably because the Athlon64 has enough grunt to cover the slowdown though

  • Most packages not compiling properly

    Hello Arch users!
    For some time now, I have been experiencing a weird issue. When trying to compile packages (mostly AUR packages),  I receive contradictory messages from the make command. Let me show you:
    checking if gcc accepts -dumpversion option... yes
    checking gcc version... 4.7.0
    checking if g++ accepts -dumpversion option... yes
    checking g++ version... 4.7.0
    configure: Excellent, the C, C++ and Fortran compilers are all GCC 4.7.0
    configure: GCC 4.0.0 is very buggy and can not build Sage.
    configure: Please use a gcc of at least 4.0.1.
    configure: error: Exiting due to the use of a version of GCC that is too buggy
    ERROR: You do not have all of the prerequisites needed
    to build Sage from source. See the errors above.
    make[1]: *** [installed/prereq-0.9] Error 1
    And I have GCC 4.7 installed. I use multilib. Tell me if you need anything else.

    Yes, I do have multilib-devel installed.
    I noticed that another symptom has arised: Maple 13 keeps complaining that it does not have kernel connection. Related?
    Most packages I try to build complain that either gcc, intltool or some dev package is out-of-date. This is really weird...

  • Package body greater than 2160 bytes does not compile in Object Browser

    Hi there,
    I initially created a package in Apex 2.1.0.0.39 using the Object Browser and it compiled OK. The message in the box above the source code says "PL/SQL code successfully compiled (17:51:08)". I then added more code and eventually when I clicked the "Compile" button" the message to say successfull compilation or any error message was not displayed. The box above the source code remains blank. After much trial and error I found that by adding just one more letter to the end of a comment that it would not compile, but by removing the letter then it would compile most of the time. I downloaded the package and found that the size of the download .PLB file was 2160 bytes. Editing the PLB file using a text editor to increase the size and executing it in SQL*PLUS does work.
    Is this a fundamental limit on the size of packages that can be compiled using the Object Browser, or is there an Apex configuration parameter that can be modified to allow larger packages? If this is a limit then why isn't an informational message displayed? Or is this in fact an installation issue or an issues with Apex Object Browser?
    Further information:
    Oracle Database 10g Express Edition Release 10.2.0.1.0 - Product
    PL/SQL Release 10.2.0.1.0 - Production
    CORE 10.2.0.1.0 Production
    TNS for 32-bit Windows: Version 10.2.0.1.0 - Production
    NLSRTL Version 10.2.0.1.0 - Production
    I installed this version back at the beginning of the year for training purposes and have not made any conifiguration changes that I am aware of, or installed any further upgrades/software since.
    All help gratefully received by this "definitely a nubie".
    Regards.
    John.

    John,
    If you are using, as you said, Application Express version 2.1.0.0.39, be aware that this is a very old (and not a supported) version. If you have trouble with the latest version (currently 3.2), feel free to report them here.
    Scott

  • SQL*Developer 3EA1 - Not Compiling package Body

    Don't know if this is best place to post this, if not tell me where.
    In some packages i'm getting: Error: ORA-06550: linha 1, coluna 64:PLS-00172: literal de cadeia de caracteres demasiado extenso; Sorry about the portuguese error message but it's cpopy paste from compiler log.
    The strange about this is that the package is compiling with no errors on Version 2.1.1.64 and also on others editors. In both packages i had this was after formatting the code.
    So far is the only bug i got, keep on the good work.
    António Cunha

    Just tried from pl/sql node. The package body does not compile from there either. The issue seems to be the size of the package. The package size is 35,000 characters and spaces. I can remove any combination of source lines to get it down to 32,000 characters and spaces and it will compile.
    Edited by: dagtech on Oct 21, 2010 9:34 AM

  • [svn:fx-trunk] 8417: Remove themes from the package that are not compiling cleanly

    Revision: 8417
    Author:   [email protected]
    Date:     2009-07-07 04:50:21 -0700 (Tue, 07 Jul 2009)
    Log Message:
    Remove themes from the package that are not compiling cleanly
    bug: https://bugs.adobe.com/jira/browse/SDK-21144
    qa: yes
    doc:
    checkintests: pass
    Ticket Links:
        http://bugs.adobe.com/jira/browse/SDK-21144
    Modified Paths:
        flex/sdk/trunk/build.xml

  • Package not working like it should! :(

    Ok I created a package, It compiles fine but returns no results.
    My package contains a function that calculates my instructors bonus depending on how many lessons he has taught in the last 7 days.
    I then have a procedure to check that the bonus is not over 400, 400 is the max bonus that can be earned in any 1 week.
    I belive the source of the problem is the data being fed to the procedure is wrong or mixed up,. The function calculates the correct bonus, so that is working fine.
    I am struggling to pass the results of the function into the procedure for checking!
    I have spent the last couple of hours trying to see where I am going wrong but i think my brain has packed in!
    here is the package.
    CREATE OR REPLACE PACKAGE wage_calc IS
    full_wage NUMBER(8);
    FUNCTION instructor_bonus
    (ins_grade in NUMBER , ins_id in VARCHAR2)
    RETURN NUMBER;
    PROCEDURE bonus_checker
         (ins_grade IN NUMBER,
          ins_bonus IN NUMBER,
          ins_id_in IN VARCHAR2,
          bonus OUT VARCHAR2);
    END;
    CREATE OR REPLACE PACKAGE BODY wage_calc IS
    FUNCTION instructor_bonus
    (ins_grade in NUMBER , ins_id in VARCHAR2)
    RETURN NUMBER
    IS
    less_taught NUMBER(8);
    ins_bonus NUMBER(8);     
    BEGIN
         SELECT count(fk_ins_id)
         INTO less_taught
         FROM class_schedule
         WHERE fk_ins_id = ins_id
         AND date_of BETWEEN SYSDATE-7 AND SYSDATE;
              IF      ins_grade = '1' THEN ins_bonus := less_taught * 15.00;
              ELSIF     ins_grade = '2' THEN ins_bonus := less_taught * 25.00;
              ELSIF     ins_grade = '3' THEN ins_bonus := less_taught * 35.00;
              END IF;
              IF      less_taught >= 5 THEN ins_bonus := ins_bonus * 1.1;
              END IF;
              RETURN ins_bonus;
         END instructor_bonus;
    PROCEDURE bonus_checker
         (ins_grade IN NUMBER,
          ins_bonus IN NUMBER,
          ins_id_in IN VARCHAR2,
          bonus OUT VARCHAR2)
    IS
    ins_bonus_res NUMBER(8);
    BEGIN
         SELECT instructor_bonus(ins_bonus,ins_id)
         INTO ins_bonus_res
         FROM instructor
         WHERE ins_id = ins_id_in;
         IF ins_grade = 1 AND ins_bonus_res > 250
         THEN ins_bonus_res := 250;
                   DBMS_OUTPUT.PUT_LINE(ins_id_in|| 'Has reached full bonus for grade '||ins_grade||'  it will be capped, bonus = '||ins_bonus_res);
         ELSIF ins_grade = 2 AND ins_bonus_res > 350
         THEN ins_bonus_res := 350;
                   DBMS_OUTPUT.PUT_LINE(ins_id_in|| 'Has reached full bonus for grade '||ins_grade||'  it will be capped, bonus = '||ins_bonus_res);
         ELSIF ins_grade = 3 AND ins_bonus_res > 500
         THEN ins_bonus_res := 500;
                   DBMS_OUTPUT.PUT_LINE(ins_id_in|| 'Has reached full bonus for grade '||ins_grade||'  it will be capped, bonus = '||ins_bonus_res);
         ELSE ins_bonus_res := ins_bonus_res;
         DBMS_OUTPUT.PUT_LINE('Instructor bonus = '||ins_bonus_res);
         END IF;
         END bonus_checker;
    END;
    /When i attempt to test it with this data.
    VARIABLE ins_bonus_res NUMBER
    EXECUTE wage_calc.bonus_checker (1, 1, 1, :ins_bonus_res);I get this....
    PL/SQL procedure successfully completed.
    SQL> print :ins_bonus_res
    INS_BONUS_RES
    -------------So I am stuck! If anyone coudl help me it would be appriciated! Thanks.
    Message was edited by:
    stevenmac
    Message was edited by:
    stevenmac

    Ok that works now thanks!
    Is there any way to improve this paackage? At the moment i have to input the ins_id and the ins_bonus.
    VARIABLE ins_bonus_res NUMBER
    EXECUTE wage_calc.bonus_checker (1,1, :ins_bonus_res);Is there any way to change it so that I just need to input the ins_id??
    Here is my code so far.
    SET SERVEROUTPUT ON
    CREATE OR REPLACE PACKAGE wage_calc IS
    full_wage NUMBER(8);
    FUNCTION instructor_bonus
    (ins_grade in NUMBER , ins_id in VARCHAR2)
    RETURN NUMBER;
    PROCEDURE bonus_checker
         (ins_id_in IN VARCHAR2,
          ins_bonus IN NUMBER,
          bonus OUT VARCHAR2);
    END;
    CREATE OR REPLACE PACKAGE BODY wage_calc IS
    FUNCTION instructor_bonus
    (ins_grade in NUMBER , ins_id in VARCHAR2)
    RETURN NUMBER
    IS
    less_taught NUMBER(8);
    ins_bonus NUMBER(8);     
    BEGIN
         SELECT count(fk_ins_id)
         INTO less_taught
         FROM class_schedule
         WHERE fk_ins_id = ins_id
         AND date_of BETWEEN SYSDATE-7 AND SYSDATE;
              IF      ins_grade = '1' THEN ins_bonus := less_taught * 15.00;
              ELSIF     ins_grade = '2' THEN ins_bonus := less_taught * 25.00;
              ELSIF     ins_grade = '3' THEN ins_bonus := less_taught * 35.00;
              END IF;
              IF      less_taught >= 5 THEN ins_bonus := ins_bonus * 1.1;
              END IF;
              RETURN ins_bonus;
         END instructor_bonus;
    PROCEDURE bonus_checker
         (ins_id_in IN VARCHAR2,
          ins_bonus IN NUMBER,
          bonus OUT VARCHAR2)
    IS
         ins_bonus_res NUMBER(8);
         ins_grade_t NUMBER(8);
         ins_name_t VARCHAR2(12);
    BEGIN
         SELECT instructor_bonus(ins_bonus, ins_id), ins_grade, ins_name
         INTO ins_bonus_res, ins_grade_t, ins_name_t
         FROM instructor
         WHERE ins_id = ins_id_in;
         IF ins_grade_t = 1 AND ins_bonus_res > 250
         THEN ins_bonus_res := 250;
                   DBMS_OUTPUT.PUT_LINE(ins_name_t|| 'Has reached full bonus for grade '||ins_grade_t||'  it will be capped, bonus = '||ins_bonus_res);
         ELSIF ins_grade_t = 2 AND ins_bonus_res > 350
         THEN ins_bonus_res := 350;
                   DBMS_OUTPUT.PUT_LINE(ins_name_t|| 'Has reached full bonus for grade '||ins_grade_t||'  it will be capped, bonus = '||ins_bonus_res);
         ELSIF ins_grade_t = 3 AND ins_bonus_res > 500
         THEN ins_bonus_res := 500;
                   DBMS_OUTPUT.PUT_LINE(ins_name_t|| 'Has reached full bonus for grade '||ins_grade_t||'  it will be capped, bonus = '||ins_bonus_res);
         ELSE ins_bonus_res := ins_bonus_res;
         DBMS_OUTPUT.PUT_LINE('Bonus for '||ins_name_t||' = '||ins_bonus_res);
         END IF;
         bonus := ins_bonus_res;
         END bonus_checker;
    END;
    /Thanks in advance

  • Package NOT accessible outside parent/root directory - NoClassDefFoundError

    I can't seem to import a package I created, EXCEPT UNDER THE TOP LEVEL
    PARENT DIRECTORY. The following chronicles what I attempted. I read, and
    tried related postings in this newsgroup, but they have not totally
    solved my problems.
    /* d:\java\zsamples\zswingpackage1\swing-optgrp-eg1.java
    /* Following package stmts. causing run-time error "Exception in thread
    "main" java.lang.NoClassDefFoundError: zswingpackage1/Swing
    OptGroup1a [(wrong name: java/zsamples/zswingpackage1/SwingOptGroup1a)]".
    Solution: as suggested in newsgroup posting, changed package stmt. to
    include ONLY the SUBDIRECTORIES UNDERNEATH the top level 'java'
    directory (EXCLUDE 'java.' qualifier from package stmt.). Compiled from
    the parent directory of the package path, and also ran from that path
    i.e.
    package zsamples.zswingpackage1;     // omits the top level 'java' directory
    public class swing_optgrp_eg1 extends JFrame {
    Here's how I compiled:
         cd java
         d:\java>javac zsamples\zswingpackage1\swing_optgrp_eg1.java
    Here's how I executed:
         Following WORKED. Uses '.' aot backslash qualifier.
         D:\java>java zsamples.zswingpackage1.swing_optgrp_eg1
         Above package defn. solution allowed a calling program (residing under
         the top level 'java' directory) to successfully import the package
         (refer \java\test-package2.java)!! But having difficulties in importing
         this package when referenced in a calling program RESIDING IN A DEEPER
         LEVEL DIRECTORY, such as d:\java\zsamples (refer package-test1.java).
    Calling program1 (resides under d:\java\package-test2.java): WORKED
         /* This source purposely placed in the 1st level directory to test the
         theory/scenario: is it necessary to store the calling program (that
         accesses my package) in the top level directory (d:\java)? */
         import zsamples.zswingpackage1.swing_optgrp_eg1;     // resides under d:\java
    Calling program2 (resides under d:\java\zsamples\package-test1.java): DID NOT WORK
         /* Following import causing "package zsamples.zswingpackage1 does not exist"
              COMPILE ERROR. But worked in package-test2.java.
         Solution (wasn't necessary in package-test2.java):
              - specified 'java' in classpath i.e.          
                   d:\java\zsamples>javac package-test1.java -classpath .;d:\java
              But subsequently, when RUNNING using D:\java\zsamples>java Package_Test1,
              caused RUN-TIME error "Exception in thread "main" java.lang.NoClassDefFoundError:
              zsamples/zswingpackag e1/swing_optgrp_eg1".
              import zsamples.zswingpackage1.swing_optgrp_eg1;     // resides under d:\java
         /* Unsuccessful remedies:
         1) use -classpath with compiler i.e.
              d:\java\zsamples>javac package-test1.java -classpath .;d:\java\zsamples\zswingpackage1
         2) removed top level 'zsamples' qualifier in package name, compiled
              with, and without -classpath parm. i.e.
              import zswingpackage1.swing_optgrp_eg1;     // resides under d:\java\zsamples
              This caused "cannot access zswingpackage1.swing_optgrp_eg1 bad class
              file: .\zswingpackage1\swing_optgrp_eg1.class class file contains wrong
              class: zsamples.zswingpackage1.swing_optgrp_eg1 Please remove or make
              sure it appears in the correct subdirectory of the classpath."
         3) added top level 'java.' qualifier in package name, compiled with, and
              without -classpath parm. i.e.
              import java.zsamples.zswingpackage1.swing_optgrp_eg1;
              This caused "package java.zsamples.zswingpackage1 does not exist".
         4) when running, specified '.;d:\java\zsamples\zswingpackage1', or
              '.;d:\java\zsamples' in -classpath i.e.
                   D:\java\zsamples>java Package_Test1 -classpath .;d:\java\zsamples\zswingpackage1
                   D:\java\zsamples>java Package_Test1 -classpath .;d:\java\zsamples
         // Following import caused same errors as above import stmt.
         //import zsamples.zswingpackage1.*;
         class Package_Test1 {
    My PC configuration:
         java version "1.4.0_01"
         Java(TM) 2 Runtime Environment, Standard Edition (build 1.4.0_01-b03)
         Java HotSpot(TM) Client VM (build 1.4.0_01-b03, mixed mode)
         JRun 4 (Build 47304)
         WinNT 4.0 SP5
         IE 5.50
         CLASSPATH=.;D:\jakarta-tomcat-3.3.1\lib\common\servlet.jar;
              C:\JRun4\servers\default\default-ear\default-war\WEB-INF\classes
         JAVA_HOME=C:\j2sdk1.4.0_01
         Path=C:\j2sdk1.4.0_01\bin;C:\WINNT\system32;C:\WINNT;
              C:\Program Files\Network Associates\PGPNT;C:\Program Files\MTS;d:\MSSQL7\BINN

    It's hard for me to follow everything you posted. Perhaps this link will help.
    http://java.sun.com/docs/books/tutorial/java/interpack/packages.html
    Some things to keep in mind. Packages are not directories - they just use the path structure of directories to manage namespaces. No matter where a class is, if your Classpath is d:\java, then the root of any class in a package must be in a directory structure that exists inside d:\java. Also, compilers and the JVM utilize the fully qualified name of a class, meaning the package name plus the class name.

  • Jar not running is sarge and apache-ant  shows error of package not found

    Hello,
    First of all I am not a java programmer. I work in C/C++/C#.
    Currently I am dealing a game written in java (1.5) using netbeans 5.5.0 under windows xp. My target is to compile in my development machine and run in the clients machine. everything works fine in windows xp. I open the netbeans ide, load the necessary class libraries, build the project and run it. it runs without any problem.
    The problem begins when I run the same project from linux (fedora). it doest not run. It shows some error.
    <error platform="fedora 7">
    Exception in thread "AWT-EventQueue-0" java.awt.HeadlessException:
    No X11 DISPLAY variable was set, but this program performed an operation which requires it.
    at java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:159)
    at java.awt.Window.<init>(Window.java:406)
    at java.awt.Frame.<init>(Frame.java:402)
    at java.awt.Frame.<init>(Frame.java:367)
    at javax.swing.JFrame.<init>(JFrame.java:163)
    at netbeansapplication.nbApplication.<init>(nbApplication.java:52)
    at netbeansapplication.nbApplication$14.run(nbApplication.java:453)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)
    </error>
    Some of these error were resolved when I set the DISPLAY variable (export DISPLAY="127.0.0.1:0") but the other errors were still there.
    But when I open this same project in netbeans and resolve the dependencies with class libraries it works ok after compiling.
    I can run it from console (java -jar ...)
    And again the same source tree shows the following error when I am in windows !!! (by java -jar ... command)
    <error platform="WinXPSP2">
    Exception in thread "AWT-EventQueue-0" java.lang.NumberFormatException: For input string: ""
    at java.lang.NumberFormatException.forInputString(NumberFormatException.java:48)
    at java.lang.Integer.parseInt(Integer.java:468)
    at java.lang.Integer.parseInt(Integer.java:497)
    at cherrygame.global.readConfigForStickProtection(global.java:2060)
    at cherrygame.nbCherryGame.<init>(nbCherryGame.java:243)
    at netbeansapplication.nbApplication.<init>(nbApplication.java:46)
    at netbeansapplication.nbApplication$14.run(nbApplication.java:453)
    at java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:209)
    at java.awt.EventQueue.dispatchEvent(EventQueue.java:597)
    at java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:273)
    at java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:183)
    at java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:173)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:168)
    at java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:160)
    at java.awt.EventDispatchThread.run(EventDispatchThread.java:121)
    </error>
    I see that netbeans uses ant to compile project in the background.
    then I tried using ant to compile.
    doing only `#ant compile` where build.xml resides does the compilation.
    after that I try to run it (by java -jar ...). again the above error shows up.
    What would I do?
    If I compile it with netbeans in machine A then it runs well in A but not in machine B.
    If I compile it with ANT in machine A then it doesn't run in A, no chance for machine B.
    the contents of my build xml is here
    <code file="build.xml">
    <![CDATA[
    <?xml version="1.0" encoding="UTF-8"?>
    <!-- You may freely edit this file. See commented blocks below for -->
    <!-- some examples of how to customize the build. -->
    <!-- (If you delete it and reopen the project it will be recreated.) -->
    <project name="NetBeansApplication" default="default" basedir=".">
    <description>Builds, tests, and runs the project NetBeansApplication.</description>
    <import file="nbproject/build-impl.xml"/>
    <!--
    There exist several targets which are by default empty and which can be
    used for execution of your tasks. These targets are usually executed
    before and after some main targets. They are:
    -pre-init: called before initialization of project properties
    -post-init: called after initialization of project properties
    -pre-compile: called before javac compilation
    -post-compile: called after javac compilation
    -pre-compile-single: called before javac compilation of single file
    -post-compile-single: called after javac compilation of single file
    -pre-compile-test: called before javac compilation of JUnit tests
    -post-compile-test: called after javac compilation of JUnit tests
    -pre-compile-test-single: called before javac compilation of single JUnit test
    -post-compile-test-single: called after javac compilation of single JUunit test
    -pre-jar: called before JAR building
    -post-jar: called after JAR building
    -post-clean: called after cleaning build products
    (Targets beginning with '-' are not intended to be called on their own.)
    Example of inserting an obfuscator after compilation could look like this:
    <target name="-post-compile">
    <obfuscate>
    <fileset dir="${build.classes.dir}"/>
    </obfuscate>
    </target>
    For list of available properties check the imported
    nbproject/build-impl.xml file.
    Another way to customize the build is by overriding existing main targets.
    The targets of interest are:
    -init-macrodef-javac: defines macro for javac compilation
    -init-macrodef-junit: defines macro for junit execution
    -init-macrodef-debug: defines macro for class debugging
    -init-macrodef-java: defines macro for class execution
    -do-jar-with-manifest: JAR building (if you are using a manifest)
    -do-jar-without-manifest: JAR building (if you are not using a manifest)
    run: execution of project
    -javadoc-build: Javadoc generation
    test-report: JUnit report generation
    An example of overriding the target for project execution could look like this:
    <target name="run" depends="NetBeansApplication-impl.jar">
    <exec dir="bin" executable="launcher.exe">
    <arg file="${dist.jar}"/>
    </exec>
    </target>
    Notice that the overridden target depends on the jar target and not only on
    the compile target as the regular run target does. Again, for a list of available
    properties which you can use, check the target you are overriding in the
    nbproject/build-impl.xml file.
    -->
    <target name="-post-jar">
    <jar update="true" destfile="${dist.jar}">
    <zipfileset src="${libs.swing-layout.classpath}"/>
    <zipfileset src="${libs.addMoney.classpath}"/>
    <zipfileset src="${libs.NormalWindow.classpath}"/>
    </jar>
    </target>
    </project>
    ]]>
    </code>
    my directory contents is here. note. I have 2 packages "cgwindow2" and "NormalWindow" for class libraries and my main application is "CherryGame". The game is "game.jar" in the CherryGame folder.
    <listing foldername="CherryGame">
    D:\src\java\CherryGame\build.xml
    D:\src\java\CherryGame\BW.txt
    D:\src\java\CherryGame\config.txt
    D:\src\java\CherryGame\config.txt.lin
    D:\src\java\CherryGame\flopsfile.txt
    D:\src\java\CherryGame\game.jar
    D:\src\java\CherryGame\LWMoneyfile.txt
    D:\src\java\CherryGame\mfile.txt
    D:\src\java\CherryGame\mfile2.txt
    D:\src\java\CherryGame\mfile3.txt
    D:\src\java\CherryGame\TotalRollsTillBigWin.txt
    D:\src\java\CherryGame\UserFile.txt
    D:\src\java\CherryGame\build\classes\cherrygame\addMoneyFrame.class
    D:\src\java\CherryGame\build\classes\cherrygame\addMoneyPanel.class
    D:\src\java\CherryGame\build\classes\cherrygame\cardsPanel.class
    D:\src\java\CherryGame\build\classes\cherrygame\cardsWindow$1.class
    D:\src\java\CherryGame\build\classes\cherrygame\cardsWindow.class
    D:\src\java\CherryGame\build\classes\cherrygame\cherryGameBackPanel.class
    D:\src\java\CherryGame\build\classes\cherrygame\cherryWindow.class
    D:\src\java\CherryGame\build\classes\cherrygame\customBorderCherryGame.class
    D:\src\java\CherryGame\build\classes\cherrygame\FixedGlassPane.class
    D:\src\java\CherryGame\build\classes\cherrygame\global.class
    D:\src\java\CherryGame\build\classes\cherrygame\helpPanelOne.class
    D:\src\java\CherryGame\build\classes\cherrygame\imagesPanel.class
    D:\src\java\CherryGame\build\classes\cherrygame\messageWindow.class
    D:\src\java\CherryGame\build\classes\cherrygame\messageWindow2.class
    D:\src\java\CherryGame\build\classes\cherrygame\messageWindow3.class
    D:\src\java\CherryGame\build\classes\cherrygame\nbCherryGame$1.class
    D:\src\java\CherryGame\build\classes\cherrygame\nbCherryGame$10.class
    D:\src\java\CherryGame\build\classes\cherrygame\nbCherryGame$11.class
    D:\src\java\CherryGame\build\classes\cherrygame\nbCherryGame$12.class
    D:\src\java\CherryGame\build\classes\cherrygame\nbCherryGame$13.class
    D:\src\java\CherryGame\build\classes\cherrygame\nbCherryGame$14.class
    D:\src\java\CherryGame\build\classes\cherrygame\nbCherryGame$15.class
    D:\src\java\CherryGame\build\classes\cherrygame\nbCherryGame$16.class
    D:\src\java\CherryGame\build\classes\cherrygame\nbCherryGame$17.class
    D:\src\java\CherryGame\build\classes\cherrygame\nbCherryGame$18.class
    D:\src\java\CherryGame\build\classes\cherrygame\nbCherryGame$19.class
    D:\src\java\CherryGame\build\classes\cherrygame\nbCherryGame$2.class
    D:\src\java\CherryGame\build\classes\cherrygame\nbCherryGame$20.class
    D:\src\java\CherryGame\build\classes\cherrygame\nbCherryGame$21.class
    D:\src\java\CherryGame\build\classes\cherrygame\nbCherryGame$22.class
    D:\src\java\CherryGame\build\classes\cherrygame\nbCherryGame$23.class
    D:\src\java\CherryGame\build\classes\cherrygame\nbCherryGame$24.class
    D:\src\java\CherryGame\build\classes\cherrygame\nbCherryGame$25.class
    D:\src\java\CherryGame\build\classes\cherrygame\nbCherryGame$26.class
    D:\src\java\CherryGame\build\classes\cherrygame\nbCherryGame$27.class
    D:\src\java\CherryGame\build\classes\cherrygame\nbCherryGame$28$1.class
    D:\src\java\CherryGame\build\classes\cherrygame\nbCherryGame$28$2.class
    D:\src\java\CherryGame\build\classes\cherrygame\nbCherryGame$28.class
    D:\src\java\CherryGame\build\classes\cherrygame\nbCherryGame$29.class
    D:\src\java\CherryGame\build\classes\cherrygame\nbCherryGame$3.class
    D:\src\java\CherryGame\build\classes\cherrygame\nbCherryGame$30.class
    D:\src\java\CherryGame\build\classes\cherrygame\nbCherryGame$31.class
    D:\src\java\CherryGame\build\classes\cherrygame\nbCherryGame$32.class
    D:\src\java\CherryGame\build\classes\cherrygame\nbCherryGame$33.class
    D:\src\java\CherryGame\build\classes\cherrygame\nbCherryGame$34.class
    D:\src\java\CherryGame\build\classes\cherrygame\nbCherryGame$35.class
    D:\src\java\CherryGame\build\classes\cherrygame\nbCherryGame$36.class
    D:\src\java\CherryGame\build\classes\cherrygame\nbCherryGame$37.class
    D:\src\java\CherryGame\build\classes\cherrygame\nbCherryGame$38.class
    D:\src\java\CherryGame\build\classes\cherrygame\nbCherryGame$39.class
    D:\src\java\CherryGame\build\classes\cherrygame\nbCherryGame$4.class
    D:\src\java\CherryGame\build\classes\cherrygame\nbCherryGame$40.class
    D:\src\java\CherryGame\build\classes\cherrygame\nbCherryGame$41.class
    D:\src\java\CherryGame\build\classes\cherrygame\nbCherryGame$42.class
    D:\src\java\CherryGame\build\classes\cherrygame\nbCherryGame$43.class
    D:\src\java\CherryGame\build\classes\cherrygame\nbCherryGame$44.class
    D:\src\java\CherryGame\build\classes\cherrygame\nbCherryGame$45.class
    D:\src\java\CherryGame\build\classes\cherrygame\nbCherryGame$46.class
    D:\src\java\CherryGame\build\classes\cherrygame\nbCherryGame$5.class
    D:\src\java\CherryGame\build\classes\cherrygame\nbCherryGame$6.class
    D:\src\java\CherryGame\build\classes\cherrygame\nbCherryGame$7.class
    D:\src\java\CherryGame\build\classes\cherrygame\nbCherryGame$8.class
    D:\src\java\CherryGame\build\classes\cherrygame\nbCherryGame$9.class
    D:\src\java\CherryGame\build\classes\cherrygame\nbCherryGame$MyTask.class
    D:\src\java\CherryGame\build\classes\cherrygame\nbCherryGame.class
    D:\src\java\CherryGame\build\classes\cherrygame\panelMessage.class
    D:\src\java\CherryGame\build\classes\cherrygame\panelMessage2.class
    D:\src\java\CherryGame\build\classes\cherrygame\panelMessage3.class
    D:\src\java\CherryGame\build\classes\lpt\LPT.class
    D:\src\java\CherryGame\build\classes\lpt\events\Events.class
    D:\src\java\CherryGame\build\classes\lpt\events\LPTEvent.class
    D:\src\java\CherryGame\build\classes\lpt\events\LPTEventListener.class
    D:\src\java\CherryGame\build\classes\lpt\ieee1284\PPParallelPort.class
    D:\src\java\CherryGame\build\classes\netbeansapplication\customBorder.class
    D:\src\java\CherryGame\build\classes\netbeansapplication\nbApplication$1.class
    D:\src\java\CherryGame\build\classes\netbeansapplication\nbApplication$10.class
    D:\src\java\CherryGame\build\classes\netbeansapplication\nbApplication$11.class
    D:\src\java\CherryGame\build\classes\netbeansapplication\nbApplication$12.class
    D:\src\java\CherryGame\build\classes\netbeansapplication\nbApplication$13.class
    D:\src\java\CherryGame\build\classes\netbeansapplication\nbApplication$14.class
    D:\src\java\CherryGame\build\classes\netbeansapplication\nbApplication$2.class
    D:\src\java\CherryGame\build\classes\netbeansapplication\nbApplication$3.class
    D:\src\java\CherryGame\build\classes\netbeansapplication\nbApplication$4.class
    D:\src\java\CherryGame\build\classes\netbeansapplication\nbApplication$5.class
    D:\src\java\CherryGame\build\classes\netbeansapplication\nbApplication$6.class
    D:\src\java\CherryGame\build\classes\netbeansapplication\nbApplication$7.class
    D:\src\java\CherryGame\build\classes\netbeansapplication\nbApplication$8.class
    D:\src\java\CherryGame\build\classes\netbeansapplication\nbApplication$9.class
    D:\src\java\CherryGame\build\classes\netbeansapplication\nbApplication.class
    D:\src\java\CherryGame\dist\NetBeansApplication.jar
    D:\src\java\CherryGame\dist\javadoc\package-list
    D:\src\java\CherryGame\dist\javadoc\stylesheet.css
    D:\src\java\CherryGame\dist\javadoc\resources\inherit.gif
    D:\src\java\CherryGame\nbproject\build-impl.xml
    D:\src\java\CherryGame\nbproject\genfiles.properties
    D:\src\java\CherryGame\nbproject\project.properties
    D:\src\java\CherryGame\nbproject\project.xml
    D:\src\java\CherryGame\nbproject\private\private.properties
    D:\src\java\CherryGame\nbproject\private\private.xml
    D:\src\java\CherryGame\src\customBorder.java
    D:\src\java\CherryGame\src\nbApplication.form
    D:\src\java\CherryGame\src\nbApplication.java
    D:\src\java\CherryGame\src\cherrygame\addMoneyFrame.form
    D:\src\java\CherryGame\src\cherrygame\addMoneyFrame.java
    D:\src\java\CherryGame\src\cherrygame\addMoneyPanel.form
    D:\src\java\CherryGame\src\cherrygame\addMoneyPanel.java
    D:\src\java\CherryGame\src\cherrygame\cardsPanel.java
    D:\src\java\CherryGame\src\cherrygame\cardsWindow.form
    D:\src\java\CherryGame\src\cherrygame\cardsWindow.java
    D:\src\java\CherryGame\src\cherrygame\cherryGameBackPanel.form
    D:\src\java\CherryGame\src\cherrygame\cherryGameBackPanel.java
    D:\src\java\CherryGame\src\cherrygame\cherryWindow.java
    D:\src\java\CherryGame\src\cherrygame\customBorderCherryGame.java
    D:\src\java\CherryGame\src\cherrygame\global.java
    D:\src\java\CherryGame\src\cherrygame\helpPanelOne.form
    D:\src\java\CherryGame\src\cherrygame\helpPanelOne.java
    D:\src\java\CherryGame\src\cherrygame\imagesPanel.java
    D:\src\java\CherryGame\src\cherrygame\messageWindow.form
    D:\src\java\CherryGame\src\cherrygame\messageWindow.java
    D:\src\java\CherryGame\src\cherrygame\messageWindow2.form
    D:\src\java\CherryGame\src\cherrygame\messageWindow2.java
    D:\src\java\CherryGame\src\cherrygame\messageWindow3.form
    D:\src\java\CherryGame\src\cherrygame\messageWindow3.java
    D:\src\java\CherryGame\src\cherrygame\nbCherryGame.form
    D:\src\java\CherryGame\src\cherrygame\nbCherryGame.java
    D:\src\java\CherryGame\src\cherrygame\panelMessage.form
    D:\src\java\CherryGame\src\cherrygame\panelMessage.java
    D:\src\java\CherryGame\src\cherrygame\panelMessage2.form
    D:\src\java\CherryGame\src\cherrygame\panelMessage2.java
    D:\src\java\CherryGame\src\cherrygame\panelMessage3.form
    D:\src\java\CherryGame\src\cherrygame\panelMessage3.java
    D:\src\java\CherryGame\src\lpt\LPT.java
    D:\src\java\CherryGame\src\lpt\events\Events.java
    D:\src\java\CherryGame\src\lpt\events\LPTEvent.java
    D:\src\java\CherryGame\src\lpt\events\LPTEventListener.java
    D:\src\java\CherryGame\src\lpt\ieee1284\PPParallelPort.java
    </listing>
    <listing foldername="NormalWindow">
    D:\src\java\NormalWindow\build.xml
    D:\src\java\NormalWindow\manifest.mf
    D:\src\java\NormalWindow\build\classes\normalwindow\global.class
    D:\src\java\NormalWindow\build\classes\normalwindow\NormalWindow$1.class
    D:\src\java\NormalWindow\build\classes\normalwindow\NormalWindow$10.class
    D:\src\java\NormalWindow\build\classes\normalwindow\NormalWindow$11.class
    D:\src\java\NormalWindow\build\classes\normalwindow\NormalWindow$12.class
    D:\src\java\NormalWindow\build\classes\normalwindow\NormalWindow$13.class
    D:\src\java\NormalWindow\build\classes\normalwindow\NormalWindow$14.class
    D:\src\java\NormalWindow\build\classes\normalwindow\NormalWindow$15.class
    D:\src\java\NormalWindow\build\classes\normalwindow\NormalWindow$16.class
    D:\src\java\NormalWindow\build\classes\normalwindow\NormalWindow$17.class
    D:\src\java\NormalWindow\build\classes\normalwindow\NormalWindow$2.class
    D:\src\java\NormalWindow\build\classes\normalwindow\NormalWindow$3.class
    D:\src\java\NormalWindow\build\classes\normalwindow\NormalWindow$4.class
    D:\src\java\NormalWindow\build\classes\normalwindow\NormalWindow$5.class
    D:\src\java\NormalWindow\build\classes\normalwindow\NormalWindow$6.class
    D:\src\java\NormalWindow\build\classes\normalwindow\NormalWindow$7.class
    D:\src\java\NormalWindow\build\classes\normalwindow\NormalWindow$8.class
    D:\src\java\NormalWindow\build\classes\normalwindow\NormalWindow$9.class
    D:\src\java\NormalWindow\build\classes\normalwindow\NormalWindow.class
    D:\src\java\NormalWindow\build\classes\normalwindow\PasswordDialog$1.class
    D:\src\java\NormalWindow\build\classes\normalwindow\PasswordDialog$2.class
    D:\src\java\NormalWindow\build\classes\normalwindow\PasswordDialog$3.class
    D:\src\java\NormalWindow\build\classes\normalwindow\PasswordDialog$4.class
    D:\src\java\NormalWindow\build\classes\normalwindow\PasswordDialog$5.class
    D:\src\java\NormalWindow\build\classes\normalwindow\PasswordDialog.class
    D:\src\java\NormalWindow\dist\NormalWindow.jar
    D:\src\java\NormalWindow\dist\README.TXT
    D:\src\java\NormalWindow\dist\_normalwindow.jar
    D:\src\java\NormalWindow\dist\lib\swing-layout-1.0.jar
    D:\src\java\NormalWindow\nbproject\build-impl.xml
    D:\src\java\NormalWindow\nbproject\genfiles.properties
    D:\src\java\NormalWindow\nbproject\project.properties
    D:\src\java\NormalWindow\nbproject\project.xml
    D:\src\java\NormalWindow\nbproject\private\private.properties
    D:\src\java\NormalWindow\nbproject\private\private.xml
    D:\src\java\NormalWindow\src\normalwindow\global.java
    D:\src\java\NormalWindow\src\normalwindow\NormalWindow.form
    D:\src\java\NormalWindow\src\normalwindow\NormalWindow.java
    D:\src\java\NormalWindow\src\normalwindow\PasswordDialog.form
    D:\src\java\NormalWindow\src\normalwindow\PasswordDialog.java
    </listing>
    <listing foldername="cgwindow2">
    D:\src\java\cgwindow2\build.xml
    D:\src\java\cgwindow2\manifest.mf
    D:\src\java\cgwindow2\mfile.txt
    D:\src\java\cgwindow2\UserFile.txt
    D:\src\java\cgwindow2\build\classes\addmoney\addMoneyPanel.class
    D:\src\java\cgwindow2\build\classes\addmoney\addMoneyWindow$1.class
    D:\src\java\cgwindow2\build\classes\addmoney\addMoneyWindow$10.class
    D:\src\java\cgwindow2\build\classes\addmoney\addMoneyWindow$11.class
    D:\src\java\cgwindow2\build\classes\addmoney\addMoneyWindow$12.class
    D:\src\java\cgwindow2\build\classes\addmoney\addMoneyWindow$13.class
    D:\src\java\cgwindow2\build\classes\addmoney\addMoneyWindow$14.class
    D:\src\java\cgwindow2\build\classes\addmoney\addMoneyWindow$2.class
    D:\src\java\cgwindow2\build\classes\addmoney\addMoneyWindow$3.class
    D:\src\java\cgwindow2\build\classes\addmoney\addMoneyWindow$4.class
    D:\src\java\cgwindow2\build\classes\addmoney\addMoneyWindow$5.class
    D:\src\java\cgwindow2\build\classes\addmoney\addMoneyWindow$6.class
    D:\src\java\cgwindow2\build\classes\addmoney\addMoneyWindow$7.class
    D:\src\java\cgwindow2\build\classes\addmoney\addMoneyWindow$8.class
    D:\src\java\cgwindow2\build\classes\addmoney\addMoneyWindow$9.class
    D:\src\java\cgwindow2\build\classes\addmoney\addMoneyWindow.class
    D:\src\java\cgwindow2\build\classes\addmoney\customBorderForAddMoneyWindow.class
    D:\src\java\cgwindow2\build\classes\addmoney\global.class
    D:\src\java\cgwindow2\dist\cgwindow2.jar
    D:\src\java\cgwindow2\dist\README.TXT
    D:\src\java\cgwindow2\dist\lib\swing-layout-1.0.jar
    D:\src\java\cgwindow2\nbproject\build-impl.xml
    D:\src\java\cgwindow2\nbproject\genfiles.properties
    D:\src\java\cgwindow2\nbproject\jax-ws.xml
    D:\src\java\cgwindow2\nbproject\project.properties
    D:\src\java\cgwindow2\nbproject\project.xml
    D:\src\java\cgwindow2\nbproject\private\private.properties
    D:\src\java\cgwindow2\nbproject\private\private.xml
    D:\src\java\cgwindow2\src\addmoney\addMoneyPanel.form
    D:\src\java\cgwindow2\src\addmoney\addMoneyPanel.java
    D:\src\java\cgwindow2\src\addmoney\addMoneyWindow.form
    D:\src\java\cgwindow2\src\addmoney\addMoneyWindow.java
    D:\src\java\cgwindow2\src\addmoney\customBorderForAddMoneyWindow.java
    D:\src\java\cgwindow2\src\addmoney\global.java
    </listing>
    About my thread subject, my clients machine is a debian sarge 3.0 and when I compiled it there with ANT It says, "normalwindow" package not found. other 2 errors were due to "normalwindow".
    Edited by: mokaddim on Sep 12, 2007 2:08 PM

    Julio.Faerman wrote:
    Hello,
    I am trying to run my annotation processor using ant.
    I already built the processor, the javax.annotation.processor.Processor file is in the correct place with the correct content.
    The jar with the processor is in the classpath (i can see it in ant -v), but it does not process my classes. in fact, i get the warning:
    warning: Annotation processing without compilation requested but no processors were found.Do i have to specify -processor or -processorpath or can i just leave it to the default classpath scanning?When -processor is not given, a service loader is used to find the annotation processors (if any). In addition to the class files of the process, to allow your processor to be found as a service, make sure you've also provided the needed META-INF data in the jar file. The general service file format is described in
    http://java.sun.com/javase/6/docs/api/java/util/ServiceLoader.html
    That said, I'd recommend setting an explicit processor path separate from your general classpath.

  • Package not found in import

    Hello, I�m trying to run a webapplication but I get an Error 500-message in the browser(IE 5): Package not found in import. It is an webapplication with JSPs and an controlling servlet. Does anyone know how to fix that problem?
    Using: Windows 2000, Tomcat 3.2.1 as NT-service, JavaTM 2 SDK, Enterprise Edition, JavaTM 2 SDK, Standard Edition
    Tomcat/webapps/projektverwaltung.war
    Error: 500
    Location: /projektverwaltung/projektverwaltung/JSP/Menue.jsp
    Internal Servlet Error:
    org.apache.jasper.JasperException: Unable to compile class for JSPC:\Tomcat\work\localhost_8080%2Fprojektverwaltung\_0002fprojektverwaltung_0002fJSP_0002fMenue_0002ejspMenue_jsp_0.java:15: Package de.zebulon.projektverwaltung.projekttool not found in import.
    import de.zebulon.projektverwaltung.projekttool.*;
    ^
    1 error
         at org.apache.jasper.compiler.Compiler.compile(Compiler.java:254)
         at org.apache.jasper.servlet.JspServlet.doLoadJSP(JspServlet.java:462)
         at org.apache.jasper.servlet.JasperLoader12.loadJSP(JasperLoader12.java:146)
         at org.apache.jasper.servlet.JspServlet.loadJSP(JspServlet.java:433)
         at org.apache.jasper.servlet.JspServlet$JspServletWrapper.loadIfNecessary(JspServlet.java:152)
         at org.apache.jasper.servlet.JspServlet$JspServletWrapper.service(JspServlet.java:164)
         at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:318)
         at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:391)
         at javax.servlet.http.HttpServlet.service(HttpServlet.java:853)
         at org.apache.tomcat.core.ServletWrapper.doService(ServletWrapper.java:404)
         at org.apache.tomcat.core.Handler.service(Handler.java:286)
         at org.apache.tomcat.core.ServletWrapper.service(ServletWrapper.java:372)
         at org.apache.tomcat.core.ContextManager.internalService(ContextManager.java:797)
         at org.apache.tomcat.core.ContextManager.service(ContextManager.java:743)
         at org.apache.tomcat.service.http.HttpConnectionHandler.processConnection(HttpConnectionHandler.java:210)
         at org.apache.tomcat.service.TcpWorkerThread.runIt(PoolTcpEndpoint.java:416)
         at org.apache.tomcat.util.ThreadPool$ControlRunnable.run(ThreadPool.java:498)
         at java.lang.Thread.run(Thread.java:484)
    CLASSPATH: .;C:\;C:\jesdkee1.3\lib\j2ee.jar;C:\jdk1.3.0_01\lib\tools.jar;C:\Tomcat\lib\servlet.jar;C:\de\zebulon\projektverwaltung\projekttool;
    J2EE_CLASSPATH:
    C:\mysql\JDBC_MySQL_mm\mm.mysql-2.0.4-bin.jar;C:\mysql\JDBC_MySQL_Resin\caucho-jdbc-mysql-0.2.2.jar;C:\mysql\JDBC_MySQL_twz\twz1\jdbc\mysql\htdocs\twz1jdbcForMysql.jar;
    J2EE_HOME:
    C:\j2sdkee1.3;
    JAVA_HOME:
    C:\jdk1.3.0_01;
    TOMCAT_HOME:
    C:\tomcat;
    Path:
    C:\PROGRA~1\Borland\Delphi5\Projects\Bpl;C:\PROGRA~1\Borland\Delphi5\Bin;C:\PROGRA~1\BORLAND\CBUILD~1\BIN;C:\PERL\BIN;"%PATH%";%SYSTEMROOT%;%SYSTEMROOT%\system32;%SYSTEMROOT%\system32\WBEM;C:\jdk1.3.0_01\bin;C:\j2sdkee1.3\bin;C:\j2sdkee1.3\lib\j2ee.jar;C:\mysql\bin;
    Server.xml entry:
    <Context path="/projektverwaltung"
    docBase="webapps/projektverwaltung"
    defaultSessionTimeOut="30"
    debug="9">
    </Context>
    Web.xml:
    <?xml version="1.0" encoding="ISO-8859-1" ?>
    <!DOCTYPE web-app PUBLIC
    "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
    "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd">
    <web-app>
    <display-name>Projektverwaltung Zebulon</display-name>
    <description>Interne Projektverwaltung Fa. Zebulon</description>
    <welcome-file-list>
    <welcome-file>menue.jsp</welcome-file>
    </welcome-file-list>
    <servlet>
    <servlet-name>ProjektServlet</servlet-name>
    <display-name>ProjektServlet</display-name>
    <description>Servlet das die Applikation kontrolliert</description>
    <servlet-class>de.zebulon.projektverwaltung.projekttool.ProjektServlet</servlet-class>
    <load-on-startup>1</load-on-startup>
    </servlet>
    <servlet-mapping>
    <url-pattern>/Projekttool</url-pattern>
    <servlet-name>ProjektServlet</servlet-name>
    </servlet-mapping>
    <session-config>
    <session-timeout>30</session-timeout>
    </session-config>
    </web-app>

    Hello, I try copy C:\de\zebulon\projektverwaltung\projekttool\*.class in
    location that contain file _002fprojektverwaltung_0002fJSP_0002fMenue_0002ejspMenue_sp_0.java.

  • Import javax.servlet.* package not found

    hai i am pradeep i am using java 1.5 and tomcat 5.5 version when i just include import javax.servlet.* in simple hellow word program and compile it shows error
    import javax.servlet.* package not found
    i set my class path to as
    E:\set path="D:\Program Files\Java\jdk1.5.0_04\bin" and compile this it pops a message please help me i am using winxp os
    by
    pradeep sreedharan

    you are not setting the classpath but the path, and they should both be written in capitals, PATH and CLASSPATH.
    The classpath contains directories and jar files that contain the classes that need to be "visible" to your applications. The servlet classes are part of the file servlet-api.jar, which you can find in your tomcat directory, more specifically the common/lib sub directory.
    I would expect your classpath to look something like this:
    .;d:\program files\tomcat\common\lib\servlet-api.jar
    You may also want to add the directory in which you are storing your projects, I don't know how you are building your applications.
    You seem to be very new to this, so I would suggest you give this a read:
    http://java.sun.com/docs/books/tutorial/getStarted/cupojava/index.html

  • Package not working

    I migrated from JDK1.3 to JDK1.4. Paths are set to bin and even classpath is set to c:\jdk1.4\lib;. The program is compiling and running fine.
    The problem I come across is that when I use Packages in my program the program would not compile showing that package so and so does not exist and cannot resolve symbol etc. Even the programs that I compiled when I had ver1.3 doesn't seem to compile in JDK1.4. My platform is win2000 Professional. Please help me regarding this.

    Thank you for your advice. It went wrong in setting the class path. I set it to c:\j2se1.4.0\lib; This created the problem. I removed this line in the Environment settings and package is working fine now. Thank you for your suggestion anyway.
    Yours friendly,
    Saravana Kumar. J

  • The ANE library is compiled to MacOS, but does not compile on Windows.

    ANE lbrary FPHockeyApp http://flashpress.ru/blog/contents/ane/hockeyapp/FPHockeyApp-6.1.ane
    Application:
    package
        import flash.display.Sprite;
        import ru.flashpress.hockeyapp.FPHockeyApp;
        import ru.flashpress.hockeyapp.ns.haIOS;
        public class TestHockeyApp extends Sprite
            public function TestHockeyApp()
                super();
                use namespace haIOS;
                var APP_ID:String = 'you app id';
                FPHockeyApp.manager.configureWithIdentifier(APP_ID);
                FPHockeyApp.manager.startManager();
                FPHockeyApp.manager.authenticator.authenticateInstallation();
    Compiled in MacOS, but does not compile on Windows:
    Why so?

    Windows 64-bit.
    On a single MacBookPro installed OSX and Windows(not virtual).

  • Nfs4-utils-1.1.2 does not compile against heimdal-1.2.1

    Hi,
    ive changed (for testing purpose only of course) the gssapi_krb5.h from heimdal against: /opt/mit-krb5/include/gssapi/gssapi_krb5.h. nfs4-utils compile fine after this.
    so one solution would be to change heimdal to provide kerberos and do the same with mit-krb5 from aur which would offer the user a choice and allow the usage of nfs4.
    the heimdal mailing list seems to be dead anyway.
    but for this solution to work some packages need to change their deps, for example on my system:
    pacman -R heimdal
    checking dependencies...
    error: failed to prepare transaction (could not satisfy dependencies)
    :: evolution-data-server: requires heimdal>=1.2
    :: gnome-vfs: requires heimdal>=1.2
    :: gtk2: requires heimdal>=1.2
    :: imagemagick: requires heimdal>=1.2.1
    :: libcups: requires heimdal>=1.2
    :: neon: requires heimdal>=1.2.1
    :: openssh: requires heimdal>=1.2-1
    :: pam-krb5: requires heimdal>=1.2
    :: smbclient: requires heimdal>=1.2-1
    any other ideas?

    Hi metalfan,
         i'm using a nfs4-utils ver. 1.1.4 build and modified by me and i'd like to share my solution to this problem in the hope that you can find it useful. About the impossibility to build nfs-utils (and the needed package 'librpcsecgss') against heimdal it's because the implemetation of gssapi in libgssglue conflicts with heimdal.
    In gentoo Bryan Jacobs has produced a patch to nfs-utils/librpcsecgss that allow these packages to compile against heimdal without the gssapi intermediate library 'libgssglue' (in this way all that is needed for gssapi is provided by heimdal).
    The nfs4-utils and librpcsecgss packages in AUR are orphans and I don't know how to load my librpcsecgss.tar.gz and nfs4-utils.tar.gz in order to share them so, following in this post, I attached all the code and any reference I have about this problem but if you want I can send to you my tar.gz arch packages.
    Sorry for the long post...
    bye
    All you have to do is first build and install the package 'librpcsecgss' with dep on 'heimdal' instead of 'libgssglue' applying the patch that you can find in http://bugs.gentoo.org/show_bug.cgi?id=231395
    patch: librpcsecgss-0.18-heimdal.patch
    diff -NaurwB librpcsecgss-0.18.orig/configure.in librpcsecgss-0.18/configure.in
    --- librpcsecgss-0.18.orig/configure.in 2008-04-09 00:05:40.000000000 +0200
    +++ librpcsecgss-0.18/configure.in 2008-06-12 19:05:51.000000000 +0200
    @@ -12,10 +12,15 @@
    AC_PROG_RANLIB
    # Checks for libraries.
    -PKG_CHECK_MODULES([GSSGLUE], [libgssglue >= 0.1], [],
    +PKG_CHECK_MODULES([GSSGLUE], [libgssglue >= 0.1],
    + [echo GSSGLUE found; GSSAPI_IMPLEMENTATION=libgssglue],
    + [PKG_CHECK_MODULES([GSSGLUE], [heimdal-gssapi],
    + [echo HEIMDAL found; GSSAPI_IMPLEMENTATION=heimdal-gssapi],
    [AC_MSG_ERROR([Unable to locate information required to use libgssglue.
    If you have pkgconfig installed, you might try setting environment
    - variable PKG_CONFIG_PATH to /usr/local/lib/pkgconfig])])
    + variable PKG_CONFIG_PATH to /usr/local/lib/pkgconfig])])])
    +
    +AC_SUBST([GSSAPI_IMPLEMENTATION])
    # Checks for header files.
    AC_HEADER_STDC
    diff -NaurwB librpcsecgss-0.18.orig/librpcsecgss.pc.in librpcsecgss-0.18/librpcsecgss.pc.in
    --- librpcsecgss-0.18.orig/librpcsecgss.pc.in 2007-09-06 17:39:04.000000000 +0200
    +++ librpcsecgss-0.18/librpcsecgss.pc.in 2008-06-12 19:06:40.000000000 +0200
    @@ -5,7 +5,7 @@
    Name: librpcsecgss
    Description: Library that implements rpcsec_gss interface.
    -Requires: libgssglue
    +Requires: @GSSAPI_IMPLEMENTATION@
    Version: @PACKAGE_VERSION@
    Libs: -L@libdir@ -lrpcsecgss
    Cflags: -I@includedir@/rpcsecgss
    The PKGBUILD I used is:
    # $Id: PKGBUILD,v 1.43 2007/09/23 07:37:00 tom Exp $
    # Maintainer: Andrew Krawchyk <[email protected]>
    # Contributor: Marco Lima <[email protected]>
    pkgname=librpcsecgss
    pkgver=0.18
    pkgrel=2
    pkgdesc="Library for RPCSECGSS support"
    arch=('i686' 'x86_64')
    url="http://www.citi.umich.edu/projects/nfsv4/linux/"
    license=('GPL')
    depends=('glibc' 'tcp_wrappers' 'libevent>=1.3d' 'heimdal>=1.2-1')
    source=("http://www.citi.umich.edu/projects/nfsv4/linux/$pkgname/$pkgname-$pkgver.tar.gz"
    "librpcsecgss-0.18-heimdal.patch")
    md5sums=('f2c4a69c5a32f62b762a569b8d962156'
    '0cfe088551d5776f5bc08c1741a34346')
    build() {
    cd "$srcdir/$pkgname-$pkgver"
    # Patch from gentoo for heimdal compatibility Bug #231395
    # http://bugs.gentoo.org/show_bug.cgi?id=231395
    patch -Np1 -i ../librpcsecgss-0.18-heimdal.patch || return 1
    rm -f config.guess config.sub ltmain.sh
    autoreconf -i
    GSSAPI_CFLAGS='-I/usr/include/gssapi' \
    ./configure \
    --prefix=/usr \
    --sysconfdir=/etc \
    --mandir=/usr/share/man \
    --infodir=/usr/share/info
    make || return 1
    make DESTDIR="$pkgdir/" install || return 1
    Then you need to build the package 'nfs4-utils' with dep only on 'librpcsecgss' (remove 'libgssglue'... as said the gssapi is provided by heimdal); to build the package you need the patches that you can find in http://bugs.gentoo.org/show_bug.cgi?id=231396
    patch: nfs-utils-1.1.2-kerberos-ac.patch
    diff -NaurwB nfs-utils-1.1.2.orig/aclocal/kerberos5.m4 nfs-utils-1.1.2/aclocal/kerberos5.m4
    --- nfs-utils-1.1.2.orig/aclocal/kerberos5.m4 2008-03-14 16:46:29.000000000 +0100
    +++ nfs-utils-1.1.2/aclocal/kerberos5.m4 2008-06-12 17:13:51.000000000 +0200
    @@ -1,112 +1,48 @@
    -dnl Checks for Kerberos
    -dnl NOTE: while we intend to do generic gss-api, currently we
    -dnl have a requirement to get an initial Kerberos machine
    -dnl credential. Thus, the requirement for Kerberos.
    -dnl The Kerberos gssapi library will be dynamically loaded?
    AC_DEFUN([AC_KERBEROS_V5],[
    + K5CONFIG="krb5-config"
    AC_MSG_CHECKING(for Kerberos v5)
    - AC_ARG_WITH(krb5,
    - [AC_HELP_STRING([--with-krb5=DIR], [use Kerberos v5 installation in DIR])],
    + AC_ARG_WITH(krb5-config,
    + [AC_HELP_STRING([--with-krb5-config=PATH], [Full Path to krb5-config.])],
    [ case "$withval" in
    yes|no)
    - krb5_with=""
    + K5CONFIG="krb5-config"
    - krb5_with="$withval"
    + K5CONFIG="$withval"
    esac ]
    - for dir in $krb5_with /usr /usr/kerberos /usr/local /usr/local/krb5 \
    - /usr/krb5 /usr/heimdal /usr/local/heimdal /usr/athena ; do
    - dnl This ugly hack brought on by the split installation of
    - dnl MIT Kerberos on Fedora Core 1
    - K5CONFIG=""
    - if test -f $dir/bin/krb5-config; then
    - K5CONFIG=$dir/bin/krb5-config
    - elif test -f "/usr/kerberos/bin/krb5-config"; then
    - K5CONFIG="/usr/kerberos/bin/krb5-config"
    - elif test -f "/usr/lib/mit/bin/krb5-config"; then
    - K5CONFIG="/usr/lib/mit/bin/krb5-config"
    - fi
    if test "$K5CONFIG" != ""; then
    KRBCFLAGS=`$K5CONFIG --cflags`
    KRBLIBS=`$K5CONFIG --libs gssapi`
    - K5VERS=`$K5CONFIG --version | head -n 1 | awk '{split($(4),v,"."); if (v@<:@"3"@:>@ == "") v@<:@"3"@:>@ = "0"; print v@<:@"1"@:>@v@<:@"2"@:>@v@<:@"3"@:>@ }'`
    - AC_DEFINE_UNQUOTED(KRB5_VERSION, $K5VERS, [Define this as the Kerberos version number])
    - if test -f $dir/include/gssapi/gssapi_krb5.h -a \
    - \( -f $dir/lib/libgssapi_krb5.a -o \
    - -f $dir/lib64/libgssapi_krb5.a -o \
    - -f $dir/lib64/libgssapi_krb5.so -o \
    - -f $dir/lib/libgssapi_krb5.so \) ; then
    + if $K5CONFIG --version | grep -q -e heimdal; then
    + K5VERS=`$K5CONFIG --version | head -n 1 | cut -f2 -d ' ' | tr -d '.'`
    + AC_DEFINE(HAVE_HEIMDAL, 1, [Define this if you have Heimdal Kerberos libraries])
    + gssapi_lib=gssapi
    + KRBIMPL="heimdal"
    + elif $K5CONFIG --version | grep -q -e mit; then
    + K5VERS=`$K5CONFIG --version | head -n 1 | cut -f4 -d ' ' | tr -d '.'`
    AC_DEFINE(HAVE_KRB5, 1, [Define this if you have MIT Kerberos libraries])
    - KRBDIR="$dir"
    - dnl If we are using MIT K5 1.3.1 and before, we *MUST* use the
    - dnl private function (gss_krb5_ccache_name) to get correct
    - dnl behavior of changing the ccache used by gssapi.
    - dnl Starting in 1.3.2, we *DO NOT* want to use
    - dnl gss_krb5_ccache_name, instead we want to set KRB5CCNAME
    - dnl to get gssapi to use a different ccache
    if test $K5VERS -le 131; then
    AC_DEFINE(USE_GSS_KRB5_CCACHE_NAME, 1, [Define this if the private function, gss_krb5_cache_name, must be used to tell the Kerberos library which credentials cache to use. Otherwise, this is done by setting the KRB5CCNAME environment variable])
    fi
    gssapi_lib=gssapi_krb5
    - break
    - dnl The following ugly hack brought on by the split installation
    - dnl of Heimdal Kerberos on SuSe
    - elif test \( -f $dir/include/heim_err.h -o\
    - -f $dir/include/heimdal/heim_err.h \) -a \
    - -f $dir/lib/libroken.a; then
    - AC_DEFINE(HAVE_HEIMDAL, 1, [Define this if you have Heimdal Kerberos libraries])
    - KRBDIR="$dir"
    - gssapi_lib=gssapi
    - break
    - fi
    - fi
    - done
    - dnl We didn't find a usable Kerberos environment
    - if test "x$KRBDIR" = "x"; then
    - if test "x$krb5_with" = "x"; then
    - AC_MSG_ERROR(Kerberos v5 with GSS support not found: consider --disable-gss or --with-krb5=)
    + KRBIMPL="mit-krb5"
    else
    - AC_MSG_ERROR(Kerberos v5 with GSS support not found at $krb5_with)
    - fi
    + AC_MSG_ERROR(Unknown Kerberos 5 Implementation. Is neither heimdal or mit-krb5.)
    + KRBIMPL="unknown"
    fi
    - AC_MSG_RESULT($KRBDIR)
    - dnl Check if -rpath=$(KRBDIR)/lib is needed
    - echo "The current KRBDIR is $KRBDIR"
    - if test "$KRBDIR/lib" = "/lib" -o "$KRBDIR/lib" = "/usr/lib" \
    - -o "$KRBDIR/lib" = "//lib" -o "$KRBDIR/lib" = "/usr//lib" ; then
    - KRBLDFLAGS="";
    - elif /sbin/ldconfig -p | grep > /dev/null "=> $KRBDIR/lib/"; then
    - KRBLDFLAGS="";
    - else
    - KRBLDFLAGS="-Wl,-rpath=$KRBDIR/lib"
    + AC_DEFINE_UNQUOTED(KRB5_VERSION, $K5VERS, [Define this as the Kerberos version number])
    fi
    + AC_MSG_RESULT($KRBIMPL)
    - dnl Now check for functions within gssapi library
    - AC_CHECK_LIB($gssapi_lib, gss_krb5_export_lucid_sec_context,
    - AC_DEFINE(HAVE_LUCID_CONTEXT_SUPPORT, 1, [Define this if the Kerberos GSS library supports gss_krb5_export_lucid_sec_context]), ,$KRBLIBS)
    - AC_CHECK_LIB($gssapi_lib, gss_krb5_set_allowable_enctypes,
    - AC_DEFINE(HAVE_SET_ALLOWABLE_ENCTYPES, 1, [Define this if the Kerberos GSS library supports gss_krb5_set_allowable_enctypes]), ,$KRBLIBS)
    - AC_CHECK_LIB($gssapi_lib, gss_krb5_ccache_name,
    - AC_DEFINE(HAVE_GSS_KRB5_CCACHE_NAME, 1, [Define this if the Kerberos GSS library supports gss_krb5_ccache_name]), ,$KRBLIBS)
    - dnl Check for newer error message facility
    - AC_CHECK_LIB($gssapi_lib, krb5_get_error_message,
    - AC_DEFINE(HAVE_KRB5_GET_ERROR_MESSAGE, 1, [Define this if the function krb5_get_error_message is available]), ,$KRBLIBS)
    + AC_CHECK_LIB($gssapi_lib, gss_krb5_export_lucid_sec_context, AC_DEFINE(HAVE_LUCID_CONTEXT_SUPPORT, 1, [Define this if the Kerberos GSS library supports gss_krb5_export_lucid_sec_context]), ,$KRBLIBS)
    + AC_CHECK_LIB($gssapi_lib, gss_krb5_set_allowable_enctypes, AC_DEFINE(HAVE_SET_ALLOWABLE_ENCTYPES, 1, [Define this if the Kerberos GSS library supports gss_krb5_set_allowable_enctypes]), ,$KRBLIBS)
    + AC_CHECK_LIB($gssapi_lib, gss_krb5_ccache_name, AC_DEFINE(HAVE_GSS_KRB5_CCACHE_NAME, 1, [Define this if the Kerberos GSS library supports gss_krb5_ccache_name]), ,$KRBLIBS)
    + AC_CHECK_LIB($gssapi_lib, krb5_get_error_message, AC_DEFINE(HAVE_KRB5_GET_ERROR_MESSAGE, 1, [Define this if the function krb5_get_error_message is available]), ,$KRBLIBS)
    + AC_CHECK_LIB($gssapi_lib, krb5_get_init_creds_opt_set_addressless, AC_DEFINE(HAVE_KRB5_GET_INIT_CREDS_OPT_SET_ADDRESSLESS, 1, [Define this if the function krb5_get_init_creds_opt_set_addressless is available]), ,$KRBLIBS)
    - dnl Check for function to specify addressless tickets
    - AC_CHECK_LIB($gssapi_lib, krb5_get_init_creds_opt_set_addressless,
    - AC_DEFINE(HAVE_KRB5_GET_INIT_CREDS_OPT_SET_ADDRESSLESS, 1, [Define this if the function krb5_get_init_creds_opt_set_addressless is available]), ,$KRBLIBS)
    - dnl If they specified a directory and it didn't work, give them a warning
    - if test "x$krb5_with" != "x" -a "$krb5_with" != "$KRBDIR"; then
    - AC_MSG_WARN(Using $KRBDIR instead of requested value of $krb5_with for Kerberos!)
    - fi
    - AC_SUBST([KRBDIR])
    AC_SUBST([KRBLIBS])
    AC_SUBST([KRBCFLAGS])
    AC_SUBST([KRBLDFLAGS])
    patch: nfs-utils-1.1.2-no_libgssapi.patch
    Index: nfs-utils-1.1.0/utils/gssd/context_lucid.c
    ===================================================================
    --- nfs-utils-1.1.0.orig/utils/gssd/context_lucid.c
    +++ nfs-utils-1.1.0/utils/gssd/context_lucid.c
    @@ -48,8 +48,10 @@
    #include <krb5.h>
    #include <gssapi/gssapi.h>
    #ifndef OM_uint64
    +#ifndef GSSAPI_GSSAPI_H_
    typedef uint64_t OM_uint64;
    #endif
    +#endif
    #include <gssapi/gssapi_krb5.h>
    static int
    @@ -171,10 +173,10 @@ serialize_krb5_ctx(gss_ctx_id_t ctx, gss
    int retcode = 0;
    printerr(2, "DEBUG: serialize_krb5_ctx: lucid version!\n");
    - maj_stat = gss_export_lucid_sec_context(&min_stat, &ctx,
    + maj_stat = gss_krb5_export_lucid_sec_context(&min_stat, &ctx,
    1, &return_ctx);
    if (maj_stat != GSS_S_COMPLETE) {
    - pgsserr("gss_export_lucid_sec_context",
    + pgsserr("gss_krb5_export_lucid_sec_context",
    maj_stat, min_stat, &krb5oid);
    goto out_err;
    @@ -198,9 +200,9 @@ serialize_krb5_ctx(gss_ctx_id_t ctx, gss
    else
    retcode = prepare_krb5_rfc_cfx_buffer(lctx, buf);
    - maj_stat = gss_free_lucid_sec_context(&min_stat, ctx, return_ctx);
    + maj_stat = gss_krb5_free_lucid_sec_context(&min_stat, ctx);
    if (maj_stat != GSS_S_COMPLETE) {
    - pgsserr("gss_export_lucid_sec_context",
    + pgsserr("gss_krb5_export_lucid_sec_context",
    maj_stat, min_stat, &krb5oid);
    printerr(0, "WARN: failed to free lucid sec context\n");
    Index: nfs-utils-1.1.0/utils/gssd/krb5_util.c
    ===================================================================
    --- nfs-utils-1.1.0.orig/utils/gssd/krb5_util.c
    +++ nfs-utils-1.1.0/utils/gssd/krb5_util.c
    @@ -294,10 +294,10 @@ limit_krb5_enctypes(struct rpc_gss_sec *
    return -1;
    - maj_stat = gss_set_allowable_enctypes(&min_stat, credh, &krb5oid,
    + maj_stat = gss_krb5_set_allowable_enctypes(&min_stat, credh,
    num_enctypes, &enctypes);
    if (maj_stat != GSS_S_COMPLETE) {
    - pgsserr("gss_set_allowable_enctypes",
    + pgsserr("gss_krb5_set_allowable_enctypes",
    maj_stat, min_stat, &krb5oid);
    gss_release_cred(&min_stat, &credh);
    return -1;
    patch: nfs-utils-1.1.2-pkgconfig_ac.patch
    --- configure.ac 2008-03-14 15:46:29.000000000 +0000
    +++ configure.ac 2008-05-03 10:30:21.000000000 +0000
    @@ -185,7 +185,7 @@
    [AC_MSG_ERROR([Unable to locate information required to use librpcsecgss. If you have pkgconfig installed, you might try setting environment variable PKG_CONFIG_PATH to /usr/local/lib/pkgconfig])
    - PKG_CHECK_MODULES(GSSGLUE, libgssglue >= 0.1)
    + PKG_CHECK_MODULES(GSSGLUE, libgssglue >= 0.1, , [PKG_CHECK_MODULES(GSSGLUE, heimdal-gssapi)])
    fi
    fi
    @@ -228,9 +228,9 @@
    dnl This is not done until here because we need to have KRBLIBS set
    dnl ("librpcsecgss=1" is so that it doesn't get added to LIBS)
    - AC_CHECK_LIB(rpcsecgss, authgss_create_default, [librpcsecgss=1], AC_MSG_ERROR([librpcsecgss needed for nfsv4 support]), -lgssglue -ldl)
    + AC_CHECK_LIB(rpcsecgss, authgss_create_default, [librpcsecgss=1], AC_MSG_ERROR([librpcsecgss needed for nfsv4 support]), $GSSGLUE_CFLAGS)
    AC_CHECK_LIB(rpcsecgss, authgss_set_debug_level,
    - AC_DEFINE(HAVE_AUTHGSS_SET_DEBUG_LEVEL, 1, [Define this if the rpcsec_gss library has the function authgss_set_debug_level]),, -lgssglue -ldl)
    + AC_DEFINE(HAVE_AUTHGSS_SET_DEBUG_LEVEL, 1, [Define this if the rpcsec_gss library has the function authgss_set_debug_level]),, $GSSGLUE_CFLAGS)
    fi
    patch: nfs-utils-1.1.4-heimdal_functions.patch
    diff -Naur nfs-utils-1.1.4/utils/gssd/krb5_util.c nfs-utils-1.1.4-r1/utils/gssd/krb5_util.c
    --- utils/gssd/krb5_util.c 2008-10-17 14:20:09.000000000 +0000
    +++ utils/gssd/krb5_util.c 2008-11-22 13:52:42.000000000 +0000
    @@ -927,9 +927,37 @@
    krb5_error_code ret;
    krb5_creds creds;
    - krb5_cc_cursor cur;
    int found = 0;
    +#ifdef HAVE_HEIMDAL
    + krb5_creds pattern;
    + krb5_realm *client_realm;
    +
    + krb5_cc_clear_mcred(&pattern);
    +
    + client_realm = krb5_princ_realm (context, principal);
    +
    + ret = krb5_make_principal (context, &pattern.server,
    + *client_realm, KRB5_TGS_NAME, *client_realm,
    + NULL);
    + if (ret)
    + krb5_err (context, 1, ret, "krb5_make_principal");
    + pattern.client = principal;
    +
    + ret = krb5_cc_retrieve_cred (context, ccache, 0, &pattern, &creds);
    + krb5_free_principal (context, pattern.server);
    + if (ret) {
    + if (ret == KRB5_CC_END)
    + return 1;
    + krb5_err (context, 1, ret, "krb5_cc_retrieve_cred");
    + }
    +
    + found = creds.times.endtime > time(NULL);
    +
    + krb5_free_cred_contents (context, &creds);
    +#else
    + krb5_cc_cursor cur;
    +
    ret = krb5_cc_start_seq_get(context, ccache, &cur);
    if (ret)
    return 0;
    @@ -949,6 +977,7 @@
    krb5_free_cred_contents(context, &creds);
    krb5_cc_end_seq_get(context, ccache, &cur);
    +#endif
    return found;
    @@ -995,6 +1024,9 @@
    krb5_free_principal(context, principal);
    err_princ:
    +#ifdef HAVE_HEIMDAL
    +#define KRB5_TC_OPENCLOSE 0x00000001
    +#endif
    krb5_cc_set_flags(context, ccache, KRB5_TC_OPENCLOSE);
    krb5_cc_close(context, ccache);
    err_cache:
    The PKGBUILD I used is the follow. As you can see I changed the rc.d scripts to have only two scripts to do the job (client side and server side) to start the nfsd and related/needed daemons and take care to load and mount modules and filesystems needed but you can watch only at the use of the patch and reconfiguration before the configure/make step and use for the rest of the package the usual arch scripts.
    # Maintainer: abelstr <[email protected]>
    # Contributor: Marco Lima <[email protected]>
    pkgname=nfs4-utils
    _realname=nfs-utils
    pkgver=1.1.4
    pkgrel=3
    pkgdesc="Support programs for Network File Systems"
    arch=('i686' 'x86_64')
    url="http://nfs.sourceforge.net"
    license=('GPL')
    depends=('glibc' 'tcp_wrappers' 'e2fsprogs' 'portmap' 'nfsidmap' 'librpcsecgss')
    replaces=('nfs-utils')
    provides=('nfs-utils')
    backup=(etc/{exports,gssapi_mech.conf,idmapd.conf} etc/conf.d/{nfs-common.conf,nfs-server.conf})
    install="$_realname.install"
    options=('docs')
    source=("http://garr.dl.sourceforge.net/sourceforge/nfs/$_realname-$pkgver.tar.bz2"
    nfs-common
    nfs-common.conf
    nfs-server
    nfs-server.conf
    exports
    start-statd.patch
    idmapd.conf
    gssapi_mech.conf
    nfs-utils-1.1.2-kerberos-ac.patch
    nfs-utils-1.1.2-no_libgssapi.patch
    nfs-utils-1.1.2-pkgconfig_ac.patch
    nfs-utils-1.1.4-heimdal_functions.patch)
    md5sums=('3ed5b9cb73fd1c9b358c7bfa7a6ae150'
    '3fa8ad66f434e8277e7a82c7c699ce46'
    'a05e6e91307af37e7bd612b356bd0b6a'
    '1852b84523c74e02831b60dcc5739f7a'
    '1c6c755fcfef4e5e19ee7414d3020269'
    'ff585faf410a62c4333a027c50b56bae'
    '11f6c229108c223dc5fe849d11aecaf3'
    '64eaa20ea49e324e5a72858f104a61eb'
    '234b9cca75a33af98eda3f1683756879'
    'f3be115d392d9f9bb0f056e8d4341a14'
    'de30683636eda26421e58937a784b123'
    'd07c449358eeb254850975add54bcff2'
    '959a81d86da677d42e76b597656171a2')
    build() {
    cd "$srcdir/$_realname-$pkgver"
    # Patches from gentoo for heimdal compatibility Bug 231396
    # http://bugs.gentoo.org/show_bug.cgi?id=231396
    patch -Np1 -i ../nfs-utils-1.1.2-kerberos-ac.patch || return 1
    patch -Np0 -i ../nfs-utils-1.1.2-pkgconfig_ac.patch || return 1
    patch -Np1 -i ../nfs-utils-1.1.2-no_libgssapi.patch || return 1
    patch -Np0 -i ../nfs-utils-1.1.4-heimdal_functions.patch || return 1
    rm -f config.guess config.sub ltmain.sh
    autoreconf -i
    export GSSAPI_CFLAGS='-I/usr/include/gssapi'
    export GSSAPI_LIBS='-lgssapi -ldl'
    patch -Np0 -i ../start-statd.patch || return 1
    ./configure \
    --prefix=/usr \
    --sysconfdir=/etc \
    --with-statedir=/var/lib/nfs \
    --mandir=/usr/share/man \
    --infodir=/usr/share/info \
    --enable-nfsv3 \
    --enable-nfsv4 \
    --enable-gss \
    --with-tcp-wrappers || return 1
    make || return 1
    make DESTDIR="$pkgdir/" install || return 1
    # NFS & NFSv4 init scripts
    install -D -m 755 ../nfs-common "$pkgdir/"etc/rc.d/nfs-common
    install -D -m 755 ../nfs-server "$pkgdir/"etc/rc.d/nfs-server
    # Configuration
    install -D -m 644 ../exports "$pkgdir/"etc/exports
    install -D -m 644 ../idmapd.conf "$pkgdir/"etc/idmapd.conf
    install -D -m 644 ../gssapi_mech.conf "$pkgdir/"etc/gssapi_mech.conf
    install -D -m 644 ../nfs-common.conf "$pkgdir/"etc/conf.d/nfs-common.conf
    install -D -m 644 ../nfs-server.conf "$pkgdir/"etc/conf.d/nfs-server.conf
    # directories
    mkdir "$pkgdir/"var/lib/nfs/rpc_pipefs
    mkdir "$pkgdir/"var/lib/nfs/v4recovery
    # copy docs
    install -m 755 -d "$pkgdir/"usr/share/doc/$pkgname || return 1
    install -m 644 -t "$pkgdir/"usr/share/doc/$pkgname AUTHORS ChangeLog INSTALL \
    NEWS README || return 1
    idmapd.conf
    [General]
    Verbosity = 0
    Pipefs-Directory = /var/lib/nfs/rpc_pipefs
    Domain = localdomain
    [Mapping]
    Nobody-User = nobody
    Nobody-Group = nogroup
    [Translation]
    Method = nsswitch
    gssapi_mech.conf
    # Example /etc/gssapi_mech.conf file
    # GSSAPI Mechanism Definitions
    # This configuration file determines which GSS-API mechanisms
    # the gssd code should use
    # NOTE:
    # The initiaiization function "mechglue_internal_krb5_init"
    # is used for the MIT krb5 gssapi mechanism. This special
    # function name indicates that an internal function should
    # be used to determine the entry points for the MIT gssapi
    # mechanism funtions.
    # library initialization function
    # ================================ ==========================
    # The MIT K5 gssapi library, use special function for initialization.
    #/usr/lib/libgssapi_krb5.so mechglue_internal_krb5_init
    /usr/lib/libgssapi.so mechglue_internal_krb5_init
    # The SPKM3 gssapi library function. Use the function spkm3_gss_initialize.
    # /usr/local/gss_mechs/spkm/spkm3/libgssapi_spkm3.so spkm3_gss_initialize
    exports
    # /etc/exports
    # List of directories exported to NFS clients. See exports(5).
    # Use exportfs -arv to reread.
    # Example for NFSv2 and NFSv3:
    # /srv/home hostname1(rw,sync) hostname2(ro,sync)
    # Example for NFSv4:
    # /srv/nfs4 hostname1(rw,sync,fsid=0)
    # /srv/nfs4/home hostname1(rw,sync,nohide)
    # Using Kerberos and integrity checking:
    # /srv/nfs4 gss/krb5i(rw,sync,fsid=0,crossmnt)
    # /srv/nfs4/home gss/krb5i(rw,sync,nohide)
    start-statd.patch
    --- utils/statd/start-statd 2008-10-17 16:20:09.000000000 +0200
    +++ utils/statd/start-statd.new 2008-12-06 11:43:12.000000000 +0100
    @@ -1,9 +1,16 @@
    #!/bin/sh
    +
    +# Original script provided by the NFS project
    +# Modified for Arch Linux by Tom Killian
    +
    # nfsmount calls this script when mounting a filesystem with locking
    # enabled, but when statd does not seem to be running (based on
    # /var/run/rpc.statd.pid).
    # It should run run statd with whatever flags are apropriate for this
    # site.
    -PATH=/sbin:/usr/sbin
    -exec rpc.statd --no-notify
    +
    +# source application-specific settings
    +[ -f /etc/conf.d/nfs-common.conf ] && . /etc/conf.d/nfs-common.conf
    +
    +exec /usr/sbin/rpc.statd $STATD_OPTS
    nfs-utils.install
    ## arg 1: the new package version
    post_install() {
    cat << 'EOM'
    ==>
    ==> PLEASE NOTE:
    ==> Extended configuration options for NFS (clients & server) are available in
    ==> /etc/conf.d/nfs-common.conf and in /etc/conf.d/nfs-server.conf
    ==>
    ==> Please refer to http://wiki.archlinux.org/index.php/Nfs
    ==> for further information on NFS; for NFSv4, refer to
    ==> http://wiki.archlinux.org/index.php/NFSv4
    ==> Also, if you plan on using NFSv4, in /etc/conf.d/nfs-common.conf set:
    ==> 1) NEED_IDMAPD="yes" to start rpc.idmapd - on clients & server.
    ==> rpc.idmapd needs to be properly configured; edit at least the
    ==> daemon line in /etc/idmapd.conf.
    ==> 2) NEED_GSSD="yes" to start rpc.gssd (GSS authentication) - only on clients.
    ==> 3) Add "rpc_pipefs /var/lib/nfs/rpc_pipefs rpc_pipefs 0 0" to /etc/fstab.
    ==> If not mounted when the init script nfs-common starts it tries to mount the
    ==> filesystem automatically (if rpc.idmapd or rpc.gssd is needed);
    ==> see /etc/conf.d/nfs-common.conf for extended configuration options.
    ==> in /etc/conf.d/nfs-server.conf (only server) set:
    ==> 1) add "nfsd /proc/fs/nfsd nfsd -o rw,nodev,noexec,nosuid 0 0" to /etc/fstab.
    ==> If not mounted when the init script nfs-server starts it tries to mount the
    ==> filesystem automatically; see /etc/conf.d/nfs-server.conf for extended
    ==> configuration options.
    ==> 2) NEED_SVCGSSD="yes" to start rpc.svcgssd (GSS authentication) - on server
    EOM
    ## arg 1: the new package version
    ## arg 2: the old package version
    post_upgrade() {
    post_install $1
    nfs-server.conf
    # Parameters to be passed to nfs-server init script.
    # Options to pass to rpc.nfsd.
    NFSD_OPTS=
    # Number of servers to start up; the default is 8 servers.
    NFSD_COUNT=
    # Where to mount nfsd filesystem; the default is "/proc/fs/nfsd".
    PROCNFSD_MOUNTPOINT=
    # Options used to mount nfsd filesystem; the default is "rw,nodev,noexec,nosuid".
    PROCNFSD_MOUNTOPTS=
    # Options for rpc.mountd.
    # If you have a port-based firewall, you might want to set up
    # a fixed port here using the --port option. For more information,
    # see rpc.mountd(8)
    MOUNTD_OPTS="--no-nfs-version 1 --no-nfs-version 2"
    # Do you want to start the svcgssd daemon? It is only required for Kerberos
    # exports. Valid alternatives are "yes" and "no"; the default is "no".
    NEED_SVCGSSD=
    # Options to pass to rpc.svcgssd.
    SVCGSSD_OPTS=
    nfs-server
    #!/bin/bash
    daemon_name=nfs-server
    NFSD_COUNT=
    NFSD_OPTS=
    NEED_SVCGSSD=
    SVCGSSD_OPTS=
    MOUNTD_OPTS=
    PROCNFSD_MOUNTPOINT=
    PROCNFSD_MOUNTOPTS=
    # rpc.nfsd daemon & binary location
    NFSD_PROCESS_NAME=nfsd
    NFSD_DAEMON_NAME=rpc.nfsd
    NFSD="/usr/sbin/rpc.nfsd"
    # rpc.svcgssd daemon & binary location
    SVCGSSD_DAEMON_NAME=rpc.svcgssd
    SVCGSSD="/usr/sbin/rpc.svcgssd"
    # rpc.idmapd daemon & binary location
    IDMAPD_DAEMON_NAME=rpc.idmapd
    IDMAPD="/usr/sbin/rpc.idmapd"
    # rpc.mountd daemon & binary location
    MOUNTD_DAEMON_NAME=rpc.mountd
    MOUNTD="/usr/sbin/rpc.mountd"
    # exortfs binary location
    EXPORTFS="/usr/sbin/exportfs"
    . /etc/rc.conf
    . /etc/rc.d/functions
    . /etc/conf.d/$daemon_name.conf
    # Default number of nfsd servers
    [ -z "$NFSD_COUNT" ] && NFSD_COUNT=8
    # Default mountpoint and options for nfsd filesystem
    [ -z "$PROCNFSD_MOUNTPOINT" ] && PROCNFSD_MOUNTPOINT="/proc/fs/nfsd"
    [ -z "$PROCNFSD_MOUNTOPTS" ] && PROCNFSD_MOUNTOPTS="rw,nodev,noexec,nosuid"
    case "$NEED_SVCGSSD" in
    yes|no)
    NEED_SVCGSSD=no
    esac
    do_modprobe() {
    if [ -x /sbin/modprobe -a -f /proc/modules ]; then
    modprobe -q "$1" || true
    fi
    do_mount() {
    if ! grep -E "$1\$" /proc/filesystems &> /dev/null ; then
    return 1
    fi
    if grep -vw "$1" /proc/mounts &> /dev/null ; then
    if ! mountpoint -q "$2" ; then
    mount -t "$1" "$1" "$2" -o "$3"
    return
    fi
    fi
    return 0
    do_umount() {
    if mountpoint -q "$1" ; then
    umount "$1"
    fi
    return 0
    get_pid() {
    pidof -o %PPID "$1"
    case "$1" in
    start)
    rc=0
    stat_busy "Mounting nfsd filesystem"
    do_modprobe nfsd
    do_mount nfsd "$PROCNFSD_MOUNTPOINT" "$PROCNFSD_MOUNTOPTS"
    rc=$(($rc+$?))
    if [ $rc -gt 0 ]; then
    stat_fail
    exit $rc
    else
    stat_done
    fi
    stat_busy "Exporting all directories"
    $EXPORTFS -r
    rc=$(($rc+$?))
    if [ $rc -gt 0 ]; then
    stat_fail
    exit $rc
    else
    stat_done
    fi
    stat_busy "Starting $NFSD_DAEMON_NAME daemon"
    PID=$(get_pid $NFSD_PROCESS_NAME)
    if [ -z "$PID" ]; then
    [ -f /var/run/$NFSD_DAEMON_NAME.pid ] && rm -f /var/run/$NFSD_DAEMON_NAME.pid
    # RUN
    $NFSD $NFSD_OPTS $NFSD_COUNT
    rc=$(($rc+$?))
    if [ $rc -gt 0 ]; then
    stat_fail
    exit $rc
    else
    echo $(get_pid $NFSD_PROCESS_NAME) > /var/run/$NFSD_DAEMON_NAME.pid
    stat_done
    fi
    else
    stat_fail
    exit 1
    fi
    if [ "$NEED_SVCGSSD" = yes ]; then
    stat_busy "Starting $SVCGSSD_DAEMON_NAME daemon"
    PID=$(get_pid $SVCGSSD)
    if [ -z "$PID" ]; then
    [ -f /var/run/$SVCGSSD_DAEMON_NAME.pid ] && rm -f /var/run/$SVCGSSD_DAEMON_NAME.pid
    # RUN
    $SVCGSSD $SVCGSSD_OPTS
    rc=$(($rc+$?))
    if [ $rc -gt 0 ]; then
    stat_fail
    exit $rc
    else
    echo $(get_pid $SVCGSSD) > /var/run/$SVCGSSD_DAEMON_NAME.pid
    stat_done
    fi
    else
    stat_fail
    exit 1
    fi
    fi
    PID=$(get_pid $IDMAPD)
    [ ! -z "$PID" ] && kill -SIGHUP $IDMAPD_DAEMON_NAME &> /dev/null
    stat_busy "Starting $MOUNTD_DAEMON_NAME daemon"
    PID=$(get_pid $MOUNTD)
    if [ -z "$PID" ]; then
    [ -f /var/run/$MOUNTD_DAEMON_NAME.pid ] && rm -f /var/run/$MOUNTD_DAEMON_NAME.pid
    # RUN
    $MOUNTD $MOUNTD_OPTS
    rc=$(($rc+$?))
    if [ $rc -gt 0 ]; then
    stat_fail
    exit $rc
    else
    echo $(get_pid $MOUNTD) > /var/run/$MOUNTD_DAEMON_NAME.pid
    stat_done
    fi
    else
    stat_fail
    exit 1
    fi
    add_daemon $daemon_name
    stop)
    rc=0
    stat_busy "Stopping $MOUNTD_DAEMON_NAME daemon"
    PID=$(get_pid $MOUNTD)
    # KILL
    [ ! -z "$PID" ] && kill $PID &> /dev/null
    rc=$(($rc+$?))
    if [ $rc -gt 0 ]; then
    stat_fail
    exit $rc
    else
    rm -f /var/run/$MOUNTD_DAEMON_NAME.pid &> /dev/null
    stat_done
    fi
    if [ "$NEED_SVCGSSD" = yes ]; then
    stat_busy "Stopping $SVCGSSD_DAEMON_NAME daemon"
    PID=$(get_pid $SVCGSSD)
    # KILL
    [ ! -z "$PID" ] && kill $PID &> /dev/null
    rc=$(($rc+$?))
    if [ $rc -gt 0 ]; then
    stat_fail
    exit $rc
    else
    rm -f /var/run/$SVCGSSD_DAEMON_NAME.pid &> /dev/null
    stat_done
    fi
    fi
    stat_busy "Stopping $NFSD_DAEMON_NAME daemon"
    PID=$(get_pid $NFSD_PROCESS_NAME)
    # KILL (SIGINT)
    [ ! -z "$PID" ] && kill -2 $PID &> /dev/null
    rc=$(($rc+$?))
    if [ $rc -gt 0 ]; then
    stat_fail
    exit $rc
    else
    sleep 1
    PID=$(get_pid $NFSD_PROCESS_NAME)
    # KILL (KILL) - just to be sure
    [ ! -z "$PID" ] && kill -9 $PID &> /dev/null
    rm -f /var/run/$NFSD_DAEMON_NAME.pid &> /dev/null
    stat_done
    fi
    stat_busy "Unexporting all directories"
    $EXPORTFS -au
    rc=$(($rc+$?))
    if [ $rc -gt 0 ]; then
    stat_fail
    exit $rc
    else
    stat_done
    fi
    # flush everything out of the kernels export table
    if mountpoint -q "$PROCNFSD_MOUNTPOINT" ; then
    $EXPORTFS -f
    fi
    rm_daemon $daemon_name
    status)
    stat_busy "$daemon_name running"
    if ck_daemon $daemon_name; then
    stat_fail
    else
    stat_done
    fi
    stat_busy "Daemon $NFSD_DAEMON_NAME running"
    PID=$(get_pid $NFSD_PROCESS_NAME)
    if [ -z "$PID" ]; then
    stat_fail
    else
    stat_done
    fi
    stat_busy "Daemon $MOUNTD_DAEMON_NAME running"
    PID=$(get_pid $MOUNTD)
    if [ -z "$PID" ]; then
    stat_fail
    else
    stat_done
    fi
    if [ "$NEED_SVCGSSD" = yes ]; then
    stat_busy "Daemon $SVCGSSD_DAEMON_NAME running"
    PID=$(get_pid $SVCGSSD)
    if [ -z "$PID" ]; then
    stat_fail
    else
    stat_done
    fi
    fi
    echo
    reload)
    rc=0
    stat_busy "Re-exporting all directories"
    $EXPORTFS -r
    rc=$(($rc+$?))
    if [ $rc -gt 0 ]; then
    stat_fail
    exit $rc
    else
    stat_done
    fi
    restart)
    $0 stop
    sleep 3
    $0 start
    echo "usage: $0 {start|stop|status|reload|restart}"
    esac
    exit 0
    nfs-common.conf
    # Parameters to be passed to nfs-common (nfs clients & server) init script.
    # If you do not set values for the NEED_ options, they will be attempted
    # autodetected; this should be sufficient for most people. Valid alternatives
    # for the NEED_ options are "yes" and "no".
    # Do you want to start the statd daemon? It is not needed for NFSv4.
    NEED_STATD=
    # Options to pass to rpc.statd.
    # N.B. statd normally runs on both client and server, and run-time
    # options should be specified accordingly. Specifically, the Arch
    # NFS init scripts require the --no-notify flag on the server,
    # but not on the client e.g.
    # STATD_OPTS="--no-notify -p 32765 -o 32766" -> server
    # STATD_OPTS="-p 32765 -o 32766" -> client
    STATD_OPTS=
    # Do you want to start the idmapd daemon? It is only needed for NFSv4.
    NEED_IDMAPD=
    # Options to pass to rpc.idmapd.
    IDMAPD_OPTS=
    # Do you want to start the gssd daemon? It is required for Kerberos mounts.
    NEED_GSSD=
    # Options to pass to rpc.gssd.
    GSSD_OPTS=
    # Where to mount rpc_pipefs filesystem; the default is "/var/lib/nfs/rpc_pipefs".
    PIPEFS_MOUNTPOINT=
    # Options used to mount rpc_pipefs filesystem; the default is "defaults".
    PIPEFS_MOUNTOPTS=
    nfs-common
    #!/bin/bash
    daemon_name=nfs-common
    NEED_STATD=
    STATD_OPTS=
    NEED_IDMAPD=
    IDMAPD_OPTS=
    NEED_GSSD=
    GSSD_OPTS=
    PIPEFS_MOUNTPOINT=
    PIPEFS_MOUNTOPTS=
    # rpc.statd daemon & binary location
    STATD_DAEMON_NAME=rpc.statd
    STATD="/usr/sbin/rpc.statd"
    # rpc.idmapd daemon & binary location
    IDMAPD_DAEMON_NAME=rpc.idmapd
    IDMAPD="/usr/sbin/rpc.idmapd"
    # rpc.gssd daemon & binary location
    GSSD_DAEMON_NAME=rpc.gssd
    GSSD="/usr/sbin/rpc.gssd"
    . /etc/rc.conf
    . /etc/rc.d/functions
    . /etc/conf.d/$daemon_name.conf
    # Default mountpoint and options for rpc_pipefs filesystem
    [ -z "$PIPEFS_MOUNTPOINT" ] && PIPEFS_MOUNTPOINT="/var/lib/nfs/rpc_pipefs"
    [ -z "$PIPEFS_MOUNTOPTS" ] && PIPEFS_MOUNTOPTS="defaults"
    # Parse the fstab file, and determine whether we need idmapd and gssd. (The
    # /etc/defaults settings, if any, will override our autodetection.) This code
    # is partially adapted from the mountnfs.sh script in the sysvinit package.
    AUTO_NEED_IDMAPD=no
    AUTO_NEED_GSSD=no
    if [ -f /etc/fstab ]; then
    exec 9<&0 </etc/fstab
    while read DEV MTPT FSTYPE OPTS REST; do
    if [ "$FSTYPE" = "nfs4" ]; then
    AUTO_NEED_IDMAPD=yes
    fi
    case "$OPTS" in
    sec=krb5|*,sec=krb5|sec=krb5,*|*,sec=krb5i,*|sec=krb5i|*,sec=krb5i|sec=krb5i,*|*,sec=krb5i,*|sec=krb5p|*,sec=krb5p|sec=krb5p,*|*,sec=krb5p,*)
    AUTO_NEED_GSSD=yes
    esac
    done
    exec 0<&9 9<&-
    fi
    # We also need idmapd if we run an NFSv4 server. It's fairly difficult
    # to autodetect whether there are NFSv4 exports or not, and idmapd is not a
    # particularily heavy daemon, so we auto-enable it if we find an /etc/exports
    # file. This does not mean that there are NFSv4 or other mounts active (or
    # even that nfs-kernel-server is installed), but it matches what the "start"
    # condition in nfs-kernel-server's init script does, which has a value in
    # itself.
    if [ -f /etc/exports ] && grep -q '^[[:space:]]*[^#]*/' /etc/exports; then
    AUTO_NEED_IDMAPD=yes
    fi
    case "$NEED_STATD" in
    yes|no)
    NEED_STATD=yes
    esac
    case "$NEED_IDMAPD" in
    yes|no)
    NEED_IDMAPD=$AUTO_NEED_IDMAPD
    esac
    case "$NEED_GSSD" in
    yes|no)
    NEED_GSSD=$AUTO_NEED_GSSD
    esac
    do_modprobe() {
    if [ -x /sbin/modprobe -a -f /proc/modules ]; then
    modprobe -q "$1" || true
    fi
    do_mount() {
    if ! grep -E "$1\$" /proc/filesystems &> /dev/null ; then
    return 1
    fi
    if grep -vw "$1" /proc/mounts &> /dev/null ; then
    if ! mountpoint -q "$2" ; then
    mount -t "$1" "$1" "$2" -o "$3"
    return
    fi
    fi
    return 0
    do_umount() {
    if mountpoint -q "$1" ; then
    umount "$1"
    fi
    return 0
    get_pid() {
    pidof -o %PPID "$1"
    case "$1" in
    start)
    rc=0
    if [ "$NEED_STATD" = yes ]; then
    stat_busy "Starting $STATD_DAEMON_NAME daemon"
    PID=$(get_pid $STATD)
    if [ -z "$PID" ]; then
    [ -f /var/run/$STATD_DAEMON_NAME.pid ] && rm -f /var/run/$STATD_DAEMON_NAME.pid
    # RUN
    $STATD $STATD_OPTS
    rc=$(($rc+$?))
    if [ $rc -gt 0 ]; then
    stat_fail
    exit $rc
    else
    echo $(get_pid $STATD) > /var/run/$STATD_DAEMON_NAME.pid
    stat_done
    fi
    else
    stat_fail
    exit 1
    fi
    fi
    if [ "$NEED_IDMAPD" = yes ] || [ "$NEED_GSSD" = yes ]; then
    do_modprobe sunrpc
    do_modprobe nfs
    do_mount rpc_pipefs "$PIPEFS_MOUNTPOINT" "$PIPEFS_MOUNTOPTS"
    rc=$(($rc+$?))
    if [ $rc -gt 0 ]; then
    stat_fail
    exit $rc
    fi
    if [ "$NEED_IDMAPD" = yes ]; then
    stat_busy "Starting $IDMAPD_DAEMON_NAME daemon"
    PID=$(get_pid $IDMAPD)
    if [ -z "$PID" ]; then
    [ -f /var/run/$IDMAPD_DAEMON_NAME.pid ] && rm -f /var/run/$IDMAPD_DAEMON_NAME.pid
    # RUN
    $IDMAPD $IDMAPD_OPTS
    rc=$(($rc+$?))
    if [ $rc -gt 0 ]; then
    stat_fail
    exit $rc
    else
    echo $(get_pid $IDMAPD) > /var/run/$IDMAPD_DAEMON_NAME.pid
    stat_done
    fi
    else
    stat_fail
    exit 1
    fi
    fi
    if [ "$NEED_GSSD" = yes ]; then
    do_modprobe rpcsec_gss_krb5
    stat_busy "Starting $GSSD_DAEMON_NAME daemon"
    PID=$(get_pid $GSSD)
    if [ -z "$PID" ]; then
    [ -f /var/run/$GSSD_DAEMON_NAME.pid ] && rm -f /var/run/$GSSD_DAEMON_NAME.pid
    # RUN
    $GSSD $GSSD_OPTS
    rc=$(($rc+$?))
    if [ $rc -gt 0 ]; then
    stat_fail
    exit $rc
    else
    echo $(get_pid $GSSD) > /var/run/$GSSD_DAEMON_NAME.pid
    stat_done
    fi
    else
    stat_fail
    exit 1
    fi
    fi
    fi
    add_daemon $daemon_name
    stop)
    rc=0
    if [ "$NEED_IDMAPD" = yes ] || [ "$NEED_GSSD" = yes ]; then
    if [ "$NEED_GSSD" = yes ]; then
    stat_busy "Stopping $GSSD_DAEMON_NAME daemon"
    PID=$(get_pid $GSSD)
    # KILL
    [ ! -z "$PID" ] && kill $PID &> /dev/null
    rc=$(($rc+$?))
    if [ $rc -gt 0 ]; then
    stat_fail
    exit $rc
    else
    rm -f /var/run/$GSSD_DAEMON_NAME.pid &> /dev/null
    stat_done
    fi
    fi
    if [ "$NEED_IDMAPD" = yes ]; then
    stat_busy "Stopping $IDMAPD_DAEMON_NAME daemon"
    PID=$(get_pid $IDMAPD)
    # KILL
    [ ! -z "$PID" ] && kill $PID &> /dev/null
    rc=$(($rc+$?))
    if [ $rc -gt 0 ]; then
    stat_fail
    exit $rc
    else
    rm -f /var/run/$IDMAPD_DAEMON_NAME.pid &> /dev/null
    stat_done
    fi
    fi
    do_umount "$PIPEFS_MOUNTPOINT" 2>/dev/null || true
    fi
    if [ "$NEED_STATD" = yes ]; then
    stat_busy "Stopping $STATD_DAEMON_NAME daemon"
    PID=$(get_pid $STATD)
    # KILL
    [ ! -z "$PID" ] && kill $PID &> /dev/null
    rc=$(($rc+$?))
    if [ $rc -gt 0 ]; then
    stat_fail
    exit $rc
    else
    rm -f /var/run/$STATD_DAEMON_NAME.pid &> /dev/null
    stat_done
    fi
    fi
    rm_daemon $daemon_name
    status)
    stat_busy "$daemon_name running"
    if ck_daemon $daemon_name; then
    stat_fail
    else
    stat_done
    fi
    if [ "$NEED_STATD" = yes ]; then
    stat_busy "Daemon $STATD_DAEMON_NAME running"
    PID=$(get_pid $STATD)
    if [ -z "$PID" ]; then
    stat_fail
    else
    stat_done
    fi
    fi
    if [ "$NEED_GSSD" = yes ]; then
    stat_busy "Daemon $GSSD_DAEMON_NAME running"
    PID=$(get_pid $GSSD)
    if [ -z "$PID" ]; then
    stat_fail
    else
    stat_done
    fi
    fi
    if [ "$NEED_IDMAPD" = yes ]; then
    stat_busy "Daemon $IDMAPD_DAEMON_NAME running"
    PID=$(get_pid $IDMAPD)
    if [ -z "$PID" ]; then
    stat_fail
    else
    stat_done
    fi
    fi
    echo
    restart)
    $0 stop
    sleep 3
    $0 start
    echo "usage: $0 {start|stop|status|restart}"
    esac
    exit 0

Maybe you are looking for

  • How to recover OS X Mavericks 10.91 without waiting 40 ours?

    Hi. I tried to recover my OS X 10.91 on my Macbook Pro Retina late 2013,because normal download from MAS does not work for that Model. But everytime when i start the recovery the download will need between 35 and 50 ours. I wait 2h and still 5% only

  • Query for finding data during special holidays

    Hi, i have a table for special holidays that looks like this: PROFILE_DAY VAR_DATE REGULAR_HOLIDAY 1/1/2013 H_WEEK_THURSDAY 3/28/2013 H_WEEK_FRIDAY 3/29/2013 REGULAR_HOLIDAY 12/24/2013 REGULAR_HOLIDAY 12/25/2013 REGULAR_HOLIDAY 12/31/2013 And another

  • Per-user minor upgrades broken in Windows Installer after KB2918614

    Hi. We use the msiexec /fvomus procedure as detailed in http://msdn.microsoft.com/en-us/library/aa367575(v=vs.85).aspx for updating our product. We recently started getting feedback from clients that our application wasn't updating properly. After in

  • 3 log entries per cfhttp or cffile request?

    Hi People, We are running CF9 or Windows 2008 server.  While troubleshooting a server load issue we found in the IIS logs that there are 3 entries for each CFFILE or CFHTTP request. We are not sure if that is normal or if it represents some mis-confi

  • Last download on top in download folder

    Hi All, Does anyone know how to make the last downloaded file be on top of the Download Folder list?  Right now it is in alphabetical order. Please advise. Thanks, Paul