Thread overview
Errors in Linux D-Compiler
Jan 28, 2003
Patrick
Jan 29, 2003
Jonathan Andrew
Jan 29, 2003
Burton Radons
Jan 30, 2003
Brad Beveridge
Jan 30, 2003
Antti Sykari
Apr 03, 2003
Luna Kid
Feb 04, 2003
Theodore Reed
Feb 09, 2003
Evan McClanahan
Feb 09, 2003
Theodore Reed
January 28, 2003
Hi!

I have tried to compile DLI under this Debian-machines here in the university.
(Btw: I am only a user here. At home I can only install RedHat or SuSE. Debian
is too hard for me to install).
The System here is an AMD Athlon with Debian GNU/Linux 3.0; Kernel 2.4.17;
gcc/g++ 2.95.4.


If I want to compile it (dli-0.1.2.tar.gz), there comes the following Error:
-------
9607794@m03:~/d/dli-0.1.2$ make
In file included from expression.h:15,
from type.h:16,
from impcnvgen.cpp:13:
lexer.h:204: anonymous class type not used to declare any objects
make: *** [impcnvgen] Error 1
9607794@m03:~/d/dli-0.1.2$
-------

The same Error comes by trying to compile dli-0.0.9 until dli-0.1.1.

If I change the line 200 of lexer.h from
struct
to
struct asdf
the first one will be compiled. But it ends with

------
9607794@m03:~/d/dli-0.1.2$ make
gcc impcnvgen.cpp -o impcnvgen
/impcnvgen
gcc idgen.cpp -o idgen
/idgen
g++ -Werror -g   -c -o /home/96/0/7/9607794/d/dli-0.1.2/access.o
/home/96/0/7/9607794/d/dli-0.1.2/access.cpp
g++ -Werror -g   -c -o /home/96/0/7/9607794/d/dli-0.1.2/attrib.o
/home/96/0/7/9607794/d/dli-0.1.2/attrib.cpp
g++ -Werror -g   -c -o /home/96/0/7/9607794/d/dli-0.1.2/cast.o
/home/96/0/7/9607794/d/dli-0.1.2/cast.cpp
g++ -Werror -g   -c -o /home/96/0/7/9607794/d/dli-0.1.2/class.o
/home/96/0/7/9607794/d/dli-0.1.2/class.cpp
g++ -Werror -g   -c -o /home/96/0/7/9607794/d/dli-0.1.2/constfold.o
/home/96/0/7/9607794/d/dli-0.1.2/constfold.cpp
g++ -Werror -g   -c -o /home/96/0/7/9607794/d/dli-0.1.2/debcond.o
/home/96/0/7/9607794/d/dli-0.1.2/debcond.cpp
g++ -Werror -g   -c -o /home/96/0/7/9607794/d/dli-0.1.2/declaration.o
/home/96/0/7/9607794/d/dli-0.1.2/declaration.cpp
g++ -Werror -g   -c -o /home/96/0/7/9607794/d/dli-0.1.2/dump.o
/home/96/0/7/9607794/d/dli-0.1.2/dump.cpp
g++ -Werror -g   -c -o /home/96/0/7/9607794/d/dli-0.1.2/enum.o
/home/96/0/7/9607794/d/dli-0.1.2/enum.cpp
g++ -Werror -g   -c -o /home/96/0/7/9607794/d/dli-0.1.2/expression.o
/home/96/0/7/9607794/d/dli-0.1.2/expression.cpp
/home/96/0/7/9607794/d/dli-0.1.2/expression.cpp: In method `struct Expression *
IntegerExp::semantic(Scope *)':
/home/96/0/7/9607794/d/dli-0.1.2/expression.cpp:476: integer constant out of
range
/home/96/0/7/9607794/d/dli-0.1.2/expression.cpp:478: integer constant out of
range
/home/96/0/7/9607794/d/dli-0.1.2/expression.cpp: In method `void
IntegerExp::toCBuffer(OutBuffer *)':
/home/96/0/7/9607794/d/dli-0.1.2/expression.cpp:504: integer constant out of
range
make: *** [/home/96/0/7/9607794/d/dli-0.1.2/expression.o] Error 1
9607794@m03:~/d/dli-0.1.2$
------

