Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 452820 - dev-util/insight-6.8.1 with dev-lang/tcl-8.6 - In function 'gdbtk_init': ./gdbtk/generic/gdbtk.c:496:47: error: 'Tcl_Interp' has no member named 'result'
Summary: dev-util/insight-6.8.1 with dev-lang/tcl-8.6 - In function 'gdbtk_init': ./gd...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Development Tools Team
URL:
Whiteboard:
Keywords: PATCH
Depends on:
Blocks: tcltk-8.6
  Show dependency tree
 
Reported: 2013-01-18 11:39 UTC by Ian Abbott
Modified: 2013-02-04 07:16 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
Build log (build.log,233.83 KB, text/plain)
2013-01-18 11:40 UTC, Ian Abbott
Details
Proposed fix for tcl 8.6 compatibility (insight-6.8.1-tcl-8.6.patch,4.13 KB, patch)
2013-01-18 12:47 UTC, Ian Abbott
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Ian Abbott 2013-01-18 11:39:03 UTC
After applying a patch to fix bug #441036, the build of insight-6.8.1 got a bit further until it hit an incompatibility with tcl 8.6.

./gdbtk/generic/gdbtk.c: In function 'gdbtk_init':
./gdbtk/generic/gdbtk.c:496:47: error: 'Tcl_Interp' has no member named 'result'
./gdbtk/generic/gdbtk.c:500:59: error: 'Tcl_Interp' has no member named 'result'
./gdbtk/generic/gdbtk.c:503:46: error: 'Tcl_Interp' has no member named 'result'
./gdbtk/generic/gdbtk.c:506:51: error: 'Tcl_Interp' has no member named 'result'
./gdbtk/generic/gdbtk.c:562:51: error: 'Tcl_Interp' has no member named 'result'
./gdbtk/generic/gdbtk.c: In function 'tk_command':
./gdbtk/generic/gdbtk.c:742:33: error: 'Tcl_Interp' has no member named 'result'




Reproducible: Always

Steps to Reproduce:
1. Upgrade dev-lang/tcl and dev-lang/tk to version >=8.6.
2. If using glibc-2.16, change insight-6.8.1 ebuild to apply patch from bug #441036.
3. emerge -1 =dev-util/insight-6.8.1
Actual Results:  
Build fails with:

./gdbtk/generic/gdbtk.c: In function 'gdbtk_init':
./gdbtk/generic/gdbtk.c:496:47: error: 'Tcl_Interp' has no member named 'result'
./gdbtk/generic/gdbtk.c:500:59: error: 'Tcl_Interp' has no member named 'result'
./gdbtk/generic/gdbtk.c:503:46: error: 'Tcl_Interp' has no member named 'result'
./gdbtk/generic/gdbtk.c:506:51: error: 'Tcl_Interp' has no member named 'result'
./gdbtk/generic/gdbtk.c:562:51: error: 'Tcl_Interp' has no member named 'result'
./gdbtk/generic/gdbtk.c: In function 'tk_command':
./gdbtk/generic/gdbtk.c:742:33: error: 'Tcl_Interp' has no member named 'result'



Need to replace interp->result with Tcl_GetStringResult(interp).  Direct use of interp->result is now forbidden - see http://wiki.tcl.tk/1564 .
Comment 1 Ian Abbott 2013-01-18 11:40:18 UTC
Created attachment 336040 [details]
Build log
Comment 2 Ian Abbott 2013-01-18 11:46:35 UTC
$ emerge --info =dev-util/insight-6.8.1
Portage 2.1.11.40 (default/linux/amd64/10.0/desktop, gcc-4.6.3, glibc-2.16.0, 3.7.2-gentoo-ija1 x86_64)
=================================================================
                        System Settings
