error in tkGlue.c when building Tk

Discussion in 'Perl Misc' started by mariakvelasco@gmail.com, Nov 13, 2007.

  1. Guest

    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!
     
    , Nov 13, 2007
    #1
    1. Advertising

  2. Ben Morrow Guest

    Quoth :
    >
    > 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
     
    Ben Morrow, Nov 13, 2007
    #2
    1. Advertising

  3. Guest

    On Nov 13, 3:52 pm, Ben Morrow <> wrote:
    > Quoth :
    >
    >
    >
    > > 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
     
    , Nov 15, 2007
    #3
  4. Guest

    On Nov 15, 7:26 am, wrote:
    > On Nov 13, 3:52 pm, Ben Morrow <> wrote:
    >
    >
    >
    >
    >
    > > Quoth :

    >
    > > > 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!
     
    , Nov 15, 2007
    #4
  5. Ben Morrow Guest

    [quoting re-arranged somewhat for clarity]

    Quoth :
    > On Nov 15, 7:26 am, wrote:
    > > On Nov 13, 3:52 pm, Ben Morrow <> wrote:
    > > > Quoth :

    > >
    > > > > 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
     
    Ben Morrow, Nov 15, 2007
    #5
  6. Guest

    On Nov 15, 12:13 pm, Ben Morrow <> wrote:
    > [quoting re-arranged somewhat for clarity]
    >
    > Quoth :
    >
    >
    >
    >
    >
    > > On Nov 15, 7:26 am, wrote:
    > > > On Nov 13, 3:52 pm, Ben Morrow <> wrote:
    > > > > Quoth :

    >
    > > > > > 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.
     
    , Nov 19, 2007
    #6
    1. Advertising

Want to reply to this thread or ask your own question?

It takes just 2 minutes to sign up (and it's free!). Just click the sign up button to choose a username and then you can ask your own questions on the forum.
Similar Threads
  1. Meng-Fei Cheng
    Replies:
    0
    Views:
    501
    Meng-Fei Cheng
    Apr 6, 2005
  2. =?Utf-8?B?cm9nZXIyMw==?=

    MSbuild not building. no helpful error messages.

    =?Utf-8?B?cm9nZXIyMw==?=, May 27, 2006, in forum: ASP .Net
    Replies:
    0
    Views:
    4,677
    =?Utf-8?B?cm9nZXIyMw==?=
    May 27, 2006
  3. =?Utf-8?B?SkNNLk5FVA==?=
    Replies:
    1
    Views:
    4,491
    =?Utf-8?B?TUFDSCBJSQ==?=
    Jun 14, 2006
  4. Midex
    Replies:
    24
    Views:
    969
  5. Replies:
    1
    Views:
    100
    A. Sinan Unur
    Nov 14, 2007
Loading...

Share This Page