Date Posted: September 27, 2007
Update: April 2, 2009 IBM Dynamic Application Virtualization now supports Cell SDK 3.1, zLinux, and SLES 64-bit clients.
Tab navigation
- 1. Where can I find the User Guide?
- 2. Need I install the Virtualizer and Client on the same machine?
- 3. Where is the client-side execution log?
- 4. Where do I find the preferences.ini file (used to indicate a specific compiler)?
- 5. Where is the client-side configuration file?
- 6. What is semantic input for?
- 7. What happens if I supply incorrect semantics?
- 8. What does "IBM DAV Enabling the Application" mean?
- 9. What if I change anything in the header file?
- 10. Can I use the same port for more than one service on the same machine?
- 11. Can I start multiple services on same davStart?
- 12. How can I stop the services?
- 13. Must I start the Service Broker separately?
- 14. How can I stop the Service Broker?
- 15. Must I specify every listening port for the Service Broker?
- 16. Where is the execution log for the server-side davStart service?
- 17. Where is the server-side configuration file?
- 18. Can the location of the server-side IBM_DAV.conf file be configured?
- 19. Where are server-side shared objects located?
- 20. Can the library have a function with the same name as the header file?
- 21. Why does the automatic deployer not detect my IBM_DAV_PATH?
- 22. Does the Virtualizer currently support multi-dimensional arrays?
- 23. Does the application support server-side memory allocation for arrays?
- 24. Does the Virtualizer currently support #defined macros for array dimensions?
- 25. How many levels of header file "includes" does the Virtualizer support?
- 26. What happens if I attempt to use the same port for different services?
- 27. Why do I receive incorrect results when using char in Java?
- 28. Does IBM Dynamic Application Virtualization support Visual Basic Application (VBA)?
- 29. What "env" variables must I set on Linux in order to compile and run an IBM Dynamic Application Virtualization-enabled application?
- 30. Can I start the broker and the bridges on the same machine?
- 31. What is the dav.server.services.maxrequests entry in the IBM_DAV.conf for?
- 32. Must my header file and local deployment library have the same name?
- 33. Can I run more than one service with the same name?
- 34. Is there any logging for the Virtualizer?
- 35. What is the connectiondetails.txt file?
- 36. Need the Service Broker and the services be started with root privileges?
- 37. What is the XLL dependent on?
- 38. Why do I receive incorrect results when using unsigned int in Java?
- 39. Why are calls to the davrand service exiting before completion of sequence (for example, between initialize and perform)?
- 40. How do I rebuild the client sample library on zLinux?
- 41. How do I stop the service broker?
- 42. On Cell BE the SPE uses a 32-bit 'long' type. On my client architecture the 'long' type is 64bit How will sending this 64bit long to the SPE work ?
1. Where can I find the User Guide?
The User Guide is located on the Requirements tab of this alphaWorks® Web page.
1. Where is the FAQ?
Currently, there is no FAQ for this technology. Please check the discussion forum for questions and answers.
2. Need I install the Virtualizer and Client on the same machine?
In order to run the Virtualizer, the Client is also required; however, the IBM® Dynamic Application Virtualization-enabled client application can be executed on a machine with only the Client installed.
3. Where is the client-side execution log?
The log file's location can be configured in the IBM_DAV.conf file using the following parameters: dav.log.directory and dav.log.filename.
4. Where do I find the preferences.ini file (used to indicate a specific compiler)?
Under the IBM Dynamic Application Virtualization Client installation area; this area is, by default as follows:
- Windows: C:\Program Files\IBM\IBM DAV\Virtualizer\davGen
- Linux: /usr/ibmdav/virtualizer/davGen
5. Where is the client-side configuration file?
The default location is as follows:
- Windows: C:\Program Files\IBM\IBM DAV\Client\IBM_DAV.conf
- Linux: /usr/ibmdav/client/IBM_DAV.conf
6. What is semantic input for?
Semantic input is used to provide size information for array or pointer function parameters to the Virtualizer generator.
7. What happens if I supply incorrect semantics?
Compilation errors or unexpected behavior may occur. To avoid these errors, the semantic verifier should be used to test semantics locally, before deployment to the grid.
8. What does "IBM DAV Enabling the Application" mean?
This phrase means that the client application is rebuilt using the IBM Dynamic Application Virtualization Tooling-generated stub libs. This rebuilding allows the client to connect to the IBM Dynamic Application Virtualization Service running on the remote server.
9. What if I change anything in the header file?
The Virtualizer process must be repeated.
10. Can I use the same port for more than one service on the same machine?
No; please use a different port for each new service.
11. Can I start multiple services on same davStart?
Yes, if different services have been specified in the IBM_DAV.conf file. You merely need call the following:
./dav start12. How can I stop the services?
Use the following: ./dav stop
13. Must I start the Service Broker separately?
Yes, using the following: ./davServiceBroker
14. How can I stop the Service Broker?
Use the following: ./davServiceBroker –s
15. Must I specify every listening port for the Service Broker?
Yes, the port for the client and service interface must be defined in the IBM_DAV.conf file, as follows:
dav.broker.listen.services.port=4321 dav.broker.listen.clients.port=4320 |
16. Where is the execution log for the server-side davStart service?
The log file's location can be configured in the IBM_DAV.conf file using the following parameters: dav.log.directory and dav.log.filename.
17. Where is the server-side configuration file?
$IBM_DAV_PATH/IBM_DAV.conf
18. Can the location of the server-side IBM_DAV.conf file be configured?
./dav will look for the IBM_DAV.conf in the current directory and under the $IBM-DAV_PATH.
19. Where are server-side shared objects located?
By default, they are expected to be in $IBM_DAV_PATH/bin. The location can be configured.
20. Can the library have a function with the same name as the header file?
Yes.
21. Why does the automatic deployer not detect my IBM_DAV_PATH?
The automatic deployment tool requires that the IBM_DAV_PATH environment variable be set for the required users.
22. Does the Virtualizer currently support multi-dimensional arrays?
Currently it supports only two-dimensional arrays.
23. Does the application support server-side memory allocation for arrays?
Yes. Server-side memory allocation can be specified by using @param[out] in the semantics.
24. Does the Virtualizer currently support #defined macros for array dimensions?
Not currently.
25. How many levels of header file "includes" does the Virtualizer support?
One level is supported.
26. What happens if I attempt to use the same port for different services?
The new service will not start. A different port must be taken.
27. Why do I receive incorrect results when using char in Java?
In C, chars are 8-bit, unsigned integers, and IBM Dynamic Application Virtualization maps chars to bytes in Java. Because bytes in Java are 8-bit signed integers, when the result comes back, DAV returns the correct value to the Java client and Java then interprets the number as a signed number. This is the reason for the incorrect result.
28. Does IBM Dynamic Application Virtualization support Visual Basic Application (VBA)?
Yes. A VBA function call to the relevant IBM Dynamic Application Virtualization lib should be created.
For VBA-to-C-type mapping, please see How to Access DLLs in Excel.29. What "env" variables must I set on Linux in order to compile and run an IBM Dynamic Application Virtualization-enabled application?
LD_LIBRARY_PATH must be exported to $IBM_DAV_PATH/lib:.
30. Can I start the broker and the bridges on the same machine?
Yes, you merely need set in the IBM_DAV.conf file the following setting: dav.broker.listen.services.ip=127.0.0.1
31. What is the dav.server.services.maxrequests entry in the IBM_DAV.conf for?
This number determines how many requests the service broker will allow to run simultaneously on the same node. It must be defined in the IBM_DAV.conf file of the execution node.
32. Must my header file and local deployment library have the same name?
No. The @library semantic tag can be used to specify an alternate name.
33. Can I run more than one service with the same name?
Yes, if they are on different nodes.
34. Is there any logging for the Virtualizer?
No. If errors occur during code generation, the error messages will be displayed only on the screen.
35. What is the connectiondetails.txt file?
This is the sample user list file included for automatic deployment. The first line of this file refers to the build machine (that is, where the *_oai.so library is built). The second and subsequent lines refer to the deployment (that is, where the libraries are deployed).
36. Need the Service Broker and the services be started with root privileges?
No. They can be started by any user, but they must be stopped by the same user.
37. What is the XLL dependent on?
The Client must be installed on the same machine as the XLL. You must have the server started.
38. Why do I receive incorrect results when using unsigned int in Java?
In C, the signed int and unsigned int datatypes have the same number of bits; the only difference is that in the signed int, the highest bit is used to store the sign of the value. If the bit in unsigned value is set (when a number bigger then 2147483647 is stored in the variable), then the type conversion will increase the value by 2147483647 (this is, half of the signed int range). Because in Java there is no unsigned datatype, you can use the following workaround to convert the value received by Java in the correct one:
long rc = <unsigned int value>; rc &= 0xFFFFFFFFL; |
39. Why are calls to the davrand service exiting before completion of sequence (for example, between initialize and perform)?
The client-side time-out for the service needs to be increased in the client-side configuration file (IBM_DAV.conf). For example:
dav.server.service.<my_service>.timeout=2000 (milliseconds)
40. How do I rebuild the client sample library on zLinux?
The IBM Dynamic Application Virtualization client for zLinux is 31-bit. Add the compiler option -m31 to the sample makefile.
41. How do I stop the service broker?
$IBM_DAV_PATH/bin/davServiceBroker -s
42. On Cell BE the SPE uses a 32-bit 'long' type. On my client architecture the 'long' type is 64bit How will sending this 64bit long to the SPE work ?
Use the 'long long' type as parameter to the native function running on the SPE as this is 64-bit. Ensure the 'long long' type on the client architecture is also 64-bit. The function prototype will then specify 'long long ' in the header used by the IBM DAV Virtualizer.
