DragonLace.Net
Home of the GNAT AUX and future DRACO Ada compilers.

Development of Ada ports in Pkgsrc has started, and is going pretty well. While Pkgsrc claims it has been ported to many systems including all five that are supported by DragonLace, effectively it is only used by NetBSD and DragonFlyBSD. So far, there are packages for GNAT AUX, XML/Ada 4.1, GPRbuild (which is a custom version only for use with GNAT AUX), GNATPython, and Ada Web Server (AWS). The packages for GTKAda and GNAT Programming Studio 5 are the next in line. The packages have not been incorporated in the Pkgsrc repository yet, but they are available in the DragonLace git repository.

While building AWS, it was discovered that non-blocking sockets were not supported for at least the 64-bit versions of DragonFly BSD, NetBSD, and OpenBSD. FreeBSD64 seemed not to mind. In the end, the fix was to create a BSD-specific version of the thin-sockets binding and recompile GNAT. None of the published binaries have this fix, but the pkgsrc versions will build correctly.

Notes:

  • The 32-bit NetBSD pkgsrc package isn't building. It is likely a problem with the NetBSD installation, so this will be retested with a new installation of NetBSD 5.1
  • The DragonFly BSDs have a weird exception handling bug that is very hard to reproduce in a small test case, but it has been seen in the 32-bit version while build GPRbuild and AWS. GPRbuild was altered to avoid "normal" exceptions to work around the issue, but this is a band-aid. AWS is also showing symptoms during exceptions for file-not-found file open procedures, but not in small test cases. The symptom is trying to recall variables from an empty stack
  • The 10 NetBSD failures are due to the lack of MD Unwind Support for the platform. This will be added to handle null dereference pointers and enable stack checking.
  • The FreeBSD and DragonFly BSD MD Unwind Support may not be correct for all platforms and will be reviewed. It was thought this is the source of the error mentioned above but disabling it althogether did not solve the issue. Update: The code has been reviewed and updated for the 64-bit versions.
Last edited Fri May 24 16:28:01 2013
© 2010 John Marino | design elements by styleshout | artwork by Arturo Aguirre