=================================================================
System uname: Linux-3.7.2-gentoo-ija1-x86_64-AMD_Athlon-tm-_64_X2_Dual_Core_Processor_3800+-with-gentoo-2.2
Timestamp of tree: Mon, 14 Jan 2013 17:15:01 +0000
ld GNU ld (GNU Binutils) 2.23.1
app-shells/bash:          4.2_p42
dev-java/java-config:     2.1.12-r1
dev-lang/python:          2.7.3-r3, 3.2.3-r2
dev-util/cmake:           2.8.10.2-r1
dev-util/pkgconfig:       0.27.1
sys-apps/baselayout:      2.2
sys-apps/openrc:          0.11.8
sys-apps/sandbox:         2.6
sys-devel/autoconf:       2.13, 2.69
sys-devel/automake:       1.9.6-r3, 1.10.3, 1.11.6, 1.12.6
sys-devel/binutils:       2.23.1
sys-devel/gcc:            3.3.6-r1, 4.3.6-r1, 4.4.7, 4.5.4, 4.6.3
sys-devel/gcc-config:     1.8
sys-devel/libtool:        2.4.2
sys-devel/make:           3.82-r4
sys-kernel/linux-headers: 3.7 (virtual/os-headers)
sys-libs/glibc:           2.16.0
Repositories: gentoo Local_portage_overlay
Installed sets: @system
ACCEPT_KEYWORDS="amd64 ~amd64"
ACCEPT_LICENSE="*"
CBUILD="x86_64-pc-linux-gnu"
CFLAGS="-march=k8 -O2 -pipe"
CHOST="x86_64-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/share/config /usr/share/gnupg/qualified.txt /usr/share/polkit-1/actions /var/lib/hsqldb"
CONFIG_PROTECT_MASK="${EPREFIX}/etc/gconf /etc/ca-certificates.conf /etc/dconf /etc/env.d /etc/fonts/fonts.conf /etc/gconf /etc/gentoo-release /etc/revdep-rebuild /etc/sandbox.d /etc/terminfo /etc/texmf/language.dat.d /etc/texmf/language.def.d /etc/texmf/updmap.d /etc/texmf/web2c"
CXXFLAGS="-march=k8 -O2 -pipe"
DISTDIR="/usr/portage/distfiles"
FCFLAGS="-O2 -pipe"
FEATURES="assume-digests binpkg-logs config-protect-if-modified distlocks ebuild-locks fixlafiles merge-sync news parallel-fetch protect-owned sandbox sfperms splitdebug strict unknown-features-warn unmerge-logs unmerge-orphans userfetch"
FFLAGS="-O2 -pipe"
GENTOO_MIRRORS="http://www.mirrorservice.org/sites/www.ibiblio.org/gentoo http://gentoo.oregonstate.edu http://www.ibiblio.org/pub/Linux/distributions/gentoo"
LANG="en_GB.utf8"
LC_ALL="C"
LDFLAGS="-Wl,-O1 -Wl,--as-needed"
MAKEOPTS="-j3"
PKGDIR="/usr/portage/packages"
PORTAGE_CONFIGROOT="/"
PORTAGE_RSYNC_OPTS="--recursive --links --safe-links --perms --times --compress --force --whole-file --delete --stats --human-readable --timeout=180 --exclude=/distfiles --exclude=/local --exclude=/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.europe.gentoo.org/gentoo-portage"
USE="X a52 aac acl acpi adns alsa amd64 avahi berkdb branding bzip2 cairo cdda cdr cgi cjk cli consolekit cracklib crypt cscope cups curl cxx dbus djvu doc dri dts dv dvd dvdr emboss encode esd exif expat fam ffmpeg firefox flac flash fontconfig fortran gcj gdbm gif glut gmp gnome gnome-keyring gnutls gpm graphviz gstreamer gtk gtkhtml guile iconv icu idn imagemagick imap imlib ipod ipv6 java jpeg kde kerberos lame lcms ldap libnotify mad matroska mmx mng modules mono motif mp3 mp4 mpeg mudflap multilib ncurses nls nptl nsplugin offensive ogg opengl openmp pam pango pcre pdf plotutils png policykit ppds pppd pulseaudio python qt3support qt4 quicktime rdesktop readline ruby samba sasl sdl semantic-desktop session slang snmp spell sqlite sse sse2 ssl startup-notification svg tcl tcltk tcpd threads tiff tk truetype udev udisks unicode upower usb vnc vorbis wxwidgets x264 xcb xine xml xv xvid zlib" ALSA_CARDS="hda-intel" ALSA_PCM_PLUGINS="adpcm alaw asym copy dmix dshare dsnoop empty extplug file hooks iec958 ioplug ladspa lfloat linear meter mmap_emul mulaw multi null plug rate route share shm softvol" APACHE2_MODULES="authn_core authz_core socache_shmcb unixd actions alias auth_basic authn_alias authn_anon authn_dbm authn_default authn_file authz_dbm authz_default authz_groupfile authz_host authz_owner authz_user autoindex cache cgi cgid dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache filter headers include info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias" CALLIGRA_FEATURES="kexi words flow plan sheets stage tables krita karbon braindump" CAMERAS="ptp2" COLLECTD_PLUGINS="df interface irq load memory rrdtool swap syslog" CURL_SSL="nss" ELIBC="glibc" GPSD_PROTOCOLS="ashtech aivdm earthmate evermore fv18 garmin garmintxt gpsclock itrax mtk3301 nmea ntrip navcom oceanserver oldstyle oncore rtcm104v2 rtcm104v3 sirf superstar2 timing tsip tripmate tnt ubx" INPUT_DEVICES="keyboard mouse evdev" KERNEL="linux" LCD_DEVICES="bayrad cfontz cfontz633 glk hd44780 lb216 lcdm001 mtxorb ncurses text" LIBREOFFICE_EXTENSIONS="presenter-console presenter-minimizer" LINGUAS="en en_GB" PHP_TARGETS="php5-3" PYTHON_SINGLE_TARGET="python2_7" PYTHON_TARGETS="python2_7 python3_2" QEMU_SOFTMMU_TARGETS="i386 x86_64" QEMU_USER_TARGETS="i386 x86_64" RUBY_TARGETS="ruby18 ruby19" USERLAND="GNU" VIDEO_CARDS="radeon ati vesa fbdev" XTABLES_ADDONS="quota2 psd pknock lscan length2 ipv4options ipset ipp2p iface geoip fuzzy condition tee tarpit sysrq steal rawnat logmark ipmark dhcpmac delude chaos account"
Unset:  CPPFLAGS, CTARGET, EMERGE_DEFAULT_OPTS, INSTALL_MASK, PORTAGE_BUNZIP2_COMMAND, PORTAGE_COMPRESS, PORTAGE_COMPRESS_FLAGS, PORTAGE_RSYNC_EXTRA_OPTS, USE_PYTHON

