Menu

#107 Build error

bug
open
nobody
1
2014-07-31
2013-11-22
HY Kok
No

I am trying to build Tix 8.4.3 with TCL/Tk 8.6.1 on Linux CentOS 6.4. Someone mentioned a similar bug here:

http://forums.funtoo.org/viewtopic.php?id=1965

but the patch link is not accessible. Any help you can provide will be much appreciated. Thank you.

[Tix8.4.3]# ./configure --prefix=/usr/pkg/tcl/current --exec-prefix=/usr/pkg/tcl/current --enable-shared --enable-64bit --enable-rpath --with-tclconfig=/usr/pkg/tcl/current/lib --with-tkconfig=/usr/pkg/tcl/current/lib --with-tcl-include=/usr/pkg/tcl/current/include --with-tk-include=/usr/pkg/tcl/current/include
checking for correct TEA configuration... ok (TEA 3.6)
checking for Tcl configuration... found /usr/pkg/tcl/current/lib/tclConfig.sh
checking for existence of /usr/pkg/tcl/current/lib/tclConfig.sh... loading
checking for Tk configuration... found /usr/pkg/tcl/current/lib/tkConfig.sh
checking for existence of /usr/pkg/tcl/current/lib/tkConfig.sh... loading
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ANSI C... none needed
checking how to run the C preprocessor... gcc -E
checking for a BSD-compatible install... /usr/bin/install -c
checking whether make sets $(MAKE)... yes
checking for ranlib... ranlib
checking for egrep... grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking if the compiler understands -pipe... yes
checking whether byte ordering is bigendian... no
checking for sin... no
checking for main in -lieee... yes
checking for main in -linet... no
checking net/errno.h usability... no
checking net/errno.h presence... no
checking for net/errno.h... no
checking for connect... yes
checking for gethostbyname... yes
checking dirent.h... yes
checking errno.h usability... yes
checking errno.h presence... yes
checking for errno.h... yes
checking float.h usability... yes
checking float.h presence... yes
checking for float.h... yes
checking values.h usability... yes
checking values.h presence... yes
checking for values.h... yes
checking limits.h usability... yes
checking limits.h presence... yes
checking for limits.h... yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking sys/wait.h usability... yes
checking sys/wait.h presence... yes
checking for sys/wait.h... yes
checking dlfcn.h usability... yes
checking dlfcn.h presence... yes
checking for dlfcn.h... yes
checking sys/param.h usability... yes
checking sys/param.h presence... yes
checking for sys/param.h... yes
checking for Tcl private include files... Using srcdir found in tclConfig.sh: /home/localhost/d-1/hkok/src/python/tcl8.6.1
checking for Tk private include files... Using srcdir found in tkConfig.sh: /home/localhost/d-1/hkok/src/python/tk8.6.1
checking for X... libraries , headers
checking for X11 header files... checking for pthread_mutex_init in -lpthread... yes
checking for building with threads... yes (default)
checking how to build libraries... shared
checking if 64bit support is requested... yes
checking if 64bit Sparc VIS support is requested... no
checking system version... Linux-2.6.32-358.23.2.el6.x86_64
checking for dlopen in -ldl... yes
checking for ar... ar
checking if compiler accepts -m64 flag... yes
checking for required early compiler flags... _LARGEFILE64_SOURCE
checking for 64-bit integer type... using long
checking for build with symbols... no
checking for tclsh... /usr/pkg/tcl/current/bin/tclsh8.6
checking for wish... /usr/pkg/tcl/current/bin/wish8.6
configure: creating ./config.status
config.status: creating Makefile
[Tix8.4.3]# make 2>&1 |tee make.log
gcc -DPACKAGE_NAME=\"Tix\" -DPACKAGE_TARNAME=\"tix\" -DPACKAGE_VERSION=\"8.4.3\" -DPACKAGE_STRING=\"Tix\ 8.4.3\" -DPACKAGE_BUGREPORT=\"\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_LIMITS_H=1 -DHAVE_SYS_PARAM_H=1 -DUSE_THREAD_ALLOC=1 -D_REENTRANT=1 -D_THREAD_SAFE=1 -DTCL_THREADS=1 -D_LARGEFILE64_SOURCE=1 -DTCL_WIDE_INT_IS_LONG=1 -DUSE_TCL_STUBS=1 -DUSE_TK_STUBS=1 -I. -I"./generic" -I. -I"./unix" -I"/home/localhost/d-1/hkok/src/python/tcl8.6.1/generic" -I"/home/localhost/d-1/hkok/src/python/tcl8.6.1/unix" -I"/home/localhost/d-1/hkok/src/python/tk8.6.1/generic" -I"/home/localhost/d-1/hkok/src/python/tk8.6.1/unix" -pipe -m64 -O2 -fomit-frame-pointer -Wall -Wno-implicit-int -fPIC -c echo ./generic/tixClass.c
:
:
:
gcc -DPACKAGE_NAME=\"Tix\" -DPACKAGE_TARNAME=\"tix\" -DPACKAGE_VERSION=\"8.4.3\" -DPACKAGE_STRING=\"Tix\ 8.4.3\" -DPACKAGE_BUGREPORT=\"\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_LIMITS_H=1 -DHAVE_SYS_PARAM_H=1 -DUSE_THREAD_ALLOC=1 -D_REENTRANT=1 -D_THREAD_SAFE=1 -DTCL_THREADS=1 -D_LARGEFILE64_SOURCE=1 -DTCL_WIDE_INT_IS_LONG=1 -DUSE_TCL_STUBS=1 -DUSE_TK_STUBS=1 -I. -I"./generic" -I. -I"./unix" -I"/home/localhost/d-1/hkok/src/python/tcl8.6.1/generic" -I"/home/localhost/d-1/hkok/src/python/tcl8.6.1/unix" -I"/home/localhost/d-1/hkok/src/python/tk8.6.1/generic" -I"/home/localhost/d-1/hkok/src/python/tk8.6.1/unix" -pipe -m64 -O2 -fomit-frame-pointer -Wall -Wno-implicit-int -fPIC -c echo ./generic/tixGrSort.c
./generic/tixGrSort.c: In function 'SortCompareProc':
./generic/tixGrSort.c:450: error: 'Tcl_Interp' has no member named 'result'
./generic/tixGrSort.c:451: error: 'Tcl_Interp' has no member named 'result'
make: *** [tixGrSort.o] Error 1
[Tix8.4.3]#

Discussion

  • Jeffrey Hobbs

    Jeffrey Hobbs - 2014-07-31

    The direct 'result' access for interps has been deprecated for a while, and removed in 8.6. These need to be changed to Tcl_GetStringResult(interp) (or sortInterp) where appropriate.

    [~/cvs/tix/tix] 6 % grep -r 'nterp->result' .
    ./ChangeLog: * generic/tixAppInit.c, generic/tixGrid.c: remove refs to interp->result
    ./generic/tixGrSort.c: * so as to preserve the error message in sortInterp->result.
    ./generic/tixGrSort.c: order = strtol(sortInterp->result, &end, 0);
    ./generic/tixGrSort.c: if ((end == sortInterp->result) || (*end != 0)) {
    ./generic/tixMethod.c: * of our callers expect to find result inside interp->result.
    ./PyTix-2.0/INSTALL-1.12.txt: fprintf(stderr, "Tix_Init error: %s\n", interp->result);

     
  • Jeffrey Hobbs

    Jeffrey Hobbs - 2014-07-31

    Applied changes to tixGrSort.c to remove improper result access. I think this was missed in earlier cleanup because of sortInterp naming.

     

Log in to post a comment.

MongoDB Logo MongoDB