Hi, emerge -u world wanted to install tcl and tk but it barfs on tk with the following error... gcc -pipe -c -march=pentium3 -O3 -pipe -Wall -Wconversion -Wno-implicit-int -fPIC -I/wrk/portage/tk-8.3.4-r1/work/tk8.3.4/unix -I/wrk/portage/tk-8.3.4-r1/work/tk8.3.4/unix/../generic -I/wrk/portage/tk-8.3.4-r1/work/tk8.3.4/unix/../bitmaps -I/wrk/portage/tcl-8.3.4/work/tcl8.3.4/generic -I/usr/X11R6/include -DHAVE_UNISTD_H=1 -DHAVE_LIMITS_H=1 -DTCL_THREADS=1 -D_REENTRANT=1 -D_THREAD_SAFE=1 -DSTDC_HEADERS=1 -DHAVE_SYS_TIME_H=1 -DTIME_WITH_SYS_TIME=1 -DHAVE_PW_GECOS=1 -DTCL_NO_DEPRECATED /wrk/portage/tk-8.3.4-r1/work/tk8.3.4/unix/../generic/tkArgv.c In file included from /wrk/portage/tk-8.3.4-r1/work/tk8.3.4/generic/tkPort.h:32, from /wrk/portage/tk-8.3.4-r1/work/tk8.3.4/generic/tkArgv.c:16: /wrk/portage/tk-8.3.4-r1/work/tk8.3.4/unix/tkUnixPort.h:222:20: tclInt.h: No such file or directory In file included from /wrk/portage/tk-8.3.4-r1/work/tk8.3.4/generic/tkPort.h:32, from /wrk/portage/tk-8.3.4-r1/work/tk8.3.4/generic/tkInt.h:27, from /wrk/portage/tk-8.3.4-r1/work/tk8.3.4/generic/tk3d.h:18, from /wrk/portage/tk-8.3.4-r1/work/tk8.3.4/generic/tk3d.c:16: /wrk/portage/tk-8.3.4-r1/work/tk8.3.4/unix/tkUnixPort.h:222:20: tclInt.h: No such file or directory
I get a failure on this build as well, although mine fails elsewhere. Output: orthanc root # emerge tk Calculating dependencies ...done! >>> emerge (1 of 1) dev-lang/tk-8.3.4-r1 to / >>> md5 src_uri ;-) tk8.3.4.tar.gz >>> Unpacking source... >>> Unpacking tk8.3.4.tar.gz to /var/tmp/portage/tk-8.3.4-r1/work * Applying remove-control-v.diff... [ ok ] >>> Source unpacked. creating cache ./config.cache checking for ranlib... ranlib checking for gcc... gcc checking whether the C compiler (gcc -march=athlon-xp -fomit-frame-pointer -O3 -pipe ) works... yes checking whether the C compiler (gcc -march=athlon-xp -fomit-frame-pointer -O3 -pipe ) is a cross-compiler... no checking whether we are using GNU C... yes checking whether gcc accepts -g... yes checking how to run the C preprocessor... gcc -E checking for unistd.h... yes checking for limits.h... yes checking for building with threads... yes checking for pthread_mutex_init in -lpthread... yes checking for pthread_attr_setstacksize... no checking if the compiler understands -pipe... yes checking for Tcl configuration... found /usr/lib/tclConfig.sh checking for existence of /usr/lib/tclConfig.sh... loading checking if 64bit support is requested... no checking if 64bit Sparc VIS support is requested... no checking system version (for dynamic loading)... Linux-2.4.20-gentoo-r5 checking for dlopen in -ldl... yes checking for ar... ar checking for build with symbols... no checking for sin... no checking for main in -lieee... yes checking stdlib.h... yes checking fd_set and sys/select... yes checking for ANSI C header files... yes checking for mode_t... yes checking for pid_t... yes checking for size_t... yes checking for uid_t in sys/types.h... yes checking for sys/time.h... yes checking whether time.h and sys/time.h may both be included... yes checking pw_gecos in struct pwd... yes checking for X... libraries /usr/X11R6/lib, headers /usr/X11R6/include checking for main in -lXbsd... no checking for connect... yes checking for gethostbyname... yes checking for sin... (cached) no checking for main in -lieee... (cached) yes checking whether char is unsigned... no checking for strtod... yes checking for Solaris2.4/Tru64 strtod bugs... ok checking how to build libraries... shared updating cache ./config.cache creating ./config.status creating Makefile creating tkConfig.sh gcc -pipe -c -march=athlon-xp -fomit-frame-pointer -O3 -pipe -Wall -Wconversion -Wno-implicit-int -fPIC -I/var/tmp/portage/tk-8.3.4-r1/work/tk8.3.4/unix -I/var/tmp/portage/tk-8.3.4-r1/work/tk8.3.4/unix/../generic -I/var/tmp/portage/tk-8.3.4-r1/work/tk8.3.4/unix/../bitmaps -I/root/portage/portage/tcl-8.3.4/work/tcl8.3.4/generic -I/usr/X11R6/include -DHAVE_UNISTD_H=1 -DHAVE_LIMITS_H=1 -DTCL_THREADS=1 -D_REENTRANT=1 -D_THREAD_SAFE=1 -DSTDC_HEADERS=1 -DHAVE_SYS_TIME_H=1 -DTIME_WITH_SYS_TIME=1 -DHAVE_PW_GECOS=1 -DTCL_NO_DEPRECATED /var/tmp/portage/tk-8.3.4-r1/work/tk8.3.4/unix/../generic/tk3d.c gcc -pipe -c -march=athlon-xp -fomit-frame-pointer -O3 -pipe -Wall -Wconversion -Wno-implicit-int -fPIC -I/var/tmp/portage/tk-8.3.4-r1/work/tk8.3.4/unix -I/var/tmp/portage/tk-8.3.4-r1/work/tk8.3.4/unix/../generic -I/var/tmp/portage/tk-8.3.4-r1/work/tk8.3.4/unix/../bitmaps -I/root/portage/portage/tcl-8.3.4/work/tcl8.3.4/generic -I/usr/X11R6/include -DHAVE_UNISTD_H=1 -DHAVE_LIMITS_H=1 -DTCL_THREADS=1 -D_REENTRANT=1 -D_THREAD_SAFE=1 -DSTDC_HEADERS=1 -DHAVE_SYS_TIME_H=1 -DTIME_WITH_SYS_TIME=1 -DHAVE_PW_GECOS=1 -DTCL_NO_DEPRECATED /var/tmp/portage/tk-8.3.4-r1/work/tk8.3.4/unix/../generic/tkArgv.c In file included from /var/tmp/portage/tk-8.3.4-r1/work/tk8.3.4/generic/tkPort.h:32, from /var/tmp/portage/tk-8.3.4-r1/work/tk8.3.4/generic/tkInt.h:27, from /var/tmp/portage/tk-8.3.4-r1/work/tk8.3.4/generic/tk3d.h:18, from /var/tmp/portage/tk-8.3.4-r1/work/tk8.3.4/generic/tk3d.c:16: /var/tmp/portage/tk-8.3.4-r1/work/tk8.3.4/unix/tkUnixPort.h:222:20: tclInt.h: No such file or directory In file included from /var/tmp/portage/tk-8.3.4-r1/work/tk8.3.4/generic/tkPort.h:32, from /var/tmp/portage/tk-8.3.4-r1/work/tk8.3.4/generic/tkArgv.c:16: /var/tmp/portage/tk-8.3.4-r1/work/tk8.3.4/unix/tkUnixPort.h:222:20: tclInt.h: No such file or directory make: *** [tkArgv.o] Error 1 make: *** Waiting for unfinished jobs.... make: *** [tk3d.o] Error 1 !!! ERROR: dev-lang/tk-8.3.4-r1 failed. !!! Function src_compile, Line 33, Exitcode 2 !!! (no error message) Possibly useful information: orthanc root # cat /etc/make.conf # Copyright 2000-2003 Daniel Robbins, Gentoo Technologies, Inc. # Contains local system settings for Portage system # $Header: /home/cvsroot/gentoo-src/portage/cnf/make.conf,v 1.62 2003/05/29 08:34:55 carpaski Exp $ # Please review 'man make.conf' for more information. # Build-time functionality # ======================== # # The USE variable is used to enable optional build-time functionality. For # example, quite a few packages have optional X, gtk or GNOME functionality # that can only be enabled or disabled at compile-time. Gentoo Linux has a # very extensive set of USE variables described in our USE variable HOWTO at # http://www.gentoo.org/doc/use-howto.html # # The available list of use flags with descriptions is in your portage tree. # Use 'less' to view them: --> less /usr/portage/profiles/use.desc <-- # # 'ufed' is an ncurses/dialog interface available in portage to make handling # useflags for you. 'emerge app-admin/ufed' # # Example: USE="3dfx 3dnow aalib acpi alsa apm avi cdr cups doc dvd encode gif gnome gpm gp hoto2 gtk2 imap imlib java jpeg kde libg++ libwww maildir -mbox mikmod mmx motif mozilla mpeg ncurses oggvorbis opengl pam pda pdflib perl pic png python qt qtm t quicktime readline ruby samba spell sse ssl svga tetex tiff truetype usb X xml xml2 xmms xv xface zlib tcltk x86" # Host Setting # ============ # # If you are using a Pentium Pro or greater processor, leave this line as-is; # otherwise, change to i586, i486 or i386 as appropriate. All modern systems # (even Athlons) should use "i686-pc-linux-gnu". All K6's are i586. # CHOST="i686-pc-linux-gnu" # Host and optimization settings # ============================== # # For optimal performance, enable a CFLAGS setting appropriate for your CPU. # # Please note that if you experience strange issues with a package, it may be # due to gcc's optimizations interacting in a strange way. Please test the # package (and in some cases the libraries it uses) at default optimizations # before reporting errors to developers. # # -mcpu=<cpu-type> means optimize code for the particular type of CPU without # breaking compatibility with other CPUs. # # -march=<cpu-type> means to take full advantage of the ABI and instructions # for the particular CPU; this will break compatibility with older CPUs (for # example, -march=athlon-xp code will not run on a regular Athlon, and # -march=i686 code will not run on a Pentium Classic. # # CPU types supported in gcc-3.2 and higher: athlon-xp, athlon-mp, # athlon-tbird, athlon, k6, k6-2, k6-3, i386, i486, i586 (Pentium), i686 # (PentiumPro), pentium, pentium-mmx, pentiumpro, pentium2 (Celeron), pentium3. # Note that Gentoo Linux 1.4 and higher include at least gcc-3.2. # # CPU types supported in gcc-2.95*: k6, i386, i486, i586 (Pentium), i686 # (Pentium Pro), pentium, pentiumpro Gentoo Linux 1.2 and below use gcc-2.95* # # CRITICAL WARNINGS: ****************************************************** # # ATHLON-4 will generate invalid SSE instructions; use 'athlon' instead. # # PENTIUM4 will generate invalid SSE2 instructions; use 'pentium3' instead. # # ************************************************************************* # # # Decent examples: # #CFLAGS="-mcpu=athlon-xp -O3 -pipe" CFLAGS="-march=athlon-xp -fomit-frame-pointer -O3 -pipe" # If you set a CFLAGS above, then this line will set your default C++ flags to # the same settings. CXXFLAGS="${CFLAGS}" # Advanced Masking # ================ # # Gentoo is using a new masking system to allow for easier stability testing # on packages. KEYWORDS are used in ebuilds to mask and unmask packages based # on the platform they are set for. A special form has been added that # indicates packages and revisions that are expected to work, but have not yet # been approved for the stable set. '~arch' is a superset of 'arch' which # includes the unstable, in testing, packages. Users of the 'x86' architecture # would add '~x86' to ACCEPT_KEYWORDS to enable unstable/testing packages. # '~ppc', '~sparc', '~sparc64' are the unstable KEYWORDS for their respective # platforms. DO NOT PUT ANYTHING BUT YOUR SPECIFIC ~ARCHITECTURE IN THE LIST. # IF YOU ARE UNSURE OF YOUR ARCH, OR THE IMPLICATIONS, DO NOT MODIFY THIS. # #ACCEPT_KEYWORDS="~arch"
I found the problem ... caused by a "PORTAGE_WORK_DIR=/wrk/" ... note the trailing /. This causes one of the variables in the ebuild {S} to have "//" in the middle of it, so when it tries to fix tkConfig.sh and remove references to the build directory, it fails. I'd suggest that somewhere in portage this is taken care of so {S} never has "//" in it, or just fix this ebuild. Cheers. Jono.
from make.conf # Portage Directories # =================== # # Each of these settings controls an aspect of portage's storage and file # system usage. If you change any of these, be sure it is available when # you try to use portage. *** DO NOT INCLUDE A TRAILING "/" ***
Interestingly, I have tk-8.4.3 installed, and I didn't have this issue with installing it. Now, however, I'm trying to install tk-8.4.4 and I am getting this error. So I found this bug, checked my make.conf and lo and behold I had: PORTAGE_TMPDIR="/store/portage-tmp/" in there, so I have now edited it to: PORTAGE_TMPDIR="/store/portage-tmp" but I'm still gettting the same error... is there something I need to re-emerge to get this to work again?
I re-emerged tcl, and that fixed it... thanks :D