Yo All,

        I am experiencing strange happenings with gcc on Mandrake-7.1 (Mag
Cover Version UK) I beleive there is a fault in the pre-processor.

I have been trying to build and test gcc-2.95.2 since there was no
c++-devel stuff included on the dist disk (I know, I know! this has been
flogged to death) as well as the interesting fact that 7.2 has returned
to 2.95.2 from 2.95.3 no doubt due to the posting on gnuannouce stating
that the 2.95.3 version generates non-portable code.

I sucessfully built the compiler using "make bootstrap" using
i686-linux-gnu as the target. Bitter experience has taught me that if
there are testsuites then they are meant to be run. Although there are
only regression tests in 2.95.2 its better than nothing. I ran "make
check" and Oh Dear! no dejagnu either loaded or on the dist cd. Not to
be discouraged I downloaded dejagnu-1.3 from a server near me and tried
to compile it I didn't get that far because it kept bombing "configure".
The error messages indicated that xmkmf was improperly configured;
feeding configure the X directories cured this and I got a Makefile.
Running the Makefile generated the following error messages and a fatal
error whcih occurred during the compilation of the tcl libs I have also
tried compiling a version (8p2) of tcl which I already have compiled on
my USL based svr4 system using gcc-2.95.2 so I know there isn't a
problem with the package.

> ./../generic/tclPosixStr.c:340: duplicate case value
> ./../generic/tclPosixStr.c:328: this is the first entry for that value
> ./../generic/tclPosixStr.c: In function `Tcl_ErrnoMsg':
> ./../generic/tclPosixStr.c:787: duplicate case value
> ./../generic/tclPosixStr.c:775: this is the first entry for that value     


Attached are lines 328 to 340 from the appropriate file and as can be
seen they are NOT duplicates.

  328     case ENOTSUP: return "ENOTSUP";
    329 #endif
    330 #ifdef ENOTTY
    331     case ENOTTY: return "ENOTTY";
    332 #endif
    333 #ifdef ENOTUNIQ
    334     case ENOTUNIQ: return "ENOTUNIQ";
    335 #endif
    336 #ifdef ENXIO
    337     case ENXIO: return "ENXIO";
    338 #endif
    339 #ifdef EOPNOTSUPP
    340     case EOPNOTSUPP: return "EOPNOTSUPP"; 


and lines 775 to 787

 775     case ENOTSUP: return "operation not supported";
    776 #endif
    777 #ifdef ENOTTY
    778     case ENOTTY: return "inappropriate device for ioctl";
    779 #endif
    780 #ifdef ENOTUNIQ
    781     case ENOTUNIQ: return "name not unique on network";
    782 #endif
    783 #ifdef ENXIO
    784     case ENXIO: return "no such device or address";
    785 #endif
    786 #ifdef EOPNOTSUPP
    787     case EOPNOTSUPP: return "operation not supported on socket"; 

I'm not a a great code writer but I can't see a problem here. I have
tried to compile the package with both the 2.95.3 and the 2.95.2
compiler and both give the same result.

In addition I have tried to compile some c++ code (qcad-1.4.4 src) after
downloading some c++ support for the 2.95.3 compiler I get parse errors
which have no apparent cause as far as I can see. The same applies to
the 2.95.2 compiler.

Has anyone else seen problems like these? Would enabling cpplib in gcc
help?


                                                Yours Perpelexed,


Colin Close

Keep in touch with http://mandrakeforum.com: 
Subscribe the "[EMAIL PROTECTED]" mailing list.

Reply via email to