linux RH 9 compilation errors

From: Volker Mertens <Volker.Mertens_at_dlr.de>
Date: Fri, 25 Jul 2003 09:59:09 +0200
To: prima_at_BSD-Dk.dk

Hello,

I downloaded Prima-1.11 on a RH 9 machine with perl 5.8.0 and
gcc -v
Reading specs from /usr/lib/gcc-lib/i386-redhat-linux/3.2.2/specs
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --disable-checking --with-system-zlib --enable-__cxa_atexit --host=i386-redhat-linux
Thread model: posix
gcc version 3.2.2 20030222 (Red Hat Linux 3.2.2-5)

After unpacking the first command failed:
perl Makefile.PL
Setting up working environment.
Determining compiler type... GNU
Cannot find VERSION string in Prima.pm

This was due to
LANG=en_US.UTF-8
after setting
LANG=en_US
the command was executed, but then the make failed:

gcc -fno-strict-aliasing -I/usr/local/include -I/usr/include/gdbm -Wall -O2 -march=i386 -mcpu=i686 -g -fPIC -c -Iinclude -Iinclude/generic -I/usr/lib/perl5/5.8.0/i386-linux-thread-multi/CORE -I/usr/local/include -I/usr/X11R6/include -DHAVE_CONFIG_H=1 -o img/codec_jpeg.o img/codec_jpeg.c
In file included from /usr/lib/perl5/5.8.0/i386-linux-thread-multi/CORE/op.h:480,
                 from /usr/lib/perl5/5.8.0/i386-linux-thread-multi/CORE/perl.h:2268,
                 from include/apricot.h:86,
                 from include/img.h:34,
                 from img/codec_jpeg.c:36:
/usr/lib/perl5/5.8.0/i386-linux-thread-multi/CORE/reentr.h:602: field `_crypt_struct' has incomplete type
/usr/lib/perl5/5.8.0/i386-linux-thread-multi/CORE/reentr.h:747: confused by earlier errors, bailing out

the place in reentr.h is:

typedef struct {
#ifdef HAS_ASCTIME_R
        char* _asctime_buffer;
        size_t _asctime_size;
#endif /* HAS_ASCTIME_R */
#ifdef HAS_CRYPT_R
#if CRYPT_R_PROTO == REENTRANT_PROTO_B_CCD
        CRYPTD* _crypt_data;
#else
        struct crypt_data _crypt_struct; <-- line 602
#endif
#endif /* HAS_CRYPT_R */

crypt_data is defined in perl.h, but only for AIX:

#if defined(_AIX) && !defined(_AIX43)
#if defined(USE_REENTRANT) || defined(_REENTRANT) || defined(_THREAD_SAFE)
/* We cannot include <crypt.h> to get the struct crypt_data
 * because of setkey prototype problems when threading */
typedef struct crypt_data { /* straight from /usr/include/crypt.h */
    /* From OSF, Not needed in AIX
       char C[28], D[28];
    */
    char E[48];
    char KS[16][48];
    char block[66];
    char iobuf[16];
} CRYPTD;
#endif /* threading */
#endif /* AIX */

I commented the #if defined(_AIX) && !defined(_AIX43) out, but then there are
more errors:
gcc -fno-strict-aliasing -I/usr/local/include -I/usr/include/gdbm -Wall -O2 -march=i386 -mcpu=i686 -g -fPIC -c -Iinclude -Iinclude/generic -I/usr/lib/perl5/5.8.0/i386-linux-thread-multi/CORE -I/usr/local/include -I/usr/X11R6/include -DHAVE_CONFIG_H=1 -o img/codec_jpeg.o img/codec_jpeg.c
In file included from include/apricot.h:86,
                 from include/img.h:34,
                 from img/codec_jpeg.c:36:
/usr/lib/perl5/5.8.0/i386-linux-thread-multi/CORE/perl.h:2256:10: warning: "/*"
within comment
In file included from /usr/lib/perl5/5.8.0/i386-linux-thread-multi/CORE/perl.h:3427,
                 from include/apricot.h:86,
                 from include/img.h:34,
                 from img/codec_jpeg.c:36:
/usr/lib/perl5/5.8.0/i386-linux-thread-multi/CORE/proto.h:248: parse error before "off64_t"
/usr/lib/perl5/5.8.0/i386-linux-thread-multi/CORE/proto.h:250: parse error before "Perl_do_sysseek"
/usr/lib/perl5/5.8.0/i386-linux-thread-multi/CORE/proto.h:250: parse error before "off64_t"
/usr/lib/perl5/5.8.0/i386-linux-thread-multi/CORE/proto.h:250: warning: type defaults to `int' in declaration of `Perl_do_sysseek'
/usr/lib/perl5/5.8.0/i386-linux-thread-multi/CORE/proto.h:250: warning: data definition has no type or storage class
/usr/lib/perl5/5.8.0/i386-linux-thread-multi/CORE/proto.h:251: parse error before "Perl_do_tell"
/usr/lib/perl5/5.8.0/i386-linux-thread-multi/CORE/proto.h:251: warning: type defaults to `int' in declaration of `Perl_do_tell'
/usr/lib/perl5/5.8.0/i386-linux-thread-multi/CORE/proto.h:251: warning: data definition has no type or storage class
/usr/lib/perl5/5.8.0/i386-linux-thread-multi/CORE/proto.h:1375: parse error before "Perl_PerlIO_tell"
/usr/lib/perl5/5.8.0/i386-linux-thread-multi/CORE/proto.h:1375: warning: type defaults to `int' in declaration of `Perl_PerlIO_tell'
/usr/lib/perl5/5.8.0/i386-linux-thread-multi/CORE/proto.h:1375: warning: data definition has no type or storage class
/usr/lib/perl5/5.8.0/i386-linux-thread-multi/CORE/proto.h:1376: parse error before "off64_t"
img/codec_jpeg.c: In function `open_load':
img/codec_jpeg.c:108: warning: implicit declaration of function `fseeko'
make: *** [img/codec_jpeg.o] Error 1

Is this an perl-linux issue?
I saw you are able to provide binaries for perl 5.8 on cygwin, OS/2 and
windows.

Volker
Received on Fri 25 Jul 2003 - 09:59:31 CEST

This archive was generated by hypermail 2.2.0 : Sat 19 Mar 2011 - 18:35:04 CET