Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!

Bug 144284

Summary: dev-tcltk/itcl-3.3 compilation failed
Product: Gentoo Linux Reporter: Sektor van Skijlen <ethouris>
Component: New packagesAssignee: TCL/TK Project <tcltk>
Status: RESOLVED NEEDINFO    
Severity: normal    
Priority: High    
Version: 2006.0   
Hardware: All   
OS: Linux   
Whiteboard:
Package list:
Runtime testing required: ---

Description Sektor van Skijlen 2006-08-18 00:51:34 UTC
>>>> Last compile command

gcc-3.4.6 -pipe -DPACKAGE_NAME=\"itcl\" -DPACKAGE_TARNAME=\"itcl\" -DPACKAGE_VERSION=\"3.3\" -DPACKAGE_STRING=\"itcl\ 3.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 -DTCL_THREADS=1 -D_LARGEFILE64_SOURCE=1 -DTCL_WIDE_INT_TYPE=long\ long -DHAVE_STRUCT_STAT64=1 -DHAVE_TYPE_OFF64_T=1 -DUSE_TCL_STUBS=1   -DITCL_LIBRARY=\"/usr/lib/itcl3.3\" -DUSE_NON_CONST -I"./generic" -I/usr/lib/tcl8.4/include/generic -I/usr/lib/tcl8.4/include/unix    -O2 -march=athlon-xp -pipe -O2 -march=athlon-xp -pipe -Wall -Wno-implicit-int -fPIC -c `echo ./generic/itcl_cmds.c` -o itcl_cmds.o
In file included from /usr/lib/tcl8.4/include/generic/tclInt.h:2274,
                 from ./generic/itclInt.h:52,
                 from ./generic/itcl_bicmds.c:32:
/usr/lib/tcl8.4/include/generic/tclIntDecls.h:322: error: syntax error before '->' token
/usr/lib/tcl8.4/include/generic/tclIntDecls.h:326: error: syntax error before '->' token
/usr/lib/tcl8.4/include/generic/tclIntDecls.h:330: error: syntax error before '->' token
/usr/lib/tcl8.4/include/generic/tclIntDecls.h:333: error: syntax error before '->' token
/usr/lib/tcl8.4/include/generic/tclIntDecls.h:337: error: syntax error before '->' token
/usr/lib/tcl8.4/include/generic/tclIntDecls.h:341: error: syntax error before '->' token
/usr/lib/tcl8.4/include/generic/tclIntDecls.h:357: error: syntax error before '->' token
/usr/lib/tcl8.4/include/generic/tclIntDecls.h:360: error: syntax error before '->' token
/usr/lib/tcl8.4/include/generic/tclIntDecls.h:363: error: syntax error before '->' token
/usr/lib/tcl8.4/include/generic/tclIntDecls.h:367: error: syntax error before '->' token
/usr/lib/tcl8.4/include/generic/tclIntDecls.h:370: error: syntax error before '->' token
/usr/lib/tcl8.4/include/generic/tclIntDecls.h:377: error: syntax error before '->' token
--------------------------------
This looks for me like some #include mess. In particular, the author uses some Tcl-private stuff, which borrows some internal definitions. However he seemed to forget that some symbols he uses are first defined as function and then redefined as macro definition, so the order matters. It looks like the order was not correct for the author, however other order won't make it compile.

There have always been problems with Incr Tcl package. Please either request the author to correct it, or make some correction on your own.

I know, how to correct it, but I am not familiar with diff/patch tools. The problem is that when a macro definition USE_TCL_STUBS turns on some macro definitions, which's names are next used as function names in function declarations(and thus create a weird syntax). I'll make some hints:

1. In 'Makefile', at the place of definition of 'DEFS' variable, remove the following string: -DUSE_TCL_STUBS=1 (this will correct most of files)

2. In generic/itclStubLib.c file,find the place with:

#ifndef USE_TCL_STUBS
#define USE_TCL_STUBS
#endif

and remove it or comment it out (this file needs individual correction).

Alternatively, you can find in generic/itclInt.h a bundle of macro definitions starting with:

#if defined(USE_TCL_STUBS) && \

and then flush them out.
----------------------------------------------


# emerge --info itcl
Portage 2.1.1_pre5 (default-linux/x86/2005.1, gcc-3.3.6, glibc-2.3.6-r4, 2.6.17-gentoo-r4 i686)
=================================================================
                        System Settings
=================================================================
System uname: 2.6.17-gentoo-r4 i686 AMD Athlon(tm) XP 2600+
Gentoo Base System version 1.12.4
Last Sync: Sat, 12 Aug 2006 13:30:01 +0000
app-admin/eselect-compiler: [Not Present]
dev-lang/python:     2.3.5, 2.4.3-r1
dev-python/pycrypto: 2.0.1-r5
dev-util/ccache:     [Not Present]
dev-util/confcache:  [Not Present]
sys-apps/sandbox:    1.2.17
sys-devel/autoconf:  2.13, 2.59-r7
sys-devel/automake:  1.4_p6, 1.5, 1.6.3, 1.7.9-r1, 1.8.5-r3, 1.9.6-r2
sys-devel/binutils:  2.16.1-r3
sys-devel/gcc-config: 1.3.13-r3
sys-devel/libtool:   1.5.22
virtual/os-headers:  2.6.11-r2
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CBUILD="i686-pc-linux-gnu"
CFLAGS="-O2 -march=athlon-xp -pipe"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/3.4/env /usr/kde/3.4/share/config /usr/kde/3.4/shutdown /usr/kde/3.5/env /usr/kde/3.5/share/co nfig /usr/kde/3.5/shutdown /usr/lib/X11/xkb /usr/share/X11/app-defaults /usr/share/X11/xkb /usr/share/config /var/qmail/alia s /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/env.d /etc/gconf /etc/revdep-rebuild /etc/terminfo"
CXXFLAGS="-O2 -march=athlon-xp -pipe"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoconfig distlocks metadata-transfer sandbox sfperms strict"
GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/linux/distributions/gentoo"
LINGUAS=""
MAKEOPTS="-j4"
PKGDIR="/usr/portage/packages"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --delete-after  --stats --timeout=180 --exclude='/distfiles' --exclude='/local' --exclude='/packages'"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="x86 X alsa apache2 apm arts avi berkdb bitmap-fonts cdr cli crypt cups dlloader dri dvd eds elibc_glibc emboss encode f oomaticdb fortran gdbm gif gpm gstreamer gtk imlib input_devices_evdev input_devices_keyboard input_devices_mouse ipv6 isdnl og jpeg kde kernel_linux libg++ libwww mad mikmod motif mp3 mpeg ncurses nls ogg oggvorbis opengl oss pam pcre pdflib perl p ng pppd python qt qt3 qt4 quicktime readline reflection sdl session spell spl ssl tcltk tcpd truetype truetype-fonts type1-f onts userland_GNU video_cards_fbdev video_cards_nv video_cards_nvidia video_cards_vesa vorbis xml2 xmms xorg xv zlib"
Unset:  CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, LANG, LC_ALL, LDFLAGS, PORTAGE_RSYNC_EXTRA_OPTS
Comment 1 Federico Ferri (RETIRED) gentoo-dev 2009-05-10 15:39:07 UTC
is this still an issue with current (3.3.1_pre20090417) version of itcl?
Comment 2 Federico Ferri (RETIRED) gentoo-dev 2009-05-12 20:14:49 UTC
reopen if appropriate