help-octave
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

compiling octave with egcs 1.1 ?


From: John W. Eaton
Subject: compiling octave with egcs 1.1 ?
Date: Thu, 3 Sep 1998 23:26:36 -0500 (CDT)

On  3-Sep-1998, Muzaffer Kal <address@hidden> wrote:

| has anyone done this ? Does it work ?

I doubt that it will work for the 2.0.13 distribution without the
patches that Mumit Khan posted to the bug-octave mailing list.  You
can get them from the mailing list archive on Octave web site at
http://www.che.wisc.edu/octave/mailing-lists/bug-octave/1998/270.

Even with the patches, you may have some trouble

FWIW, I just picked up egcs-1.1a to try to compile Octave on a Linux
system and and found the following problem.  If anyone has a solution
for this problem that is better than just redefining the W* macros in
Octave's syswait.h include file, please let me know (or better yet,
just post it to the bug-octave mailing list).

The rest of this message is the text of the bug report I just sent in
to address@hidden


The following code compiles fine with the C compiler, but fails with
the C++ compiler.

  void
  foobar (void)
  {
    int foo = 0;
    foo = __extension__ ({
      union {
        __typeof (foo) __in;
      } __u;
      __u.__in = foo;
    });
  }

Here is the output from running g++ -v:

  Reading specs from 
/usr/local/egcs/1.1a/lib/gcc-lib/i686-pc-linux-gnulibc1/egcs-2.91.57/specs
  gcc version egcs-2.91.57 19980901 (egcs-1.1 release)
   /usr/local/egcs/1.1a/lib/gcc-lib/i686-pc-linux-gnulibc1/egcs-2.91.57/cpp 
-lang-c++ -v -undef -D__GNUC__=2 -D__GNUG__=2 -D__cplusplus -D__GNUC_MINOR__=91 
-D__ELF__ -Dunix -Dlinux -D__ELF__ -D__unix__ -D__linux__ -D__unix -D__linux 
-Asystem(posix) -D__EXCEPTIONS -Asystem(unix) -Acpu(i386) -Amachine(i386) 
-Di386 -D__i386 -D__i386__ -Di686 -Dpentiumpro -D__i686 -D__i686__ 
-D__pentiumpro -D__pentiumpro__ foo.cc /tmp/ccLSx5ek.ii
  GNU CPP version egcs-2.91.57 19980901 (egcs-1.1 release) (i386 Linux/ELF)
  #include "..." search starts here:
  #include <...> search starts here:
   /usr/local/egcs/1.1a/include/g++
   /usr/local/include
   /usr/local/egcs/1.1a/i686-pc-linux-gnulibc1/include
   /usr/local/egcs/1.1a/lib/gcc-lib/i686-pc-linux-gnulibc1/egcs-2.91.57/include
   /usr/include
  End of search list.
   /usr/local/egcs/1.1a/lib/gcc-lib/i686-pc-linux-gnulibc1/egcs-2.91.57/cc1plus 
/tmp/ccLSx5ek.ii -quiet -dumpbase foo.cc -version -o /tmp/ccIAN1Ct.s
  GNU C++ version egcs-2.91.57 19980901 (egcs-1.1 release) 
(i686-pc-linux-gnulibc1) compiled by GNU C version egcs-2.91.57 19980901 
(egcs-1.1 release).
  foo.cc: In function `void foobar()':
  foo.cc:7: `foo' undeclared (first use this function)
  foo.cc:7: (Each undeclared identifier is reported only once
  foo.cc:7: for each function it appears in.)
  foo.cc:7: warning: ANSI C++ forbids declaration `__in' with no type

The code fragment above is what I came up with after expanding macros
and simplifying code in Octave that looks like this:

  #include <sys/types.h>
  #include <sys/wait.h>

  ...

  int status = 0;

  ...

  if (WIFEXITED (status))
    status = WEXITSTATUS (status);

  ...

and produces the same errors.

I built egcs with

  configure --enable-shared --prefix=/usr/local/egcs/1.1a
  make bootstrap

on a Linux 2.0.30 system with libc 5.4.33.


jwe



reply via email to

[Prev in Thread] Current Thread [Next in Thread]