www.digitalmars.com         C & C++   DMDScript  

D.gnu - Errors in Linux D-Compiler

reply Patrick <Patrick_member pathlink.com> writes:
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
Jan 28 2003
parent reply Jonathan Andrew <Jonathan_member pathlink.com> writes:
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
Jan 29 2003
next sibling parent reply Burton Radons <loth users.sourceforge.net> writes:
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.
Jan 29 2003
parent reply Brad Beveridge <b.beveridge clear.net.nz> writes:
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.
 
Jan 29 2003
parent reply Antti Sykari <jsykari gamma.hut.fi> writes:
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
Jan 29 2003
parent "Luna Kid" <lunakid neuropolis.org> writes:
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
Apr 03 2003
prev sibling parent reply Theodore Reed <rizen surreality.us> writes:
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"
Feb 04 2003
parent reply Evan McClanahan <evan dontSPAMaltarinteractive.com> writes:
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
Feb 09 2003
parent Theodore Reed <rizen surreality.us> writes:
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
Feb 09 2003