Whats wrong?
Why can I not compile the D-compiler?


Greatings
Patrick


January 29, 2003
Hello,
I had the same problem with it, I think it has to do with incompatibilities
between the gcc 3.xx series that Burton uses, and version 2.95. You might be
able to upgrade your compiler, or better yet, if they are university
machines, convince your sysadmin to do it. =)

-Jon

In article <b168q6$ku5$1@digitaldaemon.com>, Patrick says...
>
>Hi!
>
>I have tried to compile DLI under this Debian-machines here in the university.
>(Btw: I am only a user here. At home I can only install RedHat or SuSE. Debian
>is too hard for me to install).
>The System here is an AMD Athlon with Debian GNU/Linux 3.0; Kernel 2.4.17;
>gcc/g++ 2.95.4.
>
>
>If I want to compile it (dli-0.1.2.tar.gz), there comes the following Error:
>-------
>9607794@m03:~/d/dli-0.1.2$ make
>In file included from expression.h:15,
>from type.h:16,
>from impcnvgen.cpp:13:
>lexer.h:204: anonymous class type not used to declare any objects
>make: *** [impcnvgen] Error 1
>9607794@m03:~/d/dli-0.1.2$
>-------
>
>The same Error comes by trying to compile dli-0.0.9 until dli-0.1.1.
>
>If I change the line 200 of lexer.h from
>struct
>to
>struct asdf
>the first one will be compiled. But it ends with
>
>------
>9607794@m03:~/d/dli-0.1.2$ make
>gcc impcnvgen.cpp -o impcnvgen
>/impcnvgen
>gcc idgen.cpp -o idgen
>/idgen
>g++ -Werror -g   -c -o /home/96/0/7/9607794/d/dli-0.1.2/access.o
>/home/96/0/7/9607794/d/dli-0.1.2/access.cpp
>g++ -Werror -g   -c -o /home/96/0/7/9607794/d/dli-0.1.2/attrib.o
>/home/96/0/7/9607794/d/dli-0.1.2/attrib.cpp
>g++ -Werror -g   -c -o /home/96/0/7/9607794/d/dli-0.1.2/cast.o
>/home/96/0/7/9607794/d/dli-0.1.2/cast.cpp
>g++ -Werror -g   -c -o /home/96/0/7/9607794/d/dli-0.1.2/class.o
>/home/96/0/7/9607794/d/dli-0.1.2/class.cpp
>g++ -Werror -g   -c -o /home/96/0/7/9607794/d/dli-0.1.2/constfold.o
>/home/96/0/7/9607794/d/dli-0.1.2/constfold.cpp
>g++ -Werror -g   -c -o /home/96/0/7/9607794/d/dli-0.1.2/debcond.o
>/home/96/0/7/9607794/d/dli-0.1.2/debcond.cpp
>g++ -Werror -g   -c -o /home/96/0/7/9607794/d/dli-0.1.2/declaration.o
>/home/96/0/7/9607794/d/dli-0.1.2/declaration.cpp
>g++ -Werror -g   -c -o /home/96/0/7/9607794/d/dli-0.1.2/dump.o
>/home/96/0/7/9607794/d/dli-0.1.2/dump.cpp
>g++ -Werror -g   -c -o /home/96/0/7/9607794/d/dli-0.1.2/enum.o
>/home/96/0/7/9607794/d/dli-0.1.2/enum.cpp
>g++ -Werror -g   -c -o /home/96/0/7/9607794/d/dli-0.1.2/expression.o
>/home/96/0/7/9607794/d/dli-0.1.2/expression.cpp
>/home/96/0/7/9607794/d/dli-0.1.2/expression.cpp: In method `struct Expression *
>IntegerExp::semantic(Scope *)':
>/home/96/0/7/9607794/d/dli-0.1.2/expression.cpp:476: integer constant out of
>range
>/home/96/0/7/9607794/d/dli-0.1.2/expression.cpp:478: integer constant out of
>range
>/home/96/0/7/9607794/d/dli-0.1.2/expression.cpp: In method `void
>IntegerExp::toCBuffer(OutBuffer *)':
>/home/96/0/7/9607794/d/dli-0.1.2/expression.cpp:504: integer constant out of
>range
>make: *** [/home/96/0/7/9607794/d/dli-0.1.2/expression.o] Error 1
>9607794@m03:~/d/dli-0.1.2$
>------
>
>Whats wrong?
>Why can I not compile the D-compiler?
>
>
>Greatings
>Patrick
>
>


