error in tkGlue.c when building Tk
error in tkGlue.c when building Tk
am 13.11.2007 23:47:56 von mariakvelasco
Hello all,
We are trying to install Tk-804.027_501 on Solaris 10 using Perl
version 5.8.4. We were able to create the makefile through the command
perl Makefile.PL; however, when running make, we are getting errors
regarding the file tkGlue.c
tkGlue.c: In function `do_comp':
tkGlue.c:5250: warning: passing arg 1 of `Perl_pregcomp' from
incompatible pointer type
tkGlue.c:5250: warning: passing arg 2 of `Perl_pregcomp' makes pointer
from integer without a cast
tkGlue.c:5250: too few arguments to function `Perl_pregcomp'
tkGlue.c: In function `Tcl_GetRegExpFromObj':
tkGlue.c:5319: `RXf_UTF8' undeclared (first use in this function)
tkGlue.c:5319: (Each undeclared identifier is reported only once
tkGlue.c:5319: for each function it appears in.)
tkGlue.c:5319: `RXf_PMf_FOLD' undeclared (first use in this function)
*** Error code 1
make: Fatal error: Command failed for target `tkGlue.o'
Is there anyone on here that is familiar with these errors or does
anyone have any suggestions on how to get rid of these errors. We
would really appreciate your help.
Thanks!
Re: error in tkGlue.c when building Tk
am 14.11.2007 00:52:47 von Ben Morrow
Quoth mariakvelasco@gmail.com:
>
> We are trying to install Tk-804.027_501 on Solaris 10 using Perl
> version 5.8.4. We were able to create the makefile through the command
> perl Makefile.PL; however, when running make, we are getting errors
> regarding the file tkGlue.c
>
> tkGlue.c: In function `do_comp':
> tkGlue.c:5250: warning: passing arg 1 of `Perl_pregcomp' from
> incompatible pointer type
> tkGlue.c:5250: warning: passing arg 2 of `Perl_pregcomp' makes pointer
> from integer without a cast
> tkGlue.c:5250: too few arguments to function `Perl_pregcomp'
This is typically the result of an ithreads/no-ithreads mismatch. Do you
have some other version of perl whose headers are being picked up by
accident? Is your perl built for threads (or rather, for multiplicity;
check with perl -V:useithreads -V:usemultiplicity).
> tkGlue.c: In function `Tcl_GetRegExpFromObj':
> tkGlue.c:5319: `RXf_UTF8' undeclared (first use in this function)
> tkGlue.c:5319: (Each undeclared identifier is reported only once
> tkGlue.c:5319: for each function it appears in.)
> tkGlue.c:5319: `RXf_PMf_FOLD' undeclared (first use in this function)
RXf_* are new in bleadperl, they aren't present in any version of 5.8.
Do you have 5.9.* or perl-current installed anywhere? Does your
pTk/tkConfig.h contain the line
#define HAS_PMOP_EXTRA_FLAGS 1
? What happens if you run
perl -I. -MConfig -MTk::MMtry -e'
$Tk::MMtry::VERBOSE = 1;
try_compile("config/pmop.c", ["-I$Config{archlibexp}/CORE"])
or die "try_compile failed: $?";'
(all on one line, of course)? What does perl -V:archlibexp print? Is
that correct (it should be the path to your arch-specific perl core lib
directory, something like /usr/lib/perl5/5.8.4/sun4-solaris)?
Ben
Re: error in tkGlue.c when building Tk
am 15.11.2007 16:26:56 von mariakvelasco
On Nov 13, 3:52 pm, Ben Morrow wrote:
> Quoth mariakvela...@gmail.com:
>
>
>
> > We are trying to install Tk-804.027_501 on Solaris 10 using Perl
> > version 5.8.4. We were able to create the makefile through the command
> > perl Makefile.PL; however, when running make, we are getting errors
> > regarding the file tkGlue.c
>
> > tkGlue.c: In function `do_comp':
> > tkGlue.c:5250: warning: passing arg 1 of `Perl_pregcomp' from
> > incompatible pointer type
> > tkGlue.c:5250: warning: passing arg 2 of `Perl_pregcomp' makes pointer
> > from integer without a cast
> > tkGlue.c:5250: too few arguments to function `Perl_pregcomp'
>
> This is typically the result of an ithreads/no-ithreads mismatch. Do you
> have some other version of perl whose headers are being picked up by
> accident? Is your perl built for threads (or rather, for multiplicity;
> check with perl -V:useithreads -V:usemultiplicity).
>
> > tkGlue.c: In function `Tcl_GetRegExpFromObj':
> > tkGlue.c:5319: `RXf_UTF8' undeclared (first use in this function)
> > tkGlue.c:5319: (Each undeclared identifier is reported only once
> > tkGlue.c:5319: for each function it appears in.)
> > tkGlue.c:5319: `RXf_PMf_FOLD' undeclared (first use in this function)
>
> RXf_* are new in bleadperl, they aren't present in any version of 5.8.
> Do you have 5.9.* or perl-current installed anywhere? Does your
> pTk/tkConfig.h contain the line
>
> #define HAS_PMOP_EXTRA_FLAGS 1
>
> ? What happens if you run
>
> perl -I. -MConfig -MTk::MMtry -e'
> $Tk::MMtry::VERBOSE = 1;
> try_compile("config/pmop.c", ["-I$Config{archlibexp}/CORE"])
> or die "try_compile failed: $?";'
>
> (all on one line, of course)? What does perl -V:archlibexp print? Is
> that correct (it should be the path to your arch-specific perl core lib
> directory, something like /usr/lib/perl5/5.8.4/sun4-solaris)?
>
> Ben
Hello,
Here are our results:
1.) After typing the command perl -V:useithreads -V:usemultiplicity
Re: error in tkGlue.c when building Tk
am 15.11.2007 16:36:17 von mariakvelasco
On Nov 15, 7:26 am, mariakvela...@gmail.com wrote:
> On Nov 13, 3:52 pm, Ben Morrow wrote:
>
>
>
>
>
> > Quoth mariakvela...@gmail.com:
>
> > > We are trying to install Tk-804.027_501 on Solaris 10 using Perl
> > > version 5.8.4. We were able to create the makefile through the command
> > > perl Makefile.PL; however, when running make, we are getting errors
> > > regarding the file tkGlue.c
>
> > > tkGlue.c: In function `do_comp':
> > > tkGlue.c:5250: warning: passing arg 1 of `Perl_pregcomp' from
> > > incompatible pointer type
> > > tkGlue.c:5250: warning: passing arg 2 of `Perl_pregcomp' makes pointer
> > > from integer without a cast
> > > tkGlue.c:5250: too few arguments to function `Perl_pregcomp'
>
> > This is typically the result of an ithreads/no-ithreads mismatch. Do you
> > have some other version of perl whose headers are being picked up by
> > accident? Is your perl built for threads (or rather, for multiplicity;
> > check with perl -V:useithreads -V:usemultiplicity).
>
> > > tkGlue.c: In function `Tcl_GetRegExpFromObj':
> > > tkGlue.c:5319: `RXf_UTF8' undeclared (first use in this function)
> > > tkGlue.c:5319: (Each undeclared identifier is reported only once
> > > tkGlue.c:5319: for each function it appears in.)
> > > tkGlue.c:5319: `RXf_PMf_FOLD' undeclared (first use in this function)
>
> > RXf_* are new in bleadperl, they aren't present in any version of 5.8.
> > Do you have 5.9.* or perl-current installed anywhere? Does your
> > pTk/tkConfig.h contain the line
>
> > #define HAS_PMOP_EXTRA_FLAGS 1
>
> > ? What happens if you run
>
> > perl -I. -MConfig -MTk::MMtry -e'
> > $Tk::MMtry::VERBOSE = 1;
> > try_compile("config/pmop.c", ["-I$Config{archlibexp}/CORE"])
> > or die "try_compile failed: $?";'
>
> > (all on one line, of course)? What does perl -V:archlibexp print? Is
> > that correct (it should be the path to your arch-specific perl core lib
> > directory, something like /usr/lib/perl5/5.8.4/sun4-solaris)?
>
> > Ben
>
> Hello,
>
> Here are our results:
>
> 1.) After typing the command perl -V:useithreads -V:usemultiplicity- Hide quoted text -
>
> - Show quoted text -
Sorry about the previous post.
Let me continue...
1.) After typing the command perl -V:useithreads -V:usemultiplicity
root % perl -V:useithreads -V:usemultiplicity
useithreads='undef';
usemultiplicity='undef';
Does this mean the perl was built for neither threads or multiplicity?
2.) It looks as if we have the following versions of Perl installed:
5.6.1, 5.8.3, 5.8.4, but not 5.9.*
3.) The file pTk/tkConfig.h does not contain the line #define
HAS_PMOP_EXTRA_FLAGS 1
4.) After running the following
usir-solaris:root % perl -I. -MConfig -MTk::MMtry -e'
$Tk::MMtry::VERBOSE = 1; try_compile("config/pmop.c", ["-I
$Config{archlibexp}/CORE"]) or die "try_compile failed: $?";'
This is the result we get:
Can't locate Tk/MMtry.pm in @INC (@INC contains: . /usr/perl5/5.8.4/
lib/sun4-solaris-64int /usr/perl5/5.8.4/lib /usr/perl5/site_perl/5.8.4/
sun4-solaris-64int /usr/perl5/site_perl/5.8.4 /usr/perl5/site_perl/
5.8.4/sun4-solaris-64int /usr/perl5/5.8.4/lib/sun4-solaris-64int /usr/
perl5/5.8.4/lib /usr/perl5/site_perl/5.8.4/sun4-solaris-64int /usr/
perl5/site_perl/5.8.4 /usr/perl5/site_perl /usr/perl5/vendor_perl/
5.8.4/sun4-solaris-64int /usr/perl5/vendor_perl/5.8.4 /usr/perl5/
vendor_perl .).
BEGIN failed--compilation aborted.
5.) After running the command perl -V:archlibexp we get the following:
root % perl -V:archlibexp
archlibexp='/usr/perl5/5.8.4/lib/sun4-solaris-64int';
Can anyone see the cause of our problem from the information
provided? Thanks so much for the help.
Note: Ben, I think I emailed you with the same information I wrote
above.
Thanks again!
Re: error in tkGlue.c when building Tk
am 15.11.2007 21:13:04 von Ben Morrow
[quoting re-arranged somewhat for clarity]
Quoth mariakvelasco@gmail.com:
> On Nov 15, 7:26 am, mariakvela...@gmail.com wrote:
> > On Nov 13, 3:52 pm, Ben Morrow wrote:
> > > Quoth mariakvela...@gmail.com:
> >
> > > > We are trying to install Tk-804.027_501 on Solaris 10 using Perl
> > > > version 5.8.4. We were able to create the makefile through the command
> > > > perl Makefile.PL; however, when running make, we are getting errors
> > > > regarding the file tkGlue.c
> >
> > > > tkGlue.c: In function `do_comp':
> > > > tkGlue.c:5250: warning: passing arg 1 of `Perl_pregcomp' from
> > > > incompatible pointer type
> > > > tkGlue.c:5250: warning: passing arg 2 of `Perl_pregcomp' makes pointer
> > > > from integer without a cast
> > > > tkGlue.c:5250: too few arguments to function `Perl_pregcomp'
> >
> > > This is typically the result of an ithreads/no-ithreads mismatch. Do you
> > > have some other version of perl whose headers are being picked up by
> > > accident? Is your perl built for threads (or rather, for multiplicity;
> > > check with perl -V:useithreads -V:usemultiplicity).
>
> 1.) After typing the command perl -V:useithreads -V:usemultiplicity
>
> root % perl -V:useithreads -V:usemultiplicity
> useithreads='undef';
> usemultiplicity='undef';
>
> Does this mean the perl was built for neither threads or multiplicity?
Yup. Looking further at tkGlue.c suggests that this is not a
multiplicity problem, but the same as the problem below: Tk's configure
process thinks, for some reason, that you are running some version of
perl 5.9. As with the regex flags, the prototype of Perl_pregcomp has
changed in bleadperl: it now only takes two arguments, as opposed to the
three it took in 5.8.x.
> > > > tkGlue.c: In function `Tcl_GetRegExpFromObj':
> > > > tkGlue.c:5319: `RXf_UTF8' undeclared (first use in this function)
> > > > tkGlue.c:5319: (Each undeclared identifier is reported only once
> > > > tkGlue.c:5319: for each function it appears in.)
> > > > tkGlue.c:5319: `RXf_PMf_FOLD' undeclared (first use in this function)
> >
> > > RXf_* are new in bleadperl, they aren't present in any version of 5.8.
> > > Do you have 5.9.* or perl-current installed anywhere? Does your
> > > pTk/tkConfig.h contain the line
> >
> > > #define HAS_PMOP_EXTRA_FLAGS 1
> >
> > > ? What happens if you run
> >
> > > perl -I. -MConfig -MTk::MMtry -e'
> > > $Tk::MMtry::VERBOSE = 1;
> > > try_compile("config/pmop.c", ["-I$Config{archlibexp}/CORE"])
> > > or die "try_compile failed: $?";'
> >
> > > (all on one line, of course)? What does perl -V:archlibexp print? Is
> > > that correct (it should be the path to your arch-specific perl core lib
> > > directory, something like /usr/lib/perl5/5.8.4/sun4-solaris)?
>
> 2.) It looks as if we have the following versions of Perl installed:
> 5.6.1, 5.8.3, 5.8.4, but not 5.9.*
>
> 3.) The file pTk/tkConfig.h does not contain the line #define
> HAS_PMOP_EXTRA_FLAGS 1
Ok... that's weird. tkGlue.c doesn't attempt to use RXf_* unless
HAS_PMOP_EXTRA_FLAGS is defined. Are you able to find out where tkGlue.c
is including pTk/tkConfig.h from? With some compilers if you run the
file through the preprocessor (with all the correct arguments, of
course) it includes #line markers with the full path of the include
file. Maybe there's another copy somewhere it's finding by mistake...
I'm somewhat grasping at straws here.
> 4.) After running the following
>
> usir-solaris:root % perl -I. -MConfig -MTk::MMtry -e'
> $Tk::MMtry::VERBOSE = 1; try_compile("config/pmop.c", ["-I
> $Config{archlibexp}/CORE"]) or die "try_compile failed: $?";'
>
> This is the result we get:
>
> Can't locate Tk/MMtry.pm in @INC (@INC contains: . /usr/perl5/5.8.4/
Sorry, I was unclear: I meant you to run that from in the Tk build
directory. Tk::MMtry is included in the Tk distribution. Since
tkConfig.h *didn't* define HAS_PMOP_EXTRA_FLAGS I'd expect it to fail.
> lib/sun4-solaris-64int /usr/perl5/5.8.4/lib /usr/perl5/site_perl/5.8.4/
> sun4-solaris-64int /usr/perl5/site_perl/5.8.4 /usr/perl5/site_perl/
> 5.8.4/sun4-solaris-64int /usr/perl5/5.8.4/lib/sun4-solaris-64int /usr/
> perl5/5.8.4/lib /usr/perl5/site_perl/5.8.4/sun4-solaris-64int /usr/
> perl5/site_perl/5.8.4 /usr/perl5/site_perl /usr/perl5/vendor_perl/
> 5.8.4/sun4-solaris-64int /usr/perl5/vendor_perl/5.8.4 /usr/perl5/
> vendor_perl .).
Again, rather grasping at things here, but there isn't anything weird in
/usr/perl5/{site,vendor}_perl is there? Like a previous installation of
Tk? :)
> BEGIN failed--compilation aborted.
>
> 5.) After running the command perl -V:archlibexp we get the following:
>
> root % perl -V:archlibexp
> archlibexp='/usr/perl5/5.8.4/lib/sun4-solaris-64int';
That looks correct.
> Can anyone see the cause of our problem from the information
> provided? Thanks so much for the help.
No, sorry, I can't see any good reason why this is going wrong. At this
point I would recommend starting again with a fresh copy of the Tk
distribution, having made *really* sure you haven't got anything odd set
in your environment (PERL5LIB, PERL_MM_OPT, anything that might affect
where your preprocessor searches for include files), and if that fails
report a bug at rt.cpan.org.
Ben
Re: error in tkGlue.c when building Tk
am 19.11.2007 23:14:43 von mariakvelasco
On Nov 15, 12:13 pm, Ben Morrow wrote:
> [quoting re-arranged somewhat for clarity]
>
> Quoth mariakvela...@gmail.com:
>
>
>
>
>
> > On Nov 15, 7:26 am, mariakvela...@gmail.com wrote:
> > > On Nov 13, 3:52 pm, Ben Morrow wrote:
> > > > Quoth mariakvela...@gmail.com:
>
> > > > > We are trying to install Tk-804.027_501 on Solaris 10 using Perl
> > > > > version 5.8.4. We were able to create the makefile through the command
> > > > > perl Makefile.PL; however, when running make, we are getting errors
> > > > > regarding the file tkGlue.c
>
> > > > > tkGlue.c: In function `do_comp':
> > > > > tkGlue.c:5250: warning: passing arg 1 of `Perl_pregcomp' from
> > > > > incompatible pointer type
> > > > > tkGlue.c:5250: warning: passing arg 2 of `Perl_pregcomp' makes pointer
> > > > > from integer without a cast
> > > > > tkGlue.c:5250: too few arguments to function `Perl_pregcomp'
>
> > > > This is typically the result of an ithreads/no-ithreads mismatch. Do you
> > > > have some other version of perl whose headers are being picked up by
> > > > accident? Is your perl built for threads (or rather, for multiplicity;
> > > > check with perl -V:useithreads -V:usemultiplicity).
>
> > 1.) After typing the command perl -V:useithreads -V:usemultiplicity
>
> > root % perl -V:useithreads -V:usemultiplicity
> > useithreads='undef';
> > usemultiplicity='undef';
>
> > Does this mean the perl was built for neither threads or multiplicity?
>
> Yup. Looking further at tkGlue.c suggests that this is not a
> multiplicity problem, but the same as the problem below: Tk's configure
> process thinks, for some reason, that you are running some version of
> perl 5.9. As with the regex flags, the prototype of Perl_pregcomp has
> changed in bleadperl: it now only takes two arguments, as opposed to the
> three it took in 5.8.x.
>
>
>
>
>
> > > > > tkGlue.c: In function `Tcl_GetRegExpFromObj':
> > > > > tkGlue.c:5319: `RXf_UTF8' undeclared (first use in this function)
> > > > > tkGlue.c:5319: (Each undeclared identifier is reported only once
> > > > > tkGlue.c:5319: for each function it appears in.)
> > > > > tkGlue.c:5319: `RXf_PMf_FOLD' undeclared (first use in this function)
>
> > > > RXf_* are new in bleadperl, they aren't present in any version of 5.8.
> > > > Do you have 5.9.* or perl-current installed anywhere? Does your
> > > > pTk/tkConfig.h contain the line
>
> > > > #define HAS_PMOP_EXTRA_FLAGS 1
>
> > > > ? What happens if you run
>
> > > > perl -I. -MConfig -MTk::MMtry -e'
> > > > $Tk::MMtry::VERBOSE = 1;
> > > > try_compile("config/pmop.c", ["-I$Config{archlibexp}/CORE"])
> > > > or die "try_compile failed: $?";'
>
> > > > (all on one line, of course)? What does perl -V:archlibexp print? Is
> > > > that correct (it should be the path to your arch-specific perl core lib
> > > > directory, something like /usr/lib/perl5/5.8.4/sun4-solaris)?
>
> > 2.) It looks as if we have the following versions of Perl installed:
> > 5.6.1, 5.8.3, 5.8.4, but not 5.9.*
>
> > 3.) The file pTk/tkConfig.h does not contain the line #define
> > HAS_PMOP_EXTRA_FLAGS 1
>
> Ok... that's weird. tkGlue.c doesn't attempt to use RXf_* unless
> HAS_PMOP_EXTRA_FLAGS is defined. Are you able to find out where tkGlue.c
> is including pTk/tkConfig.h from? With some compilers if you run the
> file through the preprocessor (with all the correct arguments, of
> course) it includes #line markers with the full path of the include
> file. Maybe there's another copy somewhere it's finding by mistake...
> I'm somewhat grasping at straws here.
>
> > 4.) After running the following
>
> > usir-solaris:root % perl -I. -MConfig -MTk::MMtry -e'
> > $Tk::MMtry::VERBOSE = 1; try_compile("config/pmop.c", ["-I
> > $Config{archlibexp}/CORE"]) or die "try_compile failed: $?";'
>
> > This is the result we get:
>
> > Can't locate Tk/MMtry.pm in @INC (@INC contains: . /usr/perl5/5.8.4/
>
> Sorry, I was unclear: I meant you to run that from in the Tk build
> directory. Tk::MMtry is included in the Tk distribution. Since
> tkConfig.h *didn't* define HAS_PMOP_EXTRA_FLAGS I'd expect it to fail.
>
> > lib/sun4-solaris-64int /usr/perl5/5.8.4/lib /usr/perl5/site_perl/5.8.4/
> > sun4-solaris-64int /usr/perl5/site_perl/5.8.4 /usr/perl5/site_perl/
> > 5.8.4/sun4-solaris-64int /usr/perl5/5.8.4/lib/sun4-solaris-64int /usr/
> > perl5/5.8.4/lib /usr/perl5/site_perl/5.8.4/sun4-solaris-64int /usr/
> > perl5/site_perl/5.8.4 /usr/perl5/site_perl /usr/perl5/vendor_perl/
> > 5.8.4/sun4-solaris-64int /usr/perl5/vendor_perl/5.8.4 /usr/perl5/
> > vendor_perl .).
>
> Again, rather grasping at things here, but there isn't anything weird in
> /usr/perl5/{site,vendor}_perl is there? Like a previous installation of
> Tk? :)
>
> > BEGIN failed--compilation aborted.
>
> > 5.) After running the command perl -V:archlibexp we get the following:
>
> > root % perl -V:archlibexp
> > archlibexp='/usr/perl5/5.8.4/lib/sun4-solaris-64int';
>
> That looks correct.
>
> > Can anyone see the cause of our problem from the information
> > provided? Thanks so much for the help.
>
> No, sorry, I can't see any good reason why this is going wrong. At this
> point I would recommend starting again with a fresh copy of the Tk
> distribution, having made *really* sure you haven't got anything odd set
> in your environment (PERL5LIB, PERL_MM_OPT, anything that might affect
> where your preprocessor searches for include files), and if that fails
> report a bug at rt.cpan.org.
>
> Ben- Hide quoted text -
>
> - Show quoted text -- Hide quoted text -
>
> - Show quoted text -
Hi Ben,
Thanks for the help you provided. We decided to delete the old Tk
directory and start fresh, so after deleting Tk, we re-installed
Tk-804.027 and we were able to succeed with installation.
We believe that Tk-804.027_501 may not be compatible with Solaris 10
due to all the issues we were getting.
Thanks again so much for all your help.