Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 86709 - vim-7.0_alpha20050321 fails to compile with USE="tcltk"
Summary: vim-7.0_alpha20050321 fails to compile with USE="tcltk"
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All All
: High normal (vote)
Assignee: Vim Maintainers
URL:
Whiteboard:
Keywords:
: 86423 (view as bug list)
Depends on:
Blocks:
 
Reported: 2005-03-25 14:41 UTC by David Morgan
Modified: 2005-03-26 13:57 UTC (History)
2 users (show)

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description David Morgan 2005-03-25 14:41:31 UTC
With USE="-* ncurses tcltk", vim-7.0_alpha20050321 fails to compile with the following error:

make: Entering directory `/var/tmp/portage/vim-7.0_alpha20050321/work/vim7/src'
CC="i686-pc-linux-gnu-gcc -Iproto -DHAVE_CONFIG_H     -O2 -march=pentium4 -pipe -fstack-protector      -I/usr/include long  " srcdir=. sh ./osdef.sh
i686-pc-linux-gnu-gcc: long: No such file or directory
mkdir objects
make: Leaving directory `/var/tmp/portage/vim-7.0_alpha20050321/work/vim7/src'
Starting make in the src directory.
If there are problems, cd to the src directory and run make there
cd src && make first
make[1]: Entering directory `/var/tmp/portage/vim-7.0_alpha20050321/work/vim7/src'
i686-pc-linux-gnu-gcc -c -I. -Iproto -DHAVE_CONFIG_H     -O2 -march=pentium4 -pipe -fstack-protector      -I/usr/include long   -o objects/buffer.o buffer.c
i686-pc-linux-gnu-gcc: long: No such file or directory
i686-pc-linux-gnu-gcc -c -I. -Iproto -DHAVE_CONFIG_H     -O2 -march=pentium4 -pipe -fstack-protector      -I/usr/include long   -o objects/charset.o charset.c
i686-pc-linux-gnu-gcc: long: No such file or directory
make[1]: *** [objects/charset.o] Error 1
make[1]: *** Waiting for unfinished jobs....
make[1]: *** [objects/buffer.o] Error 1
make[1]: Leaving directory `/var/tmp/portage/vim-7.0_alpha20050321/work/vim7/src'
make: *** [first] Error 2

!!! ERROR: app-editors/vim-7.0_alpha20050321 failed.
!!! Function src_compile, Line 453, Exitcode 2
!!! emake failed
!!! If you need support, post the topmost build error, NOT this status message.

Other combinations of USE flags give the same error if they contain tcltk, in some cases with a few extra -I's

It compiles fine with USE="-tcltk" and removing -fstack-protector form my CLFAGS doesn't make any difference

vim-7.0_alpha20050308 9 (and earlier) did not have this problem

emerge info:

