Hi, I also tried perl 5.6.1 with MULTIPLICITY turned on (instead of turning on both USETHREADS and USEITHREADS), and got the same compilation errors.
Thanks.
-----Original Message-----
From: Kong Li
Sent: Wednesday, May 30, 2001 7:17 PM
To: 'swig-dev <at> cs.uchicago.edu'
Subject: swig 1.1.883 incompatible with certain configuration of perl 5.6.x
Hi,
Environment:
. Solaris 5.8
. swig 1.1.883
. gcc 2.95.2
. perl 5.6.0, default configuration, under /usr/local/bin/perl and /usr/local/lib/perl5/5.6.0/sun4-solaris
. perl 5.6.1, turn on USETHREAD and USEITHREAD, under /opt/usr/local/bin/perl and /opt/usr/local/lib/perl5/5.6.1/sun4-solaris-thread-multi
. I used the standard example.c and example.i.
While swig 1.1.883 can generate the _wrap.c file successfully under either perl, the gcc compilation with the default-configured perl (sun4-solaris) is ok but the 2nd perl (sun4-solaris-thread-multi) is not ok (conflicting types for boto_example in line 559 and line 431). I have enclosed the typescript.
Script started on Wed 30 May 2001 06:58:18 PM PDT
[uws23 247 /home/kli/perl/swig/example] . ex
+ uname -a
SunOS uws23 5.8 Generic_108528-06 sun4u sparc SUNW,Ultra-5_10
+ swig -version
SWIG Version 1.1 (Build 883)
Copyright (c) 1995-98
University of Utah and the Regents of the University of California
Compiled with c++
+ gcc -v
Reading specs from /usr/local/lib/gcc-lib/sparc-sun-solaris2.7/2.95.2/specs
gcc version 2.95.2 19991024 (release)
+ /usr/local/bin/perl -v
This is perl, v5.6.0 built for sun4-solaris
Copyright 1987-2000, Larry Wall
Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5.0 source kit.
Complete documentation for Perl, including FAQ lists, should be found on
this system using `man perl' or `perldoc perl'. If you have access to the
Internet, point your browser at http://www.perl.com/, the Perl Home Page.
+ gcc -G example.c example_wrap.c -o example.so -I/usr/local/lib/perl5/5.6.0/sun4-solaris/CORE
+ /opt/usr/local/bin/perl -v
This is perl, v5.6.1 built for sun4-solaris-thread-multi
Copyright 1987-2001, Larry Wall
Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5 source kit.
Complete documentation for Perl, including FAQ lists, should be found on
this system using `man perl' or `perldoc perl'. If you have access to the
Internet, point your browser at http://www.perl.com/, the Perl Home Page.
+ gcc -G example.c example_wrap.c -o example.so -I/opt/usr/local/lib/perl5/5.6.1/sun4-solaris-thread-multi/CORE
example_wrap.c: In function `_swig_create_magic':
example_wrap.c:416: warning: assignment from incompatible pointer type
example_wrap.c:417: warning: assignment from incompatible pointer type
example_wrap.c: At top level:
example_wrap.c:559: conflicting types for `boot_example'
example_wrap.c:431: previous declaration of `boot_example'
[uws23 248 /home/kli/perl/swig/example] exit
script done on Wed 30 May 2001 06:58:28 PM PDT
I can provide detailed perl configurations and even the compiled perl perl if needed.
swig is a great tool. But we do need the advanced features (USETHREAD and USEITHREAD) of perl. Is there any work around?
Thanks.
Kong