From 7e0858145c30d55e1793e788103b90aff75fec95 Mon Sep 17 00:00:00 2001 From: wolf Date: Thu, 12 Oct 2000 12:28:20 +0000 Subject: [PATCH] Notes on DEC Alpha OSF1. git-svn-id: https://svn.dealii.org/trunk@3430 0785d39b-7218-0410-832d-ea1e28bc413d --- deal.II/doc/platforms/dec-osf.html | 82 ++++++++++++++++++++++++++++++ 1 file changed, 82 insertions(+) create mode 100644 deal.II/doc/platforms/dec-osf.html diff --git a/deal.II/doc/platforms/dec-osf.html b/deal.II/doc/platforms/dec-osf.html new file mode 100644 index 0000000000..38f3c94855 --- /dev/null +++ b/deal.II/doc/platforms/dec-osf.html @@ -0,0 +1,82 @@ + + + + + + The deal.II Readme -- Installation Instructions + + + + + + + +

Installation instructions for DEC OSF V4.0

+ +

+ We have tried to compile deal.II on DEC Alpha + workstations under OSF1 V4.0. The main problem seems to be that on + this operating system, that the GNU BinUtils are not supported, so + we have to use the system assembler. That, however, has a built-in + limit for the size of symbol names, which is quickly exceeded in + the template-heavy parts of the code. Typical error messages from + the assembler therefore spill out several pages of symbols with an + interspersed note that that symbol exceeded the maximum line + length of the assembler. +

+ +

+ Unfortunately, when using gcc2.95 or previous versions or gcc + there seems no real way to avoid this. Later versions of gcc will + use a different scheme (called squangling, an + amalgamation of squeezing and mangling) to mangle C++ + names into symbol names that generate shorter symbols. However, + this scheme is not readily available on gcc2.95. However, if you + are willing to recompile and reinstall gcc, you can switch on the + squangling scheme by slighly modifying one of gcc's source + files. The full details of this are listed + on + this page. With this scheme switched on, we were able to + compile the library. +

+ +

+ Problems do not end here, though. The system assembler, due to its + limited line length, also rejects long lines of debugging + information. We avoid this by not using the -ggdb switch of gcc, + but rather use -gstabs. This generates less debugging information, + but the lines are also shorter, so the assembler can digest + them. However, you should be aware that this can, in some cases, + reduce your ability to debug programs, due to missing information + in the debugger. +

+ +

+ Another problem occured when gcc generated an internal compiler + error when compiling the AssertThrow macro. (Note that we have + also observed this effect on DEC Alpha stations running Linux + instead of OSF.) In order to avoid this problem, on systems where + this happens we changed the behaviour of this macro to simply + abort the program, instead of throwing an exception. This then + does not allow you to catch exceptions that are generated on other + systems, but it was the only way we were able to make the compiler + work. If anyone should have a better idea, we would be eager to + hear about it. +

+ +

+ The decisions to use -gstabs over -ggdb, and whether the + AssertThrow macro works correctly are done at configure time, and + are not hard-coded into the library. Thus, if your system has a + patch for the system assembler installed that allows it to accept + longer debugging information lines, or if your compiler accepts + the AssertThrow macro, then the restrictions above do not + apply. If you install a patch to the assembler or the compiler to + avoid these problems, re-configure the deal.II library and + re-compile it for the changes to take full effect. +

+ + + + -- 2.39.5