January 29, 2003
Jonathan Andrew wrote:
> I had the same problem with it, I think it has to do with incompatibilities
> between the gcc 3.xx series that Burton uses, and version 2.95. You might be
> able to upgrade your compiler, or better yet, if they are university machines, convince your sysadmin to do it. =)

Don't upgrade too far, as GCC 3.2.xx is also incompatible.  Whee!

IIRC Debian also has issues with errno being a macro.  DLI isn't going to work outside of RedHat 7.0 using GCC 3.0.xx without modifications.

January 30, 2003
Burton Radons wrote:
> Jonathan Andrew wrote:
> 
>> I had the same problem with it, I think it has to do with incompatibilities
>> between the gcc 3.xx series that Burton uses, and version 2.95. You might be
>> able to upgrade your compiler, or better yet, if they are university machines, convince your sysadmin to do it. =)
> 
> 
> Don't upgrade too far, as GCC 3.2.xx is also incompatible.  Whee!

As of DLI-0.1.2, GCC 3.2.xx isn't too incompatable :)  Just have to change <complex.h> to <complex> in a couple of files.  A few minutes effort at most.

Brad

> 
> IIRC Debian also has issues with errno being a macro.  DLI isn't going to work outside of RedHat 7.0 using GCC 3.0.xx without modifications.
> 

January 30, 2003
Brad Beveridge <b.beveridge@clear.net.nz> writes:

> Burton Radons wrote:
>> Jonathan Andrew wrote:
>>
>> Don't upgrade too far, as GCC 3.2.xx is also incompatible.  Whee!
>
> As of DLI-0.1.2, GCC 3.2.xx isn't too incompatable :)  Just have to change <complex.h> to <complex> in a couple of files.  A few minutes effort at most.

I've found that the easiest way to compile DLI on a contemporary GCC is to remove the flag "-Werror" from the first lines of the makefile.

-Antti

February 04, 2003
On Wed, 29 Jan 2003 18:18:51 +0000 (UTC)
Jonathan Andrew <Jonathan_member@pathlink.com> wrote:

> Hello,
> I had the same problem with it, I think it has to do with
> incompatibilities between the gcc 3.xx series that Burton uses, and
> version 2.95. You might be able to upgrade your compiler, or better
> yet, if they are university machines, convince your sysadmin to do it.

LOL

The sysadmin would have to upgrade to debian unstable to be able to
use GCC 3.x for the whole system (anything less would have problems if
you link to C++ at all), although 3.1 or 3.2 might be available for
woody. Except for IA-64. GCC 3 has been the default there for a while.
And even in debian unstable, the 3.2 transition is still going on, it'll
be another month or so (or more, I really have no clue) before the full
system is 3.2 only. For a living distro like Debian, transitioning
around major version incompatabilities takes a while.

He'd be better off just doing it on his home system. =P

-- 
Theodore Reed (rizen/bancus)       -==-       http://www.surreality.us/ ~OpenPGP Signed/Encrypted Mail Preferred; Finger me for my public key!~

"[...] for plainly, although every work of art is an expression, not every expression is a work of art." -- DeWitt H. Parker, "The Principles of Aesthetics"
February 09, 2003
Theodore Reed wrote:
> On Wed, 29 Jan 2003 18:18:51 +0000 (UTC)
> Jonathan Andrew <Jonathan_member@pathlink.com> wrote:
> 
> 
>>Hello,
>>I had the same problem with it, I think it has to do with
>>incompatibilities between the gcc 3.xx series that Burton uses, and
>>version 2.95. You might be able to upgrade your compiler, or better
>>yet, if they are university machines, convince your sysadmin to do it.
> 
> 
> LOL
> 
> The sysadmin would have to upgrade to debian unstable to be able to use GCC 3.x for the whole system (anything less would have problems if
> you link to C++ at all), although 3.1 or 3.2 might be available for
> woody. Except for IA-64. GCC 3 has been the default there for a while.
> And even in debian unstable, the 3.2 transition is still going on, it'll
> be another month or so (or more, I really have no clue) before the full
> system is 3.2 only. For a living distro like Debian, transitioning
> around major version incompatabilities takes a while.
> 
> He'd be better off just doing it on his home system. =P
> 