Portage 2.0.51.19 (default-linux/x86/2004.2/gcc34/2.6, gcc-3.4.3-20050110, glibc-2.3.4.20050125-r1, 2.6.11-gentoo-r4 i686)
=================================================================
System uname: 2.6.11-gentoo-r4 i686 Mobile Intel(R) Pentium(R) 4 - M CPU 1.80GHz
Gentoo Base System version 1.6.10
Python:              dev-lang/python-2.3.5,dev-lang/python-2.4-r3 [2.4 (#1, Mar 25 2005, 19:03:33)]
dev-lang/python:     2.3.5, 2.4-r3
sys-devel/autoconf:  2.59-r6, 2.13
sys-devel/automake:  1.8.5-r3, 1.7.9-r1, 1.5, 1.4_p6, 1.9.5, 1.6.3
sys-devel/binutils:  2.15.92.0.2-r7
sys-devel/libtool:   1.5.14
virtual/os-headers:  2.6.8.1-r2
ACCEPT_KEYWORDS="x86 ~x86"
AUTOCLEAN="yes"
CFLAGS="-O2 -march=pentium4 -pipe -fstack-protector"
CHOST="i686-pc-linux-gnu"
CONFIG_PROTECT="/etc /usr/kde/2/share/config /usr/kde/3/share/config /usr/lib/X11/xkb /usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ /usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/share/texmf/xdvi/ /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-O2 -march=pentium4 -pipe -fstack-protector"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs autoconfig ccache distlocks sandbox sfperms"
GENTOO_MIRRORS="http://distfiles.gentoo.org http://distro.ibiblio.org/pub/Linux/distributions/gentoo"
LANG="en_GB.utf8"
LC_ALL="en_GB.utf8"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY="/usr/local/portage"
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="X aalib alsa apache2 apm atm avi bash-completion berkdb bitmap-fonts cdparanoia cdr crypt curl dhcp directfb divx4linux doc dvd emboss encode fam fbcon font-server foomaticdb gdbm gif gpg gpm gtk2 imagemagick imap imlib jpeg ldap libg++ libwww live lzo mad maildir mailwrapper mbox mikmod mjpeg mmx mmx2 mp3 mpeg ncurses network nls nptl offensive oggvorbis pdflib perl png python quicktime readline real ruby sdl slang spell sse sse2 ssl svga tcltk tcpd theora tiff truetype truetype-fonts type1-fonts unicode usb utf8 v4l v4l2 vcd vidix x86 xine xml2 xmms xv xvid zlib"
Unset:  ASFLAGS, CBUILD, CTARGET, LDFLAGS
Comment 1 Ciaran McCreesh 2005-03-25 14:46:24 UTC
*** Bug 86423 has been marked as a duplicate of this bug. ***
Comment 2 Ciaran McCreesh 2005-03-25 17:49:28 UTC
Hrm. With USE=tcltk:

make: Entering directory `/var/tmp/portage/vim-7.0_alpha20050321/work/vim7/src'
CC="i686-pc-linux-gnu-gcc -Iproto -DHAVE_CONFIG_H     -O2 -march=pentium4 -fomit
-frame-pointer -pipe -D__CIARANM_WAS_HERE__      -I/usr/include  -D_REENTRANT=1 
-D_THREAD_SAFE=1 -D_LARGEFILE64_SOURCE=1long  " srcdir=. sh ./osdef.sh

With USE=-tcltk:

make: Entering directory `/var/tmp/portage/vim-7.0_alpha20050321/work/vim7/src'
CC="i686-pc-linux-gnu-gcc -Iproto -DHAVE_CONFIG_H     -O2 -march=pentium4 -fomit-frame-pointer -pipe -D__CIARANM_WAS_HERE__        " srcdir=. sh ./osdef.sh

So enabling tcltk is supposed to add something like "-I/usr/include -D_REENTRANT=1 -D_THREAD_SAFE=1 -D_LARGEFILE64_SOURCE=1long".

Lessee what configure.in has to say...

TCL_CFLAGS="-I$TCL_INC $TCL_DEFS"

and:

TCL_DEFS=`echo $TCL_DEFS | sed -e 's/\ /\X/' | tr ' ' '\012' | sed -e '/^-[[^D]]/d' -e '/-D[[^_]]/d' -e 's/-D_/ -D_/' | tr -d '\012'`

The original TCL_DEFS is coming from /usr/lib/tclConfig.sh .

So...

What version of tcl is being used, and is this a recent upgrade? Also, what is the output of bash -c '( . /usr/lib/tclConfig.sh ; set | grep TCL )' ?
Comment 3 David Morgan 2005-03-26 03:23:57 UTC
tcl-8.4.9 - upgraded to it on the 19th March, but re-emerged on the 23rd

djm@valinor ~ $ bash -c '( . /usr/lib/tclConfig.sh ; set | grep TCL )'
BASH_EXECUTION_STRING='( . /usr/lib/tclConfig.sh ; set | grep TCL )'
TCL_BUILD_LIB_SPEC='-L//usr/lib -ltcl8.4${TCL_DBGX}'
TCL_BUILD_STUB_LIB_PATH='//usr/lib/libtclstub8.4${TCL_DBGX}.a'
TCL_BUILD_STUB_LIB_SPEC='-L//usr/lib -ltclstub8.4${TCL_DBGX}'
TCL_CC='gcc -pipe'
TCL_CC_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}:/usr/lib'
TCL_CFLAGS_DEBUG=-g
TCL_CFLAGS_OPTIMIZE=-O2
TCL_CFLAGS_WARNING='-Wall -Wno-implicit-int -fno-strict-aliasing'
TCL_COMPAT_OBJS=
TCL_DBGX=
TCL_DEFS=' -DPEEK_XCLOSEIM=1 -D_LARGEFILE64_SOURCE=1 -DTCL_WIDE_INT_TYPE=long\ long -DHAVE_STRUCT_STAT64=1 -DHAVE_OPEN64=1 -DHAVE_LSEEK64=1 -DHAVE_TYPE_OFF64_T=1 -DHAVE_GETCWD=1 -DHAVE_OPENDIR=1 -DHAVE_STRSTR=1 -DHAVE_STRTOL=1 -DHAVE_STRTOLL=1 -DHAVE_STRTOULL=1 -DHAVE_TMPNAM=1 -DHAVE_WAITPID=1 -DHAVE_LIMITS_H=1 -DHAVE_UNISTD_H=1 -DHAVE_SYS_PARAM_H=1 -DUSE_TERMIOS=1 -DHAVE_SYS_TIME_H=1 -DTIME_WITH_SYS_TIME=1 -DHAVE_TM_ZONE=1 -DHAVE_GMTIME_R=1 -DHAVE_LOCALTIME_R=1 -DHAVE_TM_GMTOFF=1 -DHAVE_TIMEZONE_VAR=1 -DHAVE_ST_BLKSIZE=1 -DSTDC_HEADERS=1 -DHAVE_SIGNED_CHAR=1 -DHAVE_LANGINFO=1 -DHAVE_SYS_IOCTL_H=1 '
TCL_DL_LIBS=-ldl
TCL_EXEC_PREFIX=/usr
TCL_EXPORT_FILE_SUFFIX=
TCL_EXTRA_CFLAGS='-O2 -march=pentium4 -pipe -fstack-protector'
TCL_INCLUDE_SPEC=-I/usr/include
TCL_LDFLAGS_DEBUG=
TCL_LDFLAGS_OPTIMIZE=
TCL_LD_FLAGS=' -Wl,--export-dynamic'
TCL_LD_SEARCH_FLAGS='-Wl,-rpath,${LIB_RUNTIME_DIR}:/usr/lib'
TCL_LIBS='-ldl  -lieee -lm'
TCL_LIB_FILE=libtcl8.4.so
TCL_LIB_FLAG='-ltcl8.4${TCL_DBGX}'
TCL_LIB_SPEC='-L/usr/lib -ltcl8.4${TCL_DBGX}'
TCL_LIB_VERSIONS_OK=ok
TCL_MAJOR_VERSION=8
TCL_MINOR_VERSION=4
TCL_NEEDS_EXP_FILE=0
TCL_PACKAGE_PATH=/usr/lib
TCL_PATCH_LEVEL=.9
TCL_PREFIX=/usr
TCL_RANLIB=ranlib
TCL_SHARED_BUILD=1
TCL_SHARED_LIB_SUFFIX='${VERSION}${DBGX}.so'
TCL_SHLIB_CFLAGS=-fPIC
TCL_SHLIB_LD='gcc -pipe -shared'
TCL_SHLIB_LD_LIBS='${LIBS}'
TCL_SHLIB_SUFFIX=.so
TCL_SRC_DIR=//usr/lib/tcl8.4/include
TCL_STLIB_LD='${AR} cr'
TCL_STUB_LIB_FILE='libtclstub8.4${TCL_DBGX}.a'
TCL_STUB_LIB_FLAG='-ltclstub8.4${TCL_DBGX}'
TCL_STUB_LIB_PATH='/usr/lib/libtclstub8.4${TCL_DBGX}.a'
TCL_STUB_LIB_SPEC='-L/usr/lib -ltclstub8.4${TCL_DBGX}'
TCL_SUPPORTS_STUBS=1
TCL_THREADS=0
TCL_UNSHARED_LIB_SUFFIX='${VERSION}${DBGX}.a'
TCL_VERSION=8.4


In case it helps (probably not), the output of configure is

checking --enable-tclinterp argument... yes
checking --with-tclsh argument... no
checking for tclsh8.4... /usr/bin/tclsh8.4
checking Tcl version... 8.4 - OK
checking for location of Tcl include... /usr/include/tcl.h
checking for location of tclConfig.sh script... /usr/lib/tclConfig.sh
Comment 4 Ciaran McCreesh 2005-03-26 11:44:22 UTC
Should be fixed in the 20050326 snapshot I just committed. Please reopen if not.

Index: src/configure.in
===================================================================
RCS file: /cvsroot/vim/vim7/src/configure.in,v
retrieving revision 1.16
diff -u -r1.16 configure.in
--- src/configure.in	7 Mar 2005 23:15:28 -0000	1.16
+++ src/configure.in	26 Mar 2005 17:38:38 -0000
@@ -749,7 +749,9 @@
 	    TCL_LIBS=`eval echo "$TCL_LIB_SPEC $TCL_LIBS"`
 	    dnl Use $TCL_DEFS for -D_THREAD_SAFE et al.  But only use the
 	    dnl "-D_ABC" items.  Watch out for -DFOO=long\ long.
-	    TCL_DEFS=`echo $TCL_DEFS | sed -e 's/\ /\X/' | tr ' ' '\012' | sed -e '/^-[[^D]]/d' -e '/-D[[^_]]/d' -e 's/-D_/ -D_/' | tr -d '\012'`
+	    TCL_DEFS=`echo $TCL_DEFS | sed -e 's/-\([[^D]]\|D[[^_]]\)[[^ \\\\]]\+\(\\\\.[[^ \\\\]]*\)*//g' | tr -s ' '`
+	    echo "Debug notice for Gentoo maintainers:"
+	    echo "TCL_DEFS is ${TCL_DEFS}"
 	    break
 	  fi
 	done