Notice: The information and software provided on this site is no longer maintained or developed by Omron, or Omron Adept MobileRobots. It is provided as an archive only. This site may be discontinued at any time and without warning.

Variants or forks of some Open Source projects might now be maintained by individual developers and customers for their own use; they may have published them in popular online source code repositories or other web sites. These versions are not endorsed or supported by Omron, but by their individual users and developers. Contact the maintainers or developers of those forks only for support and questions. All copyrights and other license terms continue to apply.

Invalid Data Returned from ARIA or ARNL

From MobileRobots Research and Academic Customer Support

Jump to: navigation, search

One common reason that obviously invalid data is returned from function calls in ARIA, ARNL, ArNetworking, or other libraries, is that the libraries and program were built with incompatible compilers.

Make sure you are linking to the correct libraries for the compiler and version of that compiler you are using. You may need to rebuild ARIA and/or your program with the same compiler to resolve the problem.

If you are using incompatible libraries for your program, the program will run, and some calls into the libraries may work while others return invalid data or crash. For example, you may call a method of ArRobot in ARIA such as getX() or getY() and receive as the return value 0 (even if that is incorrect) or a completely invalid value (extremely large, for example).

In Linux (Debian and Redhat) packages, libraries are built with GCC 3.4. GCC 4.0 and later is not strictly ABI (link) compatible, and so you must either use GCC 3.4 to build a program that uses ARIA or ARNL, or rebuild ARIA with GCC 4.x+. A separate ARNL Debian package is also provided that was built with GCC 4 on a later version of Debian.

In Windows packages, libraries built with Visual C++ 7.1 (Visual Studio 2003) and with Visual C++ 9.0 (Visual Studio 2008) are provided. The VC9 libraries contain the string "VC9" in their filenames, e.g. AriaVC9.lib, AriaVC9.dll, etc. Make sure that all configurations of all projects are linking to the right libraries.

Personal tools