=================================================================
                        Package Settings
=================================================================

dev-util/insight-6.8.1 was built with the following:
USE="(multilib) nls"


$ # Note: also have 'dev-lang/tcl-8.6.0-r1' and 'dev-lang/tk-8.6.0'.
Comment 3 Ian Abbott 2013-01-18 12:47:21 UTC
Created attachment 336050 [details, diff]
Proposed fix for tcl 8.6 compatibility

Uses `TCL_GetStringResult(interp)` instead of `interp->result` as an rvalue.

Uses `TCL_SetResult(interp, "string", TCL_STATIC)` instead of `interp->result = "string"` in the one place where `interp->result` is assigned directly.

Direct access to interp->result is forbidden by tcl-8.6.

The above changes should be compatible with tcl-8.0 or later.

The patch should be applied *after* the main bundle of patches from "insight-6.8.1-patchset-01.tar.xz". (A patch for the glibc-2.16 incompatibilty from bug #441036 is also likely to be required.)
Comment 4 Kacper Kowalik (Xarthisius) (RETIRED) gentoo-dev 2013-02-04 07:16:19 UTC
+  04 Feb 2013; Kacper Kowalik <xarthisius@gentoo.org> +insight-6.8.1-r1.ebuild,
+  -files/insight-6.6-DESTDIR.patch, -files/insight-6.6-burn-paths.patch,
+  -files/tkImgGIF.patch, -insight-6.7.1-r1.ebuild:
+  Fix building with tcl-6.0 and glibc-2.16. Fixes #452820, #441036. Thanks to
+  Helmut Jarausch <jarausch@igpm.rwth-aachen.de> and Ian Abbott <ian@abbott.org>
+  for their patches. Drop old