|
Re: field `_crypt_struct' has incomplete type: msg#00129programming.swig
On Mon, 20 Jan 2003 15:04:11 -0800, Jeff Cours <swig-j@xxxxxxxxxxxx> wrote: > Subject: [Swig] field `_crypt_struct' has incomplete type > > Hi, everyone - > > I'm trying to compile SWIG 1.3.17 on a RedHat 8.0 box using gcc 3.2. I'm > getting the "field `_crypt_struct' has incomplete type" error: > > gcc -c -I/usr/lib/perl5/5.8.0/i386-linux-thread-multi/CORE -DSWIG_GLOBAL > -Dbool=char -Dexplicit= libperl.c -fPIC -DPIC -o .libs/libperl.lo > 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:2209, > from libperl.c:217: > /usr/lib/perl5/5.8.0/i386-linux-thread-multi/CORE/reentr.h:602: field > `_crypt_struct' has incomplete type > In file included from > /usr/lib/perl5/5.8.0/i386-linux-thread-multi/CORE/perl.h:3368, > from libperl.c:217: > /usr/lib/perl5/5.8.0/i386-linux-thread-multi/CORE/proto.h:246: parse error > before "off64_t" > (etc...) > Same problem with Debian unstable: gcc -c -I/usr/lib/perl/5.8.0/CORE -DSWIG_GLOBAL -Dbool=char -Dexplicit= libperl.c -fPIC -DPIC -o .libs/libperl.lo In file included from /usr/lib/perl/5.8.0/CORE/op.h:480, from /usr/lib/perl/5.8.0/CORE/perl.h:2209, from libperl.c:217: /usr/lib/perl/5.8.0/CORE/reentr.h:602: field `_crypt_struct' has incomplete type In file included from /usr/lib/perl/5.8.0/CORE/perl.h:3368, from libperl.c:217: /usr/lib/perl/5.8.0/CORE/proto.h:246: parse error before "off64_t" /usr/lib/perl/5.8.0/CORE/proto.h:248: parse error before "Perl_do_sysseek" /usr/lib/perl/5.8.0/CORE/proto.h:248: parse error before "off64_t" /usr/lib/perl/5.8.0/CORE/proto.h:248: warning: data definition has no type or storage class /usr/lib/perl/5.8.0/CORE/proto.h:249: parse error before "Perl_do_tell" /usr/lib/perl/5.8.0/CORE/proto.h:249: warning: data definition has no type or storage class /usr/lib/perl/5.8.0/CORE/proto.h:1378: parse error before "Perl_PerlIO_tell" /usr/lib/perl/5.8.0/CORE/proto.h:1378: warning: data definition has no type or storage class /usr/lib/perl/5.8.0/CORE/proto.h:1379: parse error before "off64_t" make[1]: *** [libswigpl.la] Error 1 > I found one reference to this problem on the SWIG mailing list, > > <http://mailman.cs.uchicago.edu/pipermail/swig/2002-July/005299.html> > > that involved hacking perl.h and proto.h. Looking for something less > intrusive, I found a pointer to a thread in debian-perl, > > <http://www.mail-archive.com/debian-perl@xxxxxxxxxxxxxxxx/msg00617.html> > > that suggested running "perl -V:cppflags" to see what flags are necessary. > Among other things, it showed '-D_GNU_SOURCE', which agrees with this message: > > <http://archive.develooper.com/perl5-porters@xxxxxxxx/msg75535.html> > > Unfortunately, the compile fails in the Perl section of Runtime/Makefile, > which doesn't seem to honor CPPFLAGS, CXXFLAGS, or CFLAGS. If I hack > Runtime/Makefile manually to add -D_GNU_SOURCE: > > libswigpl$(RELEASESUFFIX).la: $(srcdir)/$(SWIG_TYPECHECK) > $(srcdir)/$(PERL5_RUNTIME) > @rm -f libperl.c > # cat $(srcdir)/perlrun.h >> libperl.c > cat $(srcdir)/$(SWIG_TYPECHECK) $(srcdir)/$(PERL5_RUNTIME) >> > libperl.c > $(LIBTOOL) $(CC) -c $(PERL5_INCLUDE) -DSWIG_GLOBAL -D_GNU_SOURCE > -Dbool=char -Dexplicit= libperl.c > $(LIBTOOL) $(CC) -o libswigpl$(RELEASESUFFIX).la libperl.lo -rpath > $(LIB_DIR) -avoid-version > > the compile succeeds. > > Is there a more elegant way to solve this problem? > > thanks in advance, > Jeff > Bob -- QOTD: "What do you mean, you had the dog fixed? Just what made you think he was broken!"
|
|
| <Prev in Thread] | Current Thread | [Next in Thread> |
|---|---|---|
| Previous by Date: | Re: Autoconf support suggestion: 00129, Sebastian Huber |
|---|---|
| Next by Date: | Re: field `_crypt_struct' has incomplete type: 00129, Jeff Cours |
| Previous by Thread: | Re: field `_crypt_struct' has incomplete typei: 00129, Jeff Cours |
| Next by Thread: | overloaded template functions: 00129, Zhong Ren |
| Indexes: | [Date] [Thread] [Top] [All Lists] |
| News | FAQ | advertise |