develooper Front page | perl.perl5.porters | Postings from November 2003

[perl #24468] 5.8.2: Interface cannot be compiled with C++

Thread Previous | Thread Next
From:
Chip Salzenberg
Date:
November 11, 2003 22:12
Subject:
[perl #24468] 5.8.2: Interface cannot be compiled with C++
Message ID:
rt-24468-67321.9.00752723249376@rt.perl.org
# New Ticket Created by  Chip Salzenberg 
# Please include the string:  [perl #24468]
# in the subject line of all future correspondence about this issue. 
# <URL: http://rt.perl.org/rt2/Ticket/Display.html?id=24468 >



This is a bug report for perl from chip@pobox.com,
generated with the help of perlbug 1.34 running under perl v5.8.2.

-----------------------------------------------------------------
[Please enter your report here]

The interface headers for threaded Perl cannot be compiled from C++
due to the interface assuming that "void*" will automatically convert
to other pointer types, which is not true in C++.

Here is an example failure from an attempt to build the Perl bindings
for Abiword.

(snip)
if i386-linux-g++ -DPACKAGE_NAME=\"AbiSuite\" -DPACKAGE_TARNAME=\"abisuite\" -DPACKAGE_VERSION=\"2.0\" -DPACKAGE_STRING=\"AbiSuite\ 2.0\" -DPACKAGE_BUGREPORT=\"http://www.abisource.com/\" -DPACKAGE=\"AbiSuite-2.0\" -DVERSION=\"2.0.1\" -DHAVE_LIMITS_H=1 -DHAVE_STRINGS_H=1 -DHAVE_SYS_TIME_H=1 -DHAVE_UNISTD_H=1 -DHAVE_MALLOC_H=1 -DHAVE_LIBXML2=1 -DHAVE_WV=1 -DHAVE_ALLOCA_H=1 -DHAVE_ALLOCA=1 -DRETSIGTYPE=void -DHAVE_RE_COMP=1 -DHAVE_REGCOMP=1 -DHAVE_STRDUP=1 -DHAVE_STRSTR=1 -DHAVE_STRCASECMP=1  -I. -I../../../../../abi/src/af/util/xp -I'../../../../../abi/src/af/util/xp'  -I'../../../../../abi/src/af/ev/xp' -I'../../../../../abi/src/af/ev/xp' -I'../../../../../abi/src/af/gr/xp' -I'../../../../../abi/src/af/xap/xp' -I'../../../../../abi/src/af/util/unix' -I'../../../../../abi/src/af/ev/unix' -I'../../../../../abi/src/af/gr/unix' -I'../../../../../abi/src/af/xap/unix' -I'../../../../../abi/src/other/spell/xp' -I'../../../../../abi/src/other/fribidi/xp' -I'../../../../../abi/src/oth
 er/ttftool/unix'      -Wall -ansi -D_POSIX_SOURCE -D_BSD_SOURCE -pipe -DNDEBUG -I/usr/include/libxml2 -DABI_OPT_PERL  -D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBIAN -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64  -I/usr/lib/perl/5.8.2/CORE  -Ubool  -I/usr/include/fribidi -I/home/mhatta/work/debian/abiword/abiword-2.0.1+cvs.2003.11.07/wv  -I/usr/include/freetype2 -I/usr/X11R6/include -I/usr/include/libpng12    -DHAVE_THREADS=1 -pthread -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include    -I/usr/include/gtk-2.0 -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/X11R6/include -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include -I/usr/include/libglade-2.0 -I/usr/include/libxml2   -DG_DISABLE_DEPRECATED -DGDK_DISABLE_DEPRECATED -DGDK_PIXBUF_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED -I/usr/include/glib-2.0 -I/usr/lib/glib-2.0/include   -I/usr/include/gtk-2.0 -I/usr/include/gl
 ib-2.0 -I/usr/lib/glib-2.0/include -I/usr/lib/gtk-2.0/include -I/usr/include/atk-1.0 -I/usr/include/pango-1.0 -I/usr/include/freetype2 -I/usr/X11R6/include   -DUSE_GUCHARMAP -DSUPPORTS_UT_IDLE=1  -DABISUITE_HOME=\"/usr/share/AbiSuite-2.0\" -DABI_BUILD_VERSION=\"2.0.1\" -MT ut_PerlBindings.o -MD -MP -MF ".deps/ut_PerlBindings.Tpo" \
  -c -o ut_PerlBindings.o `test -f '../../../../../abi/src/af/util/xp/ut_PerlBindings.cpp' || echo '../../../../../abi/src/af/util/xp/'`../../../../../abi/src/af/util/xp/ut_PerlBindings.cpp; \
then mv -f ".deps/ut_PerlBindings.Tpo" ".deps/ut_PerlBindings.Po"; \
else rm -f ".deps/ut_PerlBindings.Tpo"; exit 1; \
fi
In file included from /usr/lib/perl/5.8.2/CORE/perl.h:3595,
                 from ../../../../../abi/src/af/util/xp/ut_PerlBindings.cpp:41:
/usr/lib/perl/5.8.2/CORE/reentr.inc: In function `group* Perl_reentr_getgrent()
   ':
/usr/lib/perl/5.8.2/CORE/reentr.inc:147: error: invalid conversion from `void*'
   to `group*'
/usr/lib/perl/5.8.2/CORE/reentr.inc: In function `group*
   Perl_reentr_getgrgid(unsigned int)':
/usr/lib/perl/5.8.2/CORE/reentr.inc:221: error: invalid conversion from `void*'
   to `group*'
/usr/lib/perl/5.8.2/CORE/reentr.inc: In function `group*
   Perl_reentr_getgrnam(const char*)':
/usr/lib/perl/5.8.2/CORE/reentr.inc:276: error: invalid conversion from `void*'
   to `group*'
/usr/lib/perl/5.8.2/CORE/reentr.inc: In function `hostent*
   Perl_reentr_gethostbyaddr(const void*, unsigned int, int)':
/usr/lib/perl/5.8.2/CORE/reentr.inc:416: error: invalid conversion from `void*'
   to `hostent*'
/usr/lib/perl/5.8.2/CORE/reentr.inc: In function `hostent*
   Perl_reentr_gethostbyname(const char*)':
/usr/lib/perl/5.8.2/CORE/reentr.inc:436: error: invalid conversion from `void*'
   to `hostent*'
/usr/lib/perl/5.8.2/CORE/reentr.inc: In function `hostent*
   Perl_reentr_gethostent()':
/usr/lib/perl/5.8.2/CORE/reentr.inc:475: error: invalid conversion from `void*'
   to `hostent*'
/usr/lib/perl/5.8.2/CORE/reentr.inc: In function `char* Perl_reentr_getlogin()
   ':
/usr/lib/perl/5.8.2/CORE/reentr.inc:549: error: invalid conversion from `void*'
   to `char*'
/usr/lib/perl/5.8.2/CORE/reentr.inc: In function `netent*
   Perl_reentr_getnetbyaddr(unsigned int, int)':
/usr/lib/perl/5.8.2/CORE/reentr.inc:677: error: invalid conversion from `void*'

   to `netent*'
/usr/lib/perl/5.8.2/CORE/reentr.inc: In function `netent*
   Perl_reentr_getnetbyname(const char*)':
/usr/lib/perl/5.8.2/CORE/reentr.inc:697: error: invalid conversion from `void*'
   to `netent*'
/usr/lib/perl/5.8.2/CORE/reentr.inc: In function `netent*
   Perl_reentr_getnetent()':
/usr/lib/perl/5.8.2/CORE/reentr.inc:752: error: invalid conversion from `void*'
   to `netent*'
/usr/lib/perl/5.8.2/CORE/reentr.inc: In function `protoent*
   Perl_reentr_getprotobyname(const char*)':
/usr/lib/perl/5.8.2/CORE/reentr.inc:826: error: invalid conversion from `void*'
   to `protoent*'
/usr/lib/perl/5.8.2/CORE/reentr.inc: In function `protoent*
   Perl_reentr_getprotobynumber(int)':
/usr/lib/perl/5.8.2/CORE/reentr.inc:865: error: invalid conversion from `void*'
   to `protoent*'
/usr/lib/perl/5.8.2/CORE/reentr.inc: In function `protoent*
   Perl_reentr_getprotoent()':
/usr/lib/perl/5.8.2/CORE/reentr.inc:904: error: invalid conversion from `void*'
   to `protoent*'
/usr/lib/perl/5.8.2/CORE/reentr.inc: In function `passwd*
   Perl_reentr_getpwent()':
/usr/lib/perl/5.8.2/CORE/reentr.inc:959: error: invalid conversion from `void*'
   to `passwd*'
/usr/lib/perl/5.8.2/CORE/reentr.inc: In function `passwd*
   Perl_reentr_getpwnam(const char*)':
/usr/lib/perl/5.8.2/CORE/reentr.inc:1033: error: invalid conversion from `void*
   ' to `passwd*'
/usr/lib/perl/5.8.2/CORE/reentr.inc: In function `passwd*
   Perl_reentr_getpwuid(unsigned int)':
/usr/lib/perl/5.8.2/CORE/reentr.inc:1088: error: invalid conversion from `void*
   ' to `passwd*'
/usr/lib/perl/5.8.2/CORE/reentr.inc: In function `servent*
   Perl_reentr_getservbyname(const char*, const char*)':
/usr/lib/perl/5.8.2/CORE/reentr.inc:1143: error: invalid conversion from `void*
   ' to `servent*'
/usr/lib/perl/5.8.2/CORE/reentr.inc: In function `servent*
   Perl_reentr_getservbyport(int, const char*)':
/usr/lib/perl/5.8.2/CORE/reentr.inc:1182: error: invalid conversion from `void*
   ' to `servent*'
/usr/lib/perl/5.8.2/CORE/reentr.inc: In function `servent*
   Perl_reentr_getservent()':
/usr/lib/perl/5.8.2/CORE/reentr.inc:1221: error: invalid conversion from `void*
   ' to `servent*'
/usr/lib/perl/5.8.2/CORE/reentr.inc: In function `spwd*
   Perl_reentr_getspnam(const char*)':
/usr/lib/perl/5.8.2/CORE/reentr.inc:1276: error: invalid conversion from `void*
   ' to `spwd*'
../../../../../abi/src/af/util/xp/ut_PerlBindings.cpp: At top level:
/usr/lib/perl/5.8.2/CORE/reentr.inc:144: warning: `group*
   Perl_reentr_getgrent()' defined but not used
/usr/lib/perl/5.8.2/CORE/reentr.inc:218: warning: `group*
   Perl_reentr_getgrgid(unsigned int)' defined but not used
/usr/lib/perl/5.8.2/CORE/reentr.inc:273: warning: `group*
   Perl_reentr_getgrnam(const char*)' defined but not used
/usr/lib/perl/5.8.2/CORE/reentr.inc:413: warning: `hostent*
   Perl_reentr_gethostbyaddr(const void*, unsigned int, int)' defined but not
   used
/usr/lib/perl/5.8.2/CORE/reentr.inc:433: warning: `hostent*
   Perl_reentr_gethostbyname(const char*)' defined but not used
/usr/lib/perl/5.8.2/CORE/reentr.inc:472: warning: `hostent*
   Perl_reentr_gethostent()' defined but not used
/usr/lib/perl/5.8.2/CORE/reentr.inc:546: warning: `char* Perl_reentr_getlogin()
   ' defined but not used
/usr/lib/perl/5.8.2/CORE/reentr.inc:674: warning: `netent*
   Perl_reentr_getnetbyaddr(unsigned int, int)' defined but not used
/usr/lib/perl/5.8.2/CORE/reentr.inc:694: warning: `netent*
   Perl_reentr_getnetbyname(const char*)' defined but not used
/usr/lib/perl/5.8.2/CORE/reentr.inc:749: warning: `netent*
   Perl_reentr_getnetent()' defined but not used
/usr/lib/perl/5.8.2/CORE/reentr.inc:823: warning: `protoent*
   Perl_reentr_getprotobyname(const char*)' defined but not used
/usr/lib/perl/5.8.2/CORE/reentr.inc:862: warning: `protoent*
   Perl_reentr_getprotobynumber(int)' defined but not used
/usr/lib/perl/5.8.2/CORE/reentr.inc:901: warning: `protoent*
   Perl_reentr_getprotoent()' defined but not used
/usr/lib/perl/5.8.2/CORE/reentr.inc:956: warning: `passwd*
   Perl_reentr_getpwent()' defined but not used
/usr/lib/perl/5.8.2/CORE/reentr.inc:1030: warning: `passwd*
   Perl_reentr_getpwnam(const char*)' defined but not used
/usr/lib/perl/5.8.2/CORE/reentr.inc:1085: warning: `passwd*
   Perl_reentr_getpwuid(unsigned int)' defined but not used
/usr/lib/perl/5.8.2/CORE/reentr.inc:1140: warning: `servent*
   Perl_reentr_getservbyname(const char*, const char*)' defined but not used
/usr/lib/perl/5.8.2/CORE/reentr.inc:1179: warning: `servent*
   Perl_reentr_getservbyport(int, const char*)' defined but not used
/usr/lib/perl/5.8.2/CORE/reentr.inc:1218: warning: `servent*
   Perl_reentr_getservent()' defined but not used
/usr/lib/perl/5.8.2/CORE/reentr.inc:1273: warning: `spwd*
   Perl_reentr_getspnam(const char*)' defined but not used
make[5]: *** [ut_PerlBindings.o] Error 1
make[5]: Leaving directory `/home/mhatta/work/debian/abiword/abiword-2.0.1+cvs.2003.11.07/build-gtk/src/af/util/xp'
make[4]: *** [all-recursive] Error 1
make[4]: Leaving directory `/home/mhatta/work/debian/abiword/abiword-2.0.1+cvs.2003.11.07/build-gtk/src/af/util'
make[3]: *** [all-recursive] Error 1
make[3]: Leaving directory `/home/mhatta/work/debian/abiword/abiword-2.0.1+cvs.2003.11.07/build-gtk/src/af'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/mhatta/work/debian/abiword/abiword-2.0.1+cvs.2003.11.07/build-gtk/src'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/mhatta/work/debian/abiword/abiword-2.0.1+cvs.2003.11.07/build-gtk'
make: *** [build-stamp] Error 2

[Please do not change anything below this line]
-----------------------------------------------------------------
---
Flags:
    category=core
    severity=medium
---
Site configuration information for perl v5.8.2:

Configured by Debian Project at Sat Nov  8 02:23:04 EST 2003.

Summary of my perl5 (revision 5.0 version 8 subversion 2) configuration:
  Platform:
    osname=linux, osvers=2.4.22-xfs+ti1211, archname=i386-linux-thread-multi
    uname='linux kosh 2.4.22-xfs+ti1211 #1 sat oct 25 10:11:37 est 2003 i686 gnulinux '
    config_args='-Dusethreads -Duselargefiles -Dccflags=-DDEBIAN -Dcccdlflags=-fPIC -Darchname=i386-linux -Dprefix=/usr -Dprivlib=/usr/share/perl/5.8.2 -Darchlib=/usr/lib/perl/5.8.2 -Dvendorprefix=/usr -Dvendorlib=/usr/share/perl5 -Dvendorarch=/usr/lib/perl5 -Dsiteprefix=/usr/local -Dsitelib=/usr/local/share/perl/5.8.2 -Dsitearch=/usr/local/lib/perl/5.8.2 -Dman1dir=/usr/share/man/man1 -Dman3dir=/usr/share/man/man3 -Dsiteman1dir=/usr/local/man/man1 -Dsiteman3dir=/usr/local/man/man3 -Dman1ext=1 -Dman3ext=3perl -Dpager=/usr/bin/sensible-pager -Uafs -Ud_csh -Uusesfio -Uusenm -Duseshrplib -Dlibperl=libperl.so.5.8.2 -Dd_dosuid -des'
    hint=recommended, useposix=true, d_sigaction=define
    usethreads=define use5005threads=undef useithreads=define usemultiplicity=define
    useperlio=define d_sfio=undef uselargefiles=define usesocks=undef
    use64bitint=undef use64bitall=undef uselongdouble=undef
    usemymalloc=n, bincompat5005=undef
  Compiler:
    cc='cc', ccflags ='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBIAN -fno-strict-aliasing -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64',
    optimize='-O3',
    cppflags='-D_REENTRANT -D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBIAN -fno-strict-aliasing -I/usr/local/include'
    ccversion='', gccversion='3.3.2 (Debian)', gccosandvers=''
    intsize=4, longsize=4, ptrsize=4, doublesize=8, byteorder=1234
    d_longlong=define, longlongsize=8, d_longdbl=define, longdblsize=12
    ivtype='long', ivsize=4, nvtype='double', nvsize=8, Off_t='off_t', lseeksize=8
    alignbytes=4, prototype=define
  Linker and Libraries:
    ld='cc', ldflags =' -L/usr/local/lib'
    libpth=/usr/local/lib /lib /usr/lib
    libs=-lgdbm -lgdbm_compat -ldb -ldl -lm -lpthread -lc -lcrypt
    perllibs=-ldl -lm -lpthread -lc -lcrypt
    libc=/lib/libc-2.3.2.so, so=so, useshrplib=true, libperl=libperl.so.5.8.2
    gnulibc_version='2.3.2'
  Dynamic Linking:
    dlsrc=dl_dlopen.xs, dlext=so, d_dlsymun=undef, ccdlflags='-rdynamic'
    cccdlflags='-fPIC', lddlflags='-shared -L/usr/local/lib'

Locally applied patches:
    

---
@INC for perl v5.8.2:
    /etc/perl
    /usr/local/lib/perl/5.8.2
    /usr/local/share/perl/5.8.2
    /usr/lib/perl5
    /usr/share/perl5
    /usr/lib/perl/5.8.2
    /usr/share/perl/5.8.2
    /usr/local/lib/site_perl
    /usr/local/lib/perl/5.8.1
    /usr/local/share/perl/5.8.1
    /usr/local/share/perl/5.8.0
    .

---
Environment for perl v5.8.2:
    HOME=/u/home/chip
    LANG (unset)
    LANGUAGE (unset)
    LD_LIBRARY_PATH (unset)
    LOGDIR (unset)
    PATH (private)
    PERL_BADLANG (unset)
    SHELL=/bin/zsh


Thread Previous | Thread Next


nntp.perl.org: Perl Programming lists via nntp and http.
Comments to Ask Bjørn Hansen at ask@perl.org | Group listing | About