in reply to Re^2: Tk install failing
in thread Tk install failing

You're getting rather beyond my knowledge here, I'm afraid - at this point you may be better off opening an issue in the bug tracker (probably requires a login). (If you do so, I recommend cross-linking with this thread.)

My X11 headers have this in /usr/include/X11/Xlib.h:

_X_DEPRECATED extern KeySym XKeycodeToKeysym( Display* /* display */, #if NeedWidePrototypes unsigned int /* keycode */, #else KeyCode /* keycode */, #endif int /* index */ );

It seems that Xlib.t encapsulates a signature assuming the "NeedWidePrototypes" variant, but the way perlTk is including your X11 headers they are providing the alternative variant. I think that you if you invoke make with -DNeedWidePrototypes=1 it may get you further; but it is unclear to me why this is going wrong in the first place.

Replies are listed 'Best First'.
Re^4: Tk install failing
by ckmate-king-2 (Novice) on Jun 24, 2024 at 22:06 UTC

    Thanks again, your esteemed Monkness. I filed a bug report. URL: https://rt.cpan.org/Ticket/Display.html?id=154121

    I referenced this thread.

      I filed a bug report. URL: https://rt.cpan.org/Ticket/Display.html?id=154121

      In my experience, Tk issues tend to remain unaddressed for an unacceptably long time - so don't expect a quick resolution to the problem in response to your bug report.

      Did you get anywhere with hv's suggestion of specifying -DNeedWidePrototypes=1 ?
      There's Xlib stuff in at least 2 separate source directories, so which directory are you in when that reported error arises ? (If we could see a few lines from before-and-after the error it might help us to provide better guidance.)

      Cheers,
      Rob
        I most humbly beg your pardons, Monks, for the delay in my reply. I did not think there would be more in this thread after I stated I had filed a bug report, so did not look here for several days. Then I had to get past the hopeless feeling I was out of my depth. Then I did this: in the Makefile in the pTk directory, I changed this line CCCDLFLAGS = -fPIC to this: CCCDLFLAGS = -fPIC -DNeedWidePrototypes=1. (I readily admit I do not know if this was correct perl Monk{hv}'s suggestion.) In the event, however, I got quite a ways further! I am now getting this error in compiling the tkCanvText.c file (with a few preceding lines for context):
        cc -c -I.. -I. -Ibitmaps -fwrapv -fno-strict-aliasing -pipe -fsta +ck-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_ +OFFSET_BITS=64 -D_FORTIFY_SOURCE=2 -O2 -DVERSION=\"804.036\" -DXS_V +ERSION=\"804.036\" -fPIC -DNeedWidePrototypes=1 "-I/home/giz/perl5/pe +rlbrew/perls/perl-5.40.0/lib/5.40.0/x86_64-linux/CORE" tkCanvPs.c cc -c -I.. -I. -Ibitmaps -fwrapv -fno-strict-aliasing -pipe -fstack +-protector-strong -I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OF +FSET_BITS=64 -D_FORTIFY_SOURCE=2 -O2 -DVERSION=\"804.036\" -DXS_VER +SION=\"804.036\" -fPIC -DNeedWidePrototypes=1 "-I/home/giz/perl5/perl +brew/perls/perl-5.40.0/lib/5.40.0/x86_64-linux/CORE" tkCanvText.c tkCanvText.c: In function ‘GetTextIndex’: tkCanvText.c:1253:40: error: passing argument 2 of ‘TcldeclsVptr->V_Tc +l_GetStringFromObj’ from incompatible pointer type [-Wincompatible-po +inter-types] 1253 | string = Tcl_GetStringFromObj(obj, &length); | ^~~~~~~ | | | size_t * {aka long unsi +gned int *} tkCanvText.c:1253:40: note: expected ‘int *’ but argument is of type ‘ +size_t *’ {aka ‘long unsigned int *’} make[1]: *** [Makefile:865: tkCanvText.o] Error 1 make[1]: Leaving directory '/home/giz/.cpanm/work/1719011242.11417/Tk- +804.036/pTk' make: *** [Makefile:1658: pTk/libpTk.a] Error 2 [giz@daisy Tk-804.036$
        If everybody hasn't lost patience with me and has further suggestions, I should be very appreciative. --Bob