Bug 151287

Summary: devel/ccache: waits for string input?
Product: Ports & Packages Reporter: c.kworr
Component: Individual Port(s)Assignee: Emanuel Haupt <ehaupt>
Status: Closed FIXED    
Severity: Affects Only Me    
Priority: Normal    
Version: Latest   
Hardware: Any   
OS: Any   

Description c.kworr 2010-10-07 20:20:01 UTC
When building world with ccache some files require closing stdin to complete:

===> lib/libc (obj,depend,all,install)
install -C -o root -g wheel -m 444  crtbegin.o /usr/obj/usr/src/tmp/usr/lib/crtbegin.o
install -C -o root -g wheel  -m 444 crti.o crtn.o gcrt1.o crt1.o Scrt1.o /usr/obj/usr/src/tmp/usr/lib
install -C -o root -g wheel -m 444  crtend.o /usr/obj/usr/src/tmp/usr/lib/crtend.o
install -C -o root -g wheel -m 444  crtbeginT.o /usr/obj/usr/src/tmp/usr/lib/crtbeginT.o
install -C -o root -g wheel -m 444  crtbegin.So /usr/obj/usr/src/tmp/usr/lib/crtbeginS.o
install -C -o root -g wheel -m 444  crtend.So /usr/obj/usr/src/tmp/usr/lib/crtendS.o
/usr/local/libexec/ccache/world-cc -fpic -DPIC -O2 -pipe -march=athlon-xp -I/usr/src/lib/libc/include -I/usr/src/lib/libc/../../include -I/usr/src/lib/libc/i386 -DNLS -D__DBINTERFACE_PRIVATE -I/usr/src/lib/libc/../../contrib/gdtoa -DINET6 -I/usr/obj/usr/src/lib/libc -I/usr/src/lib/libc/resolv -D_ACL_PRIVATE -DPOSIX_MISTAKE -I/usr/src/lib/libc/locale -DBROKEN_DES -DPORTMAP -DDES_BUILTIN -I/usr/src/lib/libc/rpc -DYP -DHESIOD -DNS_CACHING -DSYMBOL_VERSIONING -std=gnu99 -fstack-protector -Wsystem-headers -Werror -Wall -Wno-format-y2k -Wno-uninitialized -Wno-pointer-sign -c nslexer.c -o nslexer.So
/usr/local/libexec/ccache/world-cc -O2 -pipe -march=athlon-xp -I/usr/src/lib/libc/include -I/usr/src/lib/libc/../../include -I/usr/src/lib/libc/i386 -DNLS -D__DBINTERFACE_PRIVATE -I/usr/src/lib/libc/../../contrib/gdtoa -DINET6 -I/usr/obj/usr/src/lib/libc -I/usr/src/lib/libc/resolv -D_ACL_PRIVATE -DPOSIX_MISTAKE -I/usr/src/lib/libc/locale -DBROKEN_DES -DPORTMAP -DDES_BUILTIN -I/usr/src/lib/libc/rpc -DYP -DHESIOD -DNS_CACHING -DSYMBOL_VERSIONING -std=gnu99 -fstack-protector -Wsystem-headers -Werror -Wall -Wno-format-y2k -Wno-uninitialized -Wno-pointer-sign -c nslexer.c
load: 2.52  cmd: ccache 31292 [piperd] 29.02r 0.01u 0.00s 0% 1184k
load: 0.91  cmd: ccache 31292 [piperd] 98.61r 0.01u 0.00s 0% 1184k
^C
# cd /usr/obj/usr/src/lib/libc
# /usr/local/libexec/ccache/world-cc -O2 -pipe -march=athlon-xp -I/usr/src/lib/libc/include -I/usr/src/lib/libc/../../include -I/usr/src/lib/libc/i386 -DNLS -D__DBINTERFACE_PRIVATE -I/usr/src/lib/libc/../../contrib/gdtoa -DINET6 -I/usr/obj/usr/src/lib/libc -I/usr/src/lib/libc/resolv -D_ACL_PRIVATE -DPOSIX_MISTAKE -I/usr/src/lib/libc/locale -DBROKEN_DES -DPORTMAP -DDES_BUILTIN -I/usr/src/lib/libc/rpc -DYP -DHESIOD -DNS_CACHING -DSYMBOL_VERSIONING -std=gnu99 -fstack-protector -Wsystem-headers -Werror -Wall -Wno-format-y2k -Wno-uninitialized -Wno-pointer-sign -c nslexer.c
load: 0.07  cmd: ccache 31357 [ttyin] 1.32r 0.01u 0.00s 0% 1188k
load: 0.07  cmd: ccache 31357 [ttyin] 1.60r 0.01u 0.00s 0% 1188k
load: 0.07  cmd: ccache 31357 [ttyin] 1.86r 0.01u 0.00s 0% 1188k
load: 0.07  cmd: ccache 31357 [ttyin] 2.10r 0.01u 0.00s 0% 1188k
load: 0.07  cmd: ccache 31357 [ttyin] 2.35r 0.01u 0.00s 0% 1188k
load: 0.07  cmd: ccache 31357 [ttyin] 2.61r 0.01u 0.00s 0% 1188k
^C
# /usr/local/libexec/ccache/world-cc -O2 -pipe -march=athlon-xp -I/usr/src/lib/libc/include -I/usr/src/lib/libc/../../include -I/usr/src/lib/libc/i386 -DNLS -D__DBINTERFACE_PRIVATE -I/usr/src/lib/libc/../../contrib/gdtoa -DINET6 -I/usr/obj/usr/src/lib/libc -I/usr/src/lib/libc/resolv -D_ACL_PRIVATE -DPOSIX_MISTAKE -I/usr/src/lib/libc/locale -DBROKEN_DES -DPORTMAP -DDES_BUILTIN -I/usr/src/lib/libc/rpc -DYP -DHESIOD -DNS_CACHING -DSYMBOL_VERSIONING -std=gnu99 -fstack-protector -Wsystem-headers -Werror -Wall -Wno-format-y2k -Wno-uninitialized -Wno-pointer-sign -c nslexer.c
^D