There's always debian-testing.  That's what I used to use when I had a debian system at work.  It's more stable than debian-unstable, but provides a lot more features than debian-stable.  Works really well most of the time.  Just a thought.

Evan

February 09, 2003
On Sun, 09 Feb 2003 17:26:36 +0100
Evan McClanahan <evan@dontSPAMaltarinteractive.com> wrote:

> Theodore Reed wrote:
> > On Wed, 29 Jan 2003 18:18:51 +0000 (UTC)
> > Jonathan Andrew <Jonathan_member@pathlink.com> wrote:
> > 
> > 
> >>Hello,
> >>I had the same problem with it, I think it has to do with
> >>incompatibilities between the gcc 3.xx series that Burton uses, and
> >>version 2.95. You might be able to upgrade your compiler, or better
> >>yet, if they are university machines, convince your sysadmin to do
> >it.
> > 
> > 
> > LOL
> > 
> > The sysadmin would have to upgrade to debian unstable to be able to use GCC 3.x for the whole system (anything less would have problems if you link to C++ at all), although 3.1 or 3.2 might be available for woody. Except for IA-64. GCC 3 has been the default there for a while. And even in debian unstable, the 3.2 transition is still going on, it'll be another month or so (or more, I really have no clue) before the full system is 3.2 only. For a living distro like Debian, transitioning around major version incompatabilities takes a while.
> > 
> > He'd be better off just doing it on his home system. =P
> > 
> 
> There's always debian-testing.  That's what I used to use when I had a debian system at work.  It's more stable than debian-unstable, but provides a lot more features than debian-stable.  Works really well most of the time.  Just a thought.

The default compiler in sarge is still gcc 2.95. Even in sid, it's still in the midst of a transition to 3.2. (Although I haven't had a problem with the transition yet, it's quite possible that some will crop up.)

In fact, since woody was released over 6 months ago, there isn't a whole
lot in sarge that is much newer than what's in woody. Newer XFree and
moz are the only things that come to mind (and I'm not sure about that,
even). Still using gcc 2.95, kde2, gnome 1, etc. You can get newer stuff by
using woody and installing unofficial backports, than by using sarge.

(For reference: woody == stable, sarge == testing, sid == unstable.)

-- 
Theodore Reed (rizen/bancus)       -==-       http://www.surreality.us/ ~OpenPGP Signed/Encrypted Mail Preferred; Finger me for my public key!~

"The word of Sin is Restriction. O man! refuse not thy wife, if she will! O lover, if thou wilt, depart! There is no bond that can unite the divided but love: all else is a curse. Accursed! Accursed be it to the aeons! Hell." -- Liber AL vel Legis, 1:41
April 03, 2003
Yeah, I wonder why it was put there, without also adding -Wno-deprecated, in the first place. ;)

Cheers,
Luna Kid

"Antti Sykari" <jsykari@gamma.hut.fi> wrote in message news:86el6v6pg8.fsf@hoastest1-8c.hoasnet.inet.fi...
> Brad Beveridge <b.beveridge@clear.net.nz> writes:
>
> > Burton Radons wrote:
> >> Jonathan Andrew wrote:
> >>
> >> Don't upgrade too far, as GCC 3.2.xx is also incompatible.  Whee!
> >
> > As of DLI-0.1.2, GCC 3.2.xx isn't too incompatable :)  Just have to change <complex.h> to <complex> in a couple of files.  A few minutes effort at most.
>
> I've found that the easiest way to compile DLI on a contemporary GCC is to remove the flag "-Werror" from the first lines of the makefile.
>
> -Antti
>