APT tool

Is this the right forum for the annotation processing tool (APT).
I will assume it is, since it has to do with meta data, which is related to reflection.
As I understand it, one of the purposes of the new annotations/metadata mechanism is to allow third party tools which can process java program which are annotated with meta data, see for example the @remote example in 1.5 in a nutshell.
However, I can not see how the @remote example can be brought to work, since the tool should translate
public class Ping {
   public @remote void ping() {
into
public interface PingIF extends Remote {
  public void ping() throws RemoteException;
public class Ping implements PingIF {
  public void ping() {
This means that the class Ping should be transformed into one which has an extra implements.
The APT explicitly states that it is a read only tool. That is fine. And I can see how I can write a new file, which contains the new Ping class.
But I can not see how that should be done if there was any code in the body of the original ping, I cannot using the current APT tool get hold of the method body (or the initializers of fields). This seems to be necessary for a long range of interesting tools.
-- Kasper

The only way that I can see to do what you need to do with apt is to use the Proxy design pattern. That is, your "annotation processor" can output the source for a Java class that wraps the one you're processing, and your wrapper class can throw RemoteExceptions and the like.
The only advantage of using apt over a doclet is that apt is more tightly integrated with javac. In particular, it will spawn off instances of the compiler to handle your machine-generated code. The real issue is that neither apt nor doclets solve the real problem---that you need to modify, not wrap, the source code based on the annotation. Apt does not provide access to the parse or abstract-syntax tree, so the only solution is to write a small compiler, yourself.
-Allen

Similar Messages

  • How to use javac to replace deprecated wsgen or apt in JDK 7?

    I am using jax-ws RI for web service and generating web service artifacts using wsgen.
    When I use wsgen or apt to generate web service artifacts in JDK 7 with following command.
    wsgen -s src -cp CLASS_PATH -d OUTPUT_DIRECTORY  com.sun.WebServiceSEI
    displays following warning message
    The apt tool and its associated API contained in the package com.sun.mirror have been deprecated since JDK 7 and are planned to be removed in the next major JDK release. Use the options available in the javac tool and the APIs contained in the packages javax.annotation.processing and javax.lang.model to process annotations.
    How can I generate web service artifacts using javac instead of wsgen or apt ?
    Edited by: user11128702 on Feb 6, 2012 1:54 AM
    Edited by: user11128702 on Feb 6, 2012 1:57 AM

    Hi Frank
    >After correcting one error in the given source (could never run that way), I get the JCO marked as deprecated as well. So this source code there seems to be a left over from NW 2004?
    Not exactly. The deprecation means that the JCo API version is 2.X while JCo 3.0 is already available. However, this does not mean that you cannot use the "com.sap.mw.jco.JCO". I know lots of projects running even on 7.11 and 7.20 that still use the JCo 2.X.
    >Is the destination service itself also depricated?
    No, no, no.
    >So I found out JCO is now depricated and I should use SAP Java Resource Adapter instead. Can I combine it with destination service or is there something similar as in web dynpro? For Ehp 1 I found this adaptive RFC package, but seems not to be available in 7.10?
    Java Resource Adapter is just a new JEE container for JCo API. Still it's also has some problems. So I'd not recommend you to use it.
    >What I clearly want to avoid is to give any user, password or system parameters in the source code as I'm used from Web Dynpro. Can I use the web dynpro mechanism maybe somehow?
    Use JCo 2.X + Destination Service. Ignore the API deprecation.
    BR, Siarhei

  • The travails of method getAnnotation in class Declaration (apt programming)

    well the problem is at least documented:
    you are in trouble if you want to read a value of an annotation which happens to be a class !
    I can vaguely understand the reason....
    but now what do I do if I need to get such a value?
    different hacks spring to my mind:
    - get the name of the Class value as a String and perform a Class.forName
    - build a Map <TypeMirror, Class> and try to get the TypeMirror trough inspection of results of getAnnotationMirrors() ...
    which hack is the least ugly?
    or may be other more elegant options?
    urgent thanks!

    Why?
    In apt, you are using the mirror API which is similar to but also quite different from reflection.
    Some say that a mirror is where you look for a reflection, which sounds pretty neat, but doesn't really help the likes of you understand things.
    For a number of reasons, the mirror API is just modelling source and class files, and NOT modelling the classes loaded into the JVM that is running the apt tool.
    One reason, is that the class file might not yet exist because APT hasn't actually compiled it yet.
    But understanding why you can't do something how you'd expect to is all very consoling and such, but still doesn't help. You want some code, right?
    How
    What I generally do is call that nice convenient method that returns actual values, but throws an exception when the value is a class, then look in the exception for the Declaration, then check its name.
    Here's a block of code (from rapt project on java.net) that does what (I suspect) you want.    protected ClassDeclaration getValue(Declaration d) {
            RenamableImplementation at =
                d.getAnnotation(RenamableImplementation.class);
            try {
                at.value();
            } catch (MirroredTypeException mte) {
                TypeMirror v = mte.getTypeMirror();
                if(! (v instanceof ClassType) ) {
                    error(d,
                        "@RenamableImplementation(%s.class), %s is not a class",
                        v,v);
                    return null;
                return ((ClassType)v).getDeclaration();
            return null;
        }error is just a varargs convenience wrapper for the Messager.printError() method.    void error(Declaration where, String format, Object... args) {
            env.getMessager().printError(where.getPosition(),
                String.format(format,args)
    Rant
    That exception thing is a bit of a kludge, but its quite a nice kludge that maintains the distinction between the mirror API and the reflection API. In a way, it would have been better if the JSR-175 (annotations) expert group had defined class annotation elements to have a type of java.lang.reflect.Type.
    The annotation method would have returned Class<?> at runtime, but APT's DeclaredType could have also implemented the java.lang.reflect.Type interface and the annotation could have returned a DeclaredType. Everything would have worked nicely I suspect, but nobody foresaw the problems and now we are stuck with annotations defined with a runtime Class rather than an interface. Actually maybe they foresaw other problems with doing it this way.
    Everyone is at fault, because everyone could have looked at the 175 spec at the review stages and done something about it. Nobody did.

  • Wrapper class is not found. Have you run APT to generate them?

    Hello,
    I am trying to build a client to a web service.
    Using the wsdl2java from CXF binaries, I have created the client stubs for the web service and now I am trying to invoke a method on the service. Here is what I am trying with but I am getting the RunTimeModeler exception.
              GenService service = new GenService();
              HTTPGETPort client = service.getHTTPGETPort();
              GetQuotes samplequote = new GetQuotes();
              samplequote.setTickers("MSFT");
    After looking online at CXF 2.0 user guide, I found out the question "Q: How can I switch my generated web service method calls from wrapper style to non wrapper-style (or vice-versa)?" at http://cwiki.apache.org/CXF20DOC/wsdl-to-java.html.
    It seems that I needed to disable the wrapper style when calling the methods on the generated stubs.
    Can someone help me out please?
    Thanks,
    Rahul

    Hi dKohlert,
    I have now changed my code completely and got it working this way !
    import javax.jws.WebMethod;
    import javax.jws.WebParam;
    import javax.jws.WebService;
    import javax.xml.soap.SOAPMessage;
    import javax.xml.ws.Provider;
    import javax.xml.ws.Service;
    import javax.xml.ws.ServiceMode;
    import javax.xml.ws.WebServiceProvider;
    * @author Footman
    @ServiceMode(value=Service.Mode.MESSAGE)
    @WebServiceProvider( targetNamespace="http://spblue.liberty:8084/wsdl/globalLogout")
    //@WebService(name="GlobalLogoutService", targetNamespace="http://spblue.liberty:8084/wsdl/globalLogout")
    public class GlobalLogoutServiceImpl implements Provider<SOAPMessage> {
    @WebMethod(operationName ="globalLogout", action="urn:liberty:soap-action")
        public SOAPMessage invoke(@WebParam(name = "logoutRequest") SOAPMessage logoutRequest ){
            return logoutRequest;
        }Thanks anyway for your reply. If I find some time I will try to use the apt-tool.

  • APT - getting declared variables and parameter names

    Hi,
    I would like start using APT, but if I am not mistaken, there are severe limitations what you can do with the tool. How is it possible to get the declared name of variables or parameters and methods from the apt tool?
    @someAnnotation
    public void someMethod(A para1, B para2) {...}I would need to get the name of the method and the name of the parameters to generate new sourcecode (AspectJ -Source), how is this possible? Without the names I cannot call the method from another place right?
    Where can I find the planned features for APT? It is a pitty that the tool is in a way very powerful and in another so limitated because you cannot extract the sourcecode or names.
    Regards,
    Klaas

    What about getSimpleName? This method is defined on
    declarations.You know, ParameterDeclaration is a Declaration ...
    All of the declarations returned by
    the mirror API are for elements that exist inside
    classes, not inside methods.Huh? Parameters are an integral part of methods and methods are elements that exist inside classes (or types in general). What's your point?
    The apt API does not expose any information about the
    interiors of methods or constructors.Oh boy. For a ParameterDeclaration getSimpleName() will return the name of the parameter, e.g. suppose you are "scanning" a standard main method:public static void main(String[] args) {...}and you already have the ParameterDeclaration instance representing the sole parameter of the method, then getSimpleName() will return "args".
    BTW - this has nothing to do with exposing interiors. Just try it.

  • APT and Java source code generation

    Hi all,
    In many articles about APT tool, I read that it is possible to generate Java source code from annotations read by AnnotationProcessorFactory.
    I am very interesting by this possibility but I can't find an exemple (all exemples I found display informations only).
    Where can I find a concrete exemple of this functionnality ?
    Thanks
    Micka�l

    Micka�l
    I have a project on java.net that has several examples of code generation.
    Go to the project source code here.
    https://rapt.dev.java.net/source/browse/rapt/
    The ones here are quite simple
    https://rapt.dev.java.net/source/browse/rapt/src/net/java/dev/rapt/proposed/generators/
    and these packages are more complex
    https://rapt.dev.java.net/source/browse/rapt/src/net/java/dev/rapt/exploratory/#dirlist
    Check out the javadoc to see how they should be used.
    One pointer is, work out exactly what you want to generate first. Then code an example by hand, then make sure it compiles and does what you want it to do. That way you know exactly what you need to generate. It is much quicker to fix compiler and functional errors in your hand coded example, than to change the generator, recompile that, then run it to generate and compile the code.
    If you do find errors in your generated code, tweak the generated code by hand till it works, then go back and change the generator to do the right thing.
    A second point is: generate nicely formatted code, indented etc, then when it doesn't work, or doesn't even compile, you can at least read the generated code to debug it.
    Bruce

  • JAX RI:javax.activation.DataHandler cannot be cast to com.sun.xml.ws.....

    I'm newbie in web services, and I would like to create web service for upload files.
    Axis2 is installed, and I tried to implement some solutions I found on the web, but i got an error:
    javax.activation.DataHandler cannot be cast to com.sun.xml.ws.developer.StreaminDataHandler
    on server side code looks like:
    @WebMethod(operationName = "getHeight")
    public int getHeight(String name, @XmlMimeType("application/octet-stream") DataHandler data) {
    StreamingDataHandler dh = (StreamingDataHandler) data; //this is where error occurs..
    on client side:
    tt=new javax.activation.FileDataSource("c:\\myImage.jpg");
    dhh=new javax.activation.DataHandler(tt);
    int r=port.getHeight("name", dhh);
    tnx :)

    Hi dKohlert,
    I have now changed my code completely and got it working this way !
    import javax.jws.WebMethod;
    import javax.jws.WebParam;
    import javax.jws.WebService;
    import javax.xml.soap.SOAPMessage;
    import javax.xml.ws.Provider;
    import javax.xml.ws.Service;
    import javax.xml.ws.ServiceMode;
    import javax.xml.ws.WebServiceProvider;
    * @author Footman
    @ServiceMode(value=Service.Mode.MESSAGE)
    @WebServiceProvider( targetNamespace="http://spblue.liberty:8084/wsdl/globalLogout")
    //@WebService(name="GlobalLogoutService", targetNamespace="http://spblue.liberty:8084/wsdl/globalLogout")
    public class GlobalLogoutServiceImpl implements Provider<SOAPMessage> {
    @WebMethod(operationName ="globalLogout", action="urn:liberty:soap-action")
        public SOAPMessage invoke(@WebParam(name = "logoutRequest") SOAPMessage logoutRequest ){
            return logoutRequest;
        }Thanks anyway for your reply. If I find some time I will try to use the apt-tool.

  • Java.sql.Timestamp: does not have a no-arg default constructor ERROR

    Hi,
    I am using jaxws(jwsdp2.0) and when i use the apt tool I get this error because I use java.sql.Timestamp as one of the fields in a class. What is the workaround for this problem? Any help is appreciated.
    Thanks,
    Vijay

    I just replaced java.sql.Timestamp to java.util.Date for this to work.
    Any other workaround is welcome.
    Vijay

  • Filer warning of creating multiple files even though only one is created

    I'm using the Apt tool with a custom program that I wrote to autogenerate some Java classes for my project. Unfortunately, the Filer is throwing a warning. Even thought the below code is only called once, I get a multiple create warning. Any ideas what's causing this?
    Mark McKay
    Filer filer = env.getFiler();
    PrintWriter pw = filer.createSourceFile(indexClassName);
    warning: Attempt to create 'C:\dev\cvs.kitfox.com\scarlet\gen\com\kitfox\scarlet\\Index.java' multiple times

    I disocvered that this error was coming from the fact that my processor was being called twice - once for my original soruce files, and then again to process the file I had just generated. Once I handled the case of the reentrant call to process(), I was able to avlid this warning.

  • "java.lang.NoSuchMethodError: com.sun.tools..apt.Main.process"

    Hi,
    I am a new to Web Services and was following some site for implementing it.
    The link is as below:
    http://www.roseindia.net/webservices/netbeans/Web-Service.shtml
    However while doing the "build and deploy" -- I am getting the following error while doing a ::
    init:
    deps-module-jar:
    deps-ear-jar:
    deps-jar:
    Warning: MANIFEST.MF modified in the future.
    Copying 1 file to D:\WebServices-NB-Practice\webservice1\build\web\META-INF
    Warning: META-INF\context.xml modified in the future.
    Warning: WEB-INF\lib\jaxws-tools-2.1.7.jar modified in the future.
    Warning: WEB-INF\sun-jaxws.xml modified in the future.
    Warning: WEB-INF\web.xml modified in the future.
    Warning: index.jsp modified in the future.
    Warning: modified in the future.
    Warning: META-INF modified in the future.
    Copying 5 files to D:\WebServices-NB-Practice\webservice1\build\web
    library-inclusion-in-archive:
    Copying 1 file to D:\WebServices-NB-Practice\webservice1\build\web\WEB-INF\lib
    Copying 1 file to D:\WebServices-NB-Practice\webservice1\build\web\WEB-INF\lib
    Copying 1 file to D:\WebServices-NB-Practice\webservice1\build\web\WEB-INF\lib
    Copying 1 file to D:\WebServices-NB-Practice\webservice1\build\web\WEB-INF\lib
    Copying 1 file to D:\WebServices-NB-Practice\webservice1\build\web\WEB-INF\lib
    Copying 1 file to D:\WebServices-NB-Practice\webservice1\build\web\WEB-INF\lib
    Copying 1 file to D:\WebServices-NB-Practice\webservice1\build\web\WEB-INF\lib
    Copying 1 file to D:\WebServices-NB-Practice\webservice1\build\web\WEB-INF\lib
    Copying 1 file to D:\WebServices-NB-Practice\webservice1\build\web\WEB-INF\lib
    Copying 1 file to D:\WebServices-NB-Practice\webservice1\build\web\WEB-INF\lib
    Copying 1 file to D:\WebServices-NB-Practice\webservice1\build\web\WEB-INF\lib
    Copying 1 file to D:\WebServices-NB-Practice\webservice1\build\web\WEB-INF\lib
    Copying 1 file to D:\WebServices-NB-Practice\webservice1\build\web\WEB-INF\lib
    Copying 1 file to D:\WebServices-NB-Practice\webservice1\build\web\WEB-INF\lib
    Copying 1 file to D:\WebServices-NB-Practice\webservice1\build\web\WEB-INF\lib
    library-inclusion-in-manifest:
    Warning: modified in the future.
    wsgen-init-nonJSR109:
    wsgen-MyWebService-nonJSR109:
    *java.lang.NoSuchMethodError: com.sun.tools.apt.Main.process(Lcom/sun/mirror/apt/AnnotationProcessorFactory;[Ljava/lang/String;)I*
    BUILD FAILED (total time: 1 second)
    I am using netbeans version 5.5 for this.
    Although from the initial investigation I understand that this error is related to "jaxws-tools.jar".
    However I could not resolve this error.
    Can Somebody provide me with the steps to resolve this error.
    Regards,
    Avinash

    No, I put the 'main' method just to see if it solved the problem

  • Installing additional tools through apt

    Hi,
    Since yesterday i have a Lenovo px6-300d.
    I was already surprised i couldn't just ssh to the machine and had to go through some other way (unlike the other protocols) to enable this. 
    anyway, that's ok now. (a hint on how to disable the ssh connection warning would be nice though)
    on to the biggest problem.
    i went on to do what i always do on my nas or home server... :
    apt-get install make git python python-cheetah, ...
    this doesn't seem to work, can i enable this to in some elaborate way or should i just kick the thing out completely ??
    a system like this is useless if a user can't even install some (pretty basic) stuff from the cli.
    (one of the things i would like to install would be the transmission torrent client, the provided installer doesn't even install properly)

    The system will not run apt-get. This is a single purpose Linux system and is limited on what it can run. If you want to get root level access/SSH we may be able to provide it but you will need to sign an NDA. That is not something we usually support so we need the NDA signed showing you understand and accept the risk involved. You will need to call tech support for your area and have am incident created to obtain it.
    As for the transmission torrent, try clicking on the icon for it in the web UI. If it is not installed the you should be prompted to download and install. If the screen does not change after 5-10 minutes try pressing F5 to refresh. It should show as installed at that point.

  • Error while Generating wsdl from wsgen tool

    Hi All,
    I am trying out wsdl generation with the help of the wsgen tool. I have endorsed jaxb-api.jar and jaxws-api.jar files.
    I have a library TestTo which has TestingTo class AS
    public class TestingTo implements Serializable{
    public String name;
    This TestTO library is included in webservice project.
    My WebService is as below-
    @WebService()
    public class IcfInfra {
    @WebMethod(operationName = "printTest")
    public TestingTo printTest(@WebParam(name = "string") String string)
    TestingTo to = new TestingTo();
    to.name = string;
    System.out.println(string);
    return to;
    When I run Ant script for Wsgen I get following error -
    main: [exec] Note: ap round: 1 [exec] Problem encountered during annotation processing; [exec] see stacktrace below for more information. [exec] java.lang.NullPointerException [exec] at com.sun.tools.ws.processor.modeler.annotation.WebServiceVisit or.isLegalType(WebServiceVisitor.java:794) [exec] at com.sun.tools.ws.processor.modeler.annotation.WebServiceVisit or.isLegalMethod(WebServiceVisitor.java:642) [exec] at com.sun.tools.ws.processor.modeler.annotation.WebServiceVisit or.methodsAreLegal(WebServiceVisitor.java:611) [exec] at com.sun.tools.ws.processor.modeler.annotation.WebServiceVisit or.isLegalImplementation(WebServiceVisitor.java:529) [exec] at com.sun.tools.ws.processor.modeler.annotation.WebServiceVisit or.shouldProcessWebService(WebServiceVisitor.java:332) [exec] at com.sun.tools.ws.processor.modeler.annotation.WebServiceVisit or.visitClassDeclaration(WebServiceVisitor.java:123) [exec] at com.sun.tools.apt.mirror.declaration.ClassDeclarationImpl.acc ept(ClassDeclarationImpl.java:95) [exec] at com.sun.tools.ws.processor.modeler.annotation.WebServiceAP.bu ildModel(WebServiceAP.java:329) [exec] at com.sun.tools.ws.processor.modeler.annotation.WebServiceAP.pr ocess(WebServiceAP.java:270) [exec] at com.sun.mirror.apt.AnnotationProcessors$CompositeAnnotationPr ocessor.process(AnnotationProcessors.java:60) [exec] at com.sun.tools.apt.comp.Apt.main(Apt.java:454) [exec] at com.sun.tools.apt.main.JavaCompiler.compile(JavaCompiler.java :258) [exec] at com.sun.tools.apt.main.Main.compile(Main.java:1102) [exec] at com.sun.tools.apt.main.Main.compile(Main.java:964) [exec] at com.sun.tools.apt.Main.processing(Main.java:95) [exec] at com.sun.tools.apt.Main.process(Main.java:85) [exec] at com.sun.tools.apt.Main.process(Main.java:67) [exec] at com.sun.tools.ws.wscompile.WsgenTool.buildModel(WsgenTool.jav a:219) [exec] at com.sun.tools.ws.wscompile.WsgenTool.run(WsgenTool.java:123) [exec] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [exec] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcces sorImpl.java:39) [exec] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMet hodAccessorImpl.java:25) [exec] at java.lang.reflect.Method.invoke(Method.java:597) [exec] at com.sun.tools.ws.Invoker.invoke(Invoker.java:131) [exec] at com.sun.tools.ws.WsGen.main(WsGen.java:52) [exec] error: compilation failed, errors should have been reported [exec] Result: 1
    Now I modified my webservice as
    @WebService()
    @XmlSeeAlso({
    TestingTo.class
    public class IcfInfra {
    @WebMethod(operationName = "printTest")
    public TestingTo printTest(@WebParam(name = "string") String string){
    TestingTo to = new TestingTo();
    to.name = string;
    System.out.println(string);
    return to;
    When I execute ant script i get error as -
    main: [exec] Exception in thread "main" java.lang.ArrayStoreException: sun.reflec t.annotation.TypeNotPresentExceptionProxy [exec] at sun.reflect.annotation.AnnotationParser.parseClassArray(Annot ationParser.java:653) [exec] at sun.reflect.annotation.AnnotationParser.parseArray(Annotation Parser.java:460) [exec] at sun.reflect.annotation.AnnotationParser.parseMemberValue(Anno tationParser.java:286) [exec] at sun.reflect.annotation.AnnotationParser.parseAnnotation(Annot ationParser.java:222) [exec] at sun.reflect.annotation.AnnotationParser.parseAnnotations2(Ann otationParser.java:69) [exec] at sun.reflect.annotation.AnnotationParser.parseAnnotations(Anno tationParser.java:52) [exec] at java.lang.Class.initAnnotationsIfNecessary(Class.java:3070) [exec] at java.lang.Class.getAnnotation(Class.java:3029) [exec] at com.sun.tools.ws.wscompile.WsgenOptions.validateEndpointClass (WsgenOptions.java:244) [exec] at com.sun.tools.ws.wscompile.WsgenOptions.validate(WsgenOptions .java:226) [exec] at com.sun.tools.ws.wscompile.WsgenTool.run(WsgenTool.java:122) [exec] at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) [exec] at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAcces sorImpl.java:39) [exec] at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMet hodAccessorImpl.java:25) [exec] at java.lang.reflect.Method.invoke(Method.java:597) [exec] at com.sun.tools.ws.Invoker.invoke(Invoker.java:131) [exec] at com.sun.tools.ws.WsGen.main(WsGen.java:52)
    Appreciate If someone can let me know what needs to be done in order to sucessfully generate the wsdl.
    Thanks, Adish
    Edited by: user7738545 on 29-Apr-2011 23:47

    You are trying to use a custom class as a return type?
    The return type needs to be JAX-B compatible
    see: http://download.oracle.com/docs/cd/E17802_01/webservices/webservices/docs/2.0/tutorial/doc/JAXWS3.html
    You should avoid using user defined complex types as much as possible because they require the clients to be able to process them as well making your webservice less portable and thus defeating the main advantages of webservices.

  • Error VMware Tools Installation (Shared Folder) - Ubuntu 15.04 [SOLVED!]

    Workstation 11.1
    Ubuntu 15.04 Guest OS
    Kernel 3.19.0-15-generic
    VMwareTools-9.9.2-2496486
    When I try to install vmwaretools in my Ubuntu 15.04, I receive the following compilation errors (shared folder feature don't work):
    Initializing...
    Making sure services for VMware Tools are stopped.
    Stopping VMware Tools services in the virtual machine:
       Guest operating system daemon:                              done
       VMware User Agent (vmware-user):                          done
       Blocking file system:                                               done
       Unmounting HGFS shares:                                      done
       Guest filesystem driver:                                           done
    Stopping Thinprint services in the virtual machine:
       Stopping Virtual Printing daemon:                              done
    update-rc.d: warning: start and stop actions are no longer supported; falling back to defaults
    update-rc.d: warning: start and stop actions are no longer supported; falling back to defaults
    The module vmci has already been installed on this system by another installer
    or package and will not be modified by this installer.
    The module vsock has already been installed on this system by another installer
    or package and will not be modified by this installer.
    The module vmxnet3 has already been installed on this system by another
    installer or package and will not be modified by this installer.
    The module pvscsi has already been installed on this system by another
    installer or package and will not be modified by this installer.
    The module vmmemctl has already been installed on this system by another
    installer or package and will not be modified by this installer.
    The VMware Host-Guest Filesystem allows for shared folders between the host OS
    and the guest OS in a Fusion or Workstation virtual environment.  Do you wish
    to enable this feature? [yes]
    Before you can compile modules, you need to have the following installed...
    make
    gcc
    kernel headers of the running kernel
    Searching for GCC...
    Detected GCC binary at "/usr/bin/gcc".
    The path "/usr/bin/gcc" appears to be a valid path to the gcc binary.
    Would you like to change it? [no]
    Searching for a valid kernel header path...
    Detected the kernel headers at "/lib/modules/3.19.0-15-generic/build/include".
    The path "/lib/modules/3.19.0-15-generic/build/include" appears to be a valid
    path to the 3.19.0-15-generic kernel headers.
    Would you like to change it? [no]
    make: Entering directory '/tmp/modconfig-O5xscq/vmhgfs-only'
    Using kernel build system.
    /usr/bin/make -C /lib/modules/3.19.0-15-generic/build/include/.. SUBDIRS=$PWD SRCROOT=$PWD/. \
      MODULEBUILDDIR= modules
    make[1]: Entering directory '/usr/src/linux-headers-3.19.0-15-generic'
      CC [M]  /tmp/modconfig-O5xscq/vmhgfs-only/backdoorGcc64.o
      CC [M]  /tmp/modconfig-O5xscq/vmhgfs-only/message.o
      CC [M]  /tmp/modconfig-O5xscq/vmhgfs-only/dir.o
      CC [M]  /tmp/modconfig-O5xscq/vmhgfs-only/rpcout.o
      CC [M]  /tmp/modconfig-O5xscq/vmhgfs-only/filesystem.o
      CC [M]  /tmp/modconfig-O5xscq/vmhgfs-only/cpName.o
      CC [M]  /tmp/modconfig-O5xscq/vmhgfs-only/request.o
      CC [M]  /tmp/modconfig-O5xscq/vmhgfs-only/module.o
    /tmp/modconfig-O5xscq/vmhgfs-only/dir.c: In function ‘HgfsPackDirOpenRequest’:
    /tmp/modconfig-O5xscq/vmhgfs-only/dir.c:417:26: error: ‘struct file’ has no member named ‘f_dentry’
                          file->f_dentry) < 0) {
                              ^
    /tmp/modconfig-O5xscq/vmhgfs-only/dir.c: In function ‘HgfsDirLlseek’:
    /tmp/modconfig-O5xscq/vmhgfs-only/dir.c:707:32: error: ‘struct file’ has no member named ‘f_dentry’
        struct dentry *dentry = file->f_dentry;
                                    ^
    In file included from /tmp/modconfig-O5xscq/vmhgfs-only/dir.c:39:0:
    /tmp/modconfig-O5xscq/vmhgfs-only/dir.c: In function ‘HgfsReaddirNextEntry’:
    /tmp/modconfig-O5xscq/vmhgfs-only/dir.c:993:31: error: ‘struct file’ has no member named ‘f_dentry’
        si = HGFS_SB_TO_COMMON(file->f_dentry->d_inode->i_sb);
                                   ^
    /tmp/modconfig-O5xscq/vmhgfs-only/module.h:89:62: note: in definition of macro ‘HGFS_SB_TO_COMMON’
    #define HGFS_SB_TO_COMMON(sb)             ((HgfsSuperInfo *)(sb)->s_fs_info)
                                                                  ^
    /tmp/modconfig-O5xscq/vmhgfs-only/dir.c:1082:26: error: ‘struct file’ has no member named ‘f_dentry’
              *entryIno = file->f_dentry->d_inode->i_ino;
                              ^
    In file included from /tmp/modconfig-O5xscq/vmhgfs-only/dir.c:30:0:
    /tmp/modconfig-O5xscq/vmhgfs-only/dir.c:1088:44: error: ‘struct file’ has no member named ‘f_dentry’
              *entryIno = compat_parent_ino(file->f_dentry);
                                                ^
    /tmp/modconfig-O5xscq/vmhgfs-only/./shared/compat_fs.h:120:46: note: in definition of macro ‘compat_parent_ino’
    #define compat_parent_ino(dentry) parent_ino(dentry)
                                                  ^
    /tmp/modconfig-O5xscq/vmhgfs-only/dir.c:1093:52: error: ‘struct file’ has no member named ‘f_dentry’
          *entryIno = HgfsGetFileInode(&entryAttrs, file->f_dentry->d_inode->i_sb);
                                                        ^
    /tmp/modconfig-O5xscq/vmhgfs-only/dir.c: In function ‘HgfsDoReaddir’:
    /tmp/modconfig-O5xscq/vmhgfs-only/dir.c:1173:13: error: ‘struct file’ has no member named ‘f_dentry’
           !(file->f_dentry) ||
                 ^
    /tmp/modconfig-O5xscq/vmhgfs-only/dir.c:1174:13: error: ‘struct file’ has no member named ‘f_dentry’
           !(file->f_dentry->d_inode)) {
                 ^
    scripts/Makefile.build:257: recipe for target '/tmp/modconfig-O5xscq/vmhgfs-only/dir.o' failed
    make[2]: *** [/tmp/modconfig-O5xscq/vmhgfs-only/dir.o] Error 1
    make[2]: ** Esperando que outros processos terminem.
    Makefile:1394: recipe for target '_module_/tmp/modconfig-O5xscq/vmhgfs-only' failed
    make[1]: *** [_module_/tmp/modconfig-O5xscq/vmhgfs-only] Error 2
    make[1]: Leaving directory '/usr/src/linux-headers-3.19.0-15-generic'
    Makefile:120: recipe for target 'vmhgfs.ko' failed
    make: *** [vmhgfs.ko] Error 2
    make: Leaving directory '/tmp/modconfig-O5xscq/vmhgfs-only'
    The filesystem driver (vmhgfs module) is used only for the shared folder
    feature. The rest of the software provided by VMware Tools is designed to work
    independently of this feature.
    If you wish to have the shared folders feature, you can install the driver by
    running vmware-config-tools.pl again after making sure that gcc, binutils, make
    and the kernel sources for your running kernel are installed on your machine.
    These packages are available on your distribution's installation CD.
    [ Press Enter key to continue ]
    The vmxnet driver is no longer supported on kernels 3.3 and greater. Please
    upgrade to a newer virtual NIC. (e.g., vmxnet3 or e1000e)
    The vmblock enables dragging or copying files between host and guest in a
    Fusion or Workstation virtual environment.  Do you wish to enable this feature?
    [yes]
    VMware automatic kernel modules enables automatic building and installation of
    VMware kernel modules at boot that are not already present. This feature can be
    enabled/disabled by re-running vmware-config-tools.pl.
    Would you like to enable VMware automatic kernel modules?
    [no]
    Thinprint provides driver-free printing. Do you wish to enable this feature?
    [yes]
    Disabling timer-based audio scheduling in pulseaudio.
    Do you want to enable Guest Authentication (vgauth)? [yes]
    Detected X server version 1.17.1
    Distribution provided drivers for Xorg X server are used.
    Skipping X configuration because X drivers are not included.
    Creating a new initrd boot image for the kernel.
    update-initramfs: Generating /boot/initrd.img-3.19.0-15-generic
       Checking acpi hot plug                                              done
    Starting VMware Tools services in the virtual machine:
       Switching to guest configuration:                                   done
       Blocking file system:                                               done
       VMware User Agent:                                                  done
       Guest operating system daemon:                                      done
       Starting Virtual Printing daemon:                                   done
    The configuration of VMware Tools 9.9.2 build-2496486 for Linux for this
    running kernel completed successfully.
    You must restart your X session before any mouse or graphics changes take
    effect.
    You can now run VMware Tools by invoking "/usr/bin/vmware-toolbox-cmd" from the
    command line.
    To enable advanced X features (e.g., guest resolution fit, drag and drop, and
    file and text copy/paste), you will need to do one (or more) of the following:
    1. Manually start /usr/bin/vmware-user
    2. Log out and log back into your desktop session; and,
    3. Restart your X session.
    Enjoy,
    --the VMware team
    I tried to use these instructions to solve the problem:
    http://rglinuxtech.com/?p=1281
    compiling - VMWare player and Ubuntu 15.04: net driver does not compile anymore, how to fix? - Ask Ubuntu
    However, I don't have the /usr/lib/vmware/modules/source with vmnet.tar file.
    I just have /usr/lib/vmware-tools/modules/source with the following files:
    legacy    vmblock.tar    vmhgfs.tar    vmsync.tar    vmxnet.tar    pvscsi.tar    vmci.tar    vmmemctl.tar    vmxnet3.tar    vsock.tar
    How I resolve this problem?
    Thank You!

    Now It's working for me! :-) Thanks kikitora for the correct answer and Rahul Jha for this tutorial:
    Please ensure that latest Workstation 11 is installed.
    Make sure open-vm-tools is not installed.
    sudo apt-get remove open-vm-tools
    1. Make sure the updates are done:
    sudo apt-get update
    2. Make sure git is installed
    sudo apt-get install git
    3. Run the command to get the tools from repository.
    sudo git clone https://github.com/rasa/vmware-tools-patches.git
    4. cd to vmware-tools-folder
    cd vmware-tools-patches
    5. Run the patch
    sudo ./download-tools.sh
    6. Run the following patch
    sudo ./untar-and-patch.sh
    7. Run the complie.sh file
    sudo ./compile.sh

  • Are there any Outlook Email Sync Tools Available f...

    Hi, I've had the n900 for a while now, bit peeved with it, was sold as having proper tbt gps etc, that's another story I guess and one which is well documented elsewhere . Only getting round to setting up my email sync now and guess what, it doesn't work!! You don't seem to be able to sync emails between Outlook and the n900, not using PC Suite or OVI suite from what I can see. My work domain and mail is hosted on gmail, I leave a copy of the messages on the server so I can get in Outlook and on the device. Sometimes when I read a message, or reply to a message on the n900 it will never come through to Outlook, even though a copy is being left on the server. it would be nice if a sync tool was available for this, anyone know of any?
    Thanks
    Eamonn

    you have a couple of options.
    first, you have to know that ALL messages you send from your n900 do not get put on the server, but are actually in your "sent" folder on you n900.   so you will need to open that folder, and select all, then move to a folder on your server.....should you be using imap.
    next.   i would recommend that you set up your email as imap.  it is similar to using MS exchange except that it is free, it does not sync your contacts, it does not sync you calendar.  but works great.  you will be able to see all your folders on your gmail account and even be able to transfer all your sent email on you n900 to your sent email on your gmail account.
    i would stay away from OVI suite as it will just make a mess.   with the n900, it is not necessary to have anything sync with outlook, except your contacts, notes, calendar.  so use PC Suite instead as it works solid!
    now, since you are new, there is a way to make your n900 email work much faster and smoother as well.  
    first, install these repositories to your n900 for future use.  just click on the links within the browser of your n900 and they will auto-install for you.
    EXTRAS-TESTING
    EXTRAS-DEVEL
    now open your appmanager and install rootsh.  (this will help you for later as you read in this forum...at least for things that CPitchford and Ceroberts75 post)
    now, here are directions to make your email client work much faster.  since i cannot attach a .tar file to this, if you send me a pm, i will send you a link to download a safe copy of it for you to use.
    save the .tar file to root folder (your root folder is going to be n900 or whatever you named your unit)
    open xterm
    sudo gainroot
    cd MyDocs
    to install, use this code:
    tar xzf modest-3.4.2-baxyp-1.tar.gz  -C /
    NOTE:  There are 2 spaces after the ".gz" and 1 space after the "-C"
    it will just do an immediate prompt again, and seem like nothing happened, but it did. 
    to uninstall and go to original settings, use this code:
    apt-get --reinstall install libtinymail-camel-1.0-0 modest
    now for the Nokia Messaging:  i started a thread for this Nokia Messaging.   Nokia messaging will auto-sync all your email like stated above, but there are different limitations to alerts and such on the n900 and if you only have a few email addresses, imo, it is better to just set them up in the modest email client (standard email installed).  it will also save a few taps everytime you have to see the email.
    FOLLOW THESE DIRECTIONS:
    with symbian, you just need to go to email.nokia.com and install it.
    but...on maemo, it is built in.
    open email client
    menu
    new account
    next (wait for it to search)
    choose your region
    service provider:  Nokia Messaging
    next
    e-mail address: (to the nokia messaging account you have for login)
    password: (to the nokia messaging account you have for login)
    next
    it will search...and probably have an error with server and then ask to have you put in all the advanced information.  use this information below:
    email address:
    your nokia messaging login email
    incoming:
    mail.nokia.com
    143
    outgoing:
    mail.nokia.com
    587
    with no securities used.
    next
    this should do it and then you will see it start to sync.
    then you can go into the settings of nokia messaging and set up the sync settings and times.
    now when you open your email client, you will see "Nokia Messaging"
    when you tap on that, you will now see all the email addresses you have set up for nokia messaging.
    you can add up to 10 email addresses on the nokia messaging....and i am currently using 6 on my integrated email client...so you can have at least 16 email address on your n900 now, probably up to 20.

  • Three days ago I replaced an earlier Adobe Flash with version 10.1.85.3. This has not appeared in the list in Tools/Addons/Plugins to permit me to enable it in Firefox, and I can't find the answer in the knowledge base.

    Re. installing/enabling a Flash plugin
    1 I'm running Firefox version 3.6.10 on Windows XP SP3.
    2 Three days ago Secunia PSI informed me the installed version of Flash was a security threat so I uninstalled it then installed the latest version 10.1.85.3 . It appears in the Control Panel add and remove programs listings.
    3 As of 2 days ago BBC iplayer keeps telling me I need to install (latest version of?) Flash.
    4 I don't have this problem using my fallback Internet Explorer.
    5 Assuming I needed to enable Flash in Firefox I went to Tools/Addons/Plugins but Flash is not listed there.
    6 Firefox Support/Knowledge base/Installing the Flash plugin doesn't help - in step 2 I don't see the yellow 'Additional plugins are required...' bar when I go to the Adobe test page, but then why should I, it's already installed.
    6 What's going on - please help!

    I have the same problem as luiszamarreno. I tried using the following to update:
    sudo apt-get --purge remove adobe-flashplugin flashplugin-nonfree; sudo apt-get --purge autoremove; sudo apt-get clean; sudo apt-get upgrade; sudo apt-get --purge autoremove; sudo apt-get install flashplugin-nonfree
    Now I have the "flashplugin-nonfree" v. 10.01.218+really9.0.283.0ubuntu1 and it still doesn't work for the Facebook plugin. I get the notice it has crashed and needs to be updated. I also get a notice to update on the plugins page under tools --> addons. When I try that, it goes to the Adobe Web site, which I have seen on Ubuntu support sites that I do not want to upgrade from there.
    Does anybody have an answer to this?

Maybe you are looking for

  • How to create command button called 'Remarks' and Check box in ALV GRID?

    Hi, Experts, Requirement is: in the ALVE GRID report output, user select a record by clicking the check box and pressing the button 'Remarks' it will take me into other transaction from the output list. Please help me out. Reward points. Sekhar

  • Contact number choices... can they all be listed?

    When I put in my contacts with Multiple numbers (eg.. mobile, Home ect) Only one option number shows when I click on them. For example I made my husband a favorite and when I choose him from contacts it only says call mobile. I would like to know if

  • Sender Cost center based allocation

    Hi All, This is unique scenario as per my knowledge. Actually we have same cost centers present in two (rather more) different buildings in the company. And as per cost center design each building has been created as a cost center. And the building c

  • How to block PR creation with no release strategy

    Hi, We have this PR release strategy implemented. Currrently, user are able to create the PR even there's no release strategy determined. Thus, PO can be created as the processing state is "02 Active".  Would like to block user from creating the PR i

  • About phones

    What is the restriction code for nokia 2730classic-1