After building both nslexer.c this way I can resume buildworld (with NO_CLEAN of course).

How-To-Repeat: Tiny snippet from my make.conf.

.if (empty(.CURDIR:N*/usr/src/*) || empty(.CURDIR:N*/usr/obj/*)) && !defined(NOCCACHE)
  CC=/usr/local/libexec/ccache/world-cc
  CXX=/usr/local/libexec/ccache/world-c++
.endif
Comment 1 Edwin Groothuis freebsd_committer freebsd_triage 2010-10-07 20:20:06 UTC
Responsible Changed
From-To: freebsd-ports-bugs->ehaupt

Over to maintainer (via the GNATS Auto Assign Tool)
Comment 2 Emanuel Haupt freebsd_committer freebsd_triage 2010-11-01 12:20:24 UTC
State Changed
From-To: open->feedback

The issue is being discussed on hackers@
Comment 3 dfilter service freebsd_committer freebsd_triage 2010-11-17 00:10:30 UTC
ehaupt      2010-11-17 00:10:24 UTC

  FreeBSD ports repository

  Modified files:
    devel/ccache         Makefile 
    devel/ccache/files   ccache-howto-freebsd.txt.in 
  Log:
  Update instructions on how to workaround a buildworld failure.
  
  [1] http://kerneltrap.org/mailarchive/freebsd-hackers/2010/11/8/6886684
  
  PR:             151287 (related)
  Submitted by:   Dimitry Andric, avilla
  Discussed on:   hackers [1]
  
  Revision  Changes    Path
  1.55      +1 -0      ports/devel/ccache/Makefile
  1.12      +5 -1      ports/devel/ccache/files/ccache-howto-freebsd.txt.in
_______________________________________________
cvs-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/cvs-all
To unsubscribe, send any mail to "cvs-all-unsubscribe@freebsd.org"
Comment 4 Emanuel Haupt freebsd_committer freebsd_triage 2010-11-17 00:14:41 UTC
State Changed
From-To: feedback->closed

A workaround has just been committed. Please make sure you read ports/UPDATING.