From octave-maintainers-request at bevo dot che dot wisc dot edu Fri Oct 22 13:11:17 1999 Subject: IRIX problems and solutions From: "John W. Eaton" To: bsapp at lanl dot gov Cc: octave-maintainers at bevo dot che dot wisc dot edu Date: Fri, 22 Oct 1999 13:10:16 -0500 (CDT) On 22-Oct-1999, Ben Sapp wrote: | munge-texi fails to compile on IRIX. The reason is that it seems to | have some c++ symbols that are really large when the names get mangled. | The GNU assembler can handle them, but the IRIX assembler can not. The | GNU assembler does not work on IRIX though. So, the -fsquangle option | is needed when you compile. This means that to compile on IRIX a person | need a GNU C compiler newer than egcs 1.1. | | It is probably unwise to compile the entire distribution with the | -fsquangle option. The gcc manual explains why: | ---gcc manual excerpt --- | `-fsquangle' will enable a compressed form of name mangling for | identifiers. In particular, it helps to shorten very long names by | recognizing types and class names which occur more than once, | replacing them with special short ID codes. This option also | requires any C++ libraries being used to be compiled with this | option as well. The compiler has this disabled (the equivalent of | `-fno-squangle') by default. | ---gcc manual excerpt--- | | Also I hope that it does not need to be linked with other programs in | the fututre as that will complicate things Further. Yup. I found this after I made the tar file and tried compiling on a DEC Alpha running DU 4.x, which has the same problem. So now munge-texi.cc uses the old libg++ Map classes (already, and for a long time now, distributed with Octave) and should work on systems that barf on long symbol names. And some people have dared to wonder why Octave doesn't use the STL! :-/ jwe