On Fri, 14 Apr 2000, Angus Leeming wrote:
> Just reporting on my attempts to compile your stuff, Allan, now that I have a
> new and improved system that's (almost) working.
>
> Compiling on a DEC Alpha under Tru64 Unix 4.0e
>
> Compiling with DIGITAL C++ V6.1-029
> =============================
> Perversely, the sigc++config.h warning is activated:
> #warning "Unknown architecture (send me gcc --dumpspecs)"
> Perverse, because this is a warning specific to win32 machines. Somehow, _WIN32
> is defined.
JMarc has already run into this one. It's been reported to Karl (sigc++
maintainer) but it looks like cxx reads every line of the file even the
ones it knows it doesn't have to interpret -- looking for preprocessor
directives it doesn't understand so it can give you a warning.
> Compilation fails in FormPrint with the warnings below.
> Now I have a working compiler, I will attack the
> #include <endian.h>
> #include <byteswap.h>
> bswap_32, bswap_64
> problems. I have access to a LinuxAlpha machine here, so this should be fairly
> straightforward. I mentioned in a previous letter that XDR has problems on
> Alpha machines anyway. I'll also attempt to sort that out.
>
> Note that (temporarily) hacking the code to use raw_format rather than
> XDR_format doesn't lead to any further success because cxx still dies with the
> composite() error below.
Do either of you (Angus and JMarc) have SGI's STL installed or are
prepared to install it? I'm wondering if it's a compiler problem or a
problem with the way Compaq/Digital have written their library. Try
compiling both with and without-included-string with SGI's STL.
> Compiling with gcc 2.95.2
> ===================
> Can compile FormCopyright. Compilation fails in FormPrint:
> ../../../xtl/xdr.h:32: endian.h: No such file or directory
> ../../../xtl/xdr.h:33: byteswap.h: No such file or directory
I would have thought that gcc should have included these headers or
something like them in its distribution.
> CXX Warning messages compiling FormPrint.C
> ===================================
>
> cxx: Warning: ../../../xtl/objio.h, line 148: the type "long long" is
> nonstandard
> def_simple_input(long long);
xtl really needs an xtl_config.h
> cxx: Warning: ../../../xtl/objio.h, line 391: "typeid" is reserved for future
> use as a keyword
> decl_oobj_method(2)
That's an interesting warning. I should have a look at the code there and
see what it isn't doing as a result.
> cxx: Error: ../../../xtl/objio.h, line 406: class "lyxstring" has no
> member "composite"
> detected during:
> instantiation of "void composite(Stream &, T &) [with
> Stream=obj_output<XDR_format<mem_buffer>, no_refs>,
> T=string]" at line 353
> instantiation of "obj_output<Format, References>
> &obj_output<Format, References>::simple(const T &) [with
> Format=XDR_format<mem_buffer>, References=no_refs,
> T=string]" at line 122 of "../../../src/PrinterParams.h"
> instantiation of "void PrinterParams::composite(Stream &) [with
> Stream=obj_output<XDR_format<mem_buffer>, no_refs>]" at
> line 406
> instantiation of "void composite(Stream &, T &) [with
> Stream=obj_output<XDR_format<mem_buffer>, no_refs>,
> T=PrinterParams]" at line 353
> instantiation of "obj_output<Format, References>
> &obj_output<Format, References>::simple(const T &) [with
> Format=XDR_format<mem_buffer>, References=no_refs,
> T=PrinterParams]" at line 134 of
> "../../../src/PrinterParams.h"
> data.composite(stream);
I better do some more reading in xtl's code.
Allan. (ARRae)