On Thu, 16 Dec 2004, Alex wrote: > Solaris 10, x86; gcc 3.3.2 > While building perl, I'v got: > > toke.c: In function `Perl_yylex': > toke.c:2558: error: cast to union type from type not present in union
I can't reproduce this on Solaris 8, SPARC, with gcc 3.4.1. Here's line 2558: bof = PerlIO_tell(PL_rsfp) == (Off_t)SvCUR(PL_linestr); It's possible your gcc would be happier with an extra pair of parentheses around the righthand side of the '=' sign. You can also try make toke.i to see what that line expands to for your system. For me, it gave bof = Perl_PerlIO_tell(PL_rsfp) == (off64_t)((XPV*) (PL_linestr)->sv_any)->xpv_cur; which looks fine. If you suspect your compiler, you can tell it not to optimize (toke.c is the most tortuous file to optimize) with rm toke.o make toke.o OPTIMIZE= to turn off the optimizer for that file. For comparison, here's the output of my ./myconfig: Summary of my perl5 (revision 5 version 8 subversion 6) configuration: Platform: osname=solaris, osvers=2.8, archname=sun4-solaris uname='sunos xxx 5.8 generic_117350-02 sun4u sparc sunw,ultra-5_10 ' config_args='-Dcc=/opt/gcc/bin/gcc -Dprefix=/opt/perl' hint=recommended, useposix=true, d_sigaction=define usethreads=undef use5005threads=undef useithreads=undef usemultiplicity=undef useperlio=define d_sfio=undef uselargefiles=define usesocks=undef use64bitint=undef use64bitall=undef uselongdouble=undef usemymalloc=n, bincompat5005=undef Compiler: cc='/opt/gcc/bin/gcc', ccflags ='-fno-strict-aliasing -pipe -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64', optimize='-O', cppflags='-fno-strict-aliasing -pipe -I/usr/local/include' ccversion='', gccversion='3.4.1', gccosandvers='solaris2.8' intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=4321 d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=16 ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8 alignbytes=8, prototype=define Linker and Libraries: ld='/opt/gcc/bin/gcc', ldflags ='-L/usr/local/lib ' libpth=/usr/local/lib /usr/lib /usr/ccs/lib libs=-lsocket -lnsl -lgdbm -ldb -ldl -lm -lc perllibs=-lsocket -lnsl -ldl -lm -lc libc=/lib/libc.so, so=so, useshrplib=false, libperl=libperl.a gnulibc_version='' Dynamic Linking: dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags=' ' cccdlflags='-fPIC', lddlflags='-G -L/usr/local/lib' -- Andy Dougherty [EMAIL PROTECTED]