| Summary: | Dumping config.log on configure error is unintuitive. | ||||||
|---|---|---|---|---|---|---|---|
| Product: | Ports & Packages | Reporter: | Thomas Hurst <freaky> | ||||
| Component: | Individual Port(s) | Assignee: | Port Management Team <portmgr> | ||||
| Status: | Closed FIXED | ||||||
| Severity: | Affects Only Me | ||||||
| Priority: | Normal | ||||||
| Version: | Latest | ||||||
| Hardware: | Any | ||||||
| OS: | Any | ||||||
| Attachments: |
|
||||||
From: "Thomas Hurst" <freaky@aagh.net> > When configure fails, bsd.port.mk dumps config.log to the > terminal. This typcially results in several thousand lines of > crap which often hides the actual problem way up in the display > buffer, assuming it extends that far up. > > It should either pipe it through a pager, tail the last 20 lines > or so (since that'll be where it failed anyway), or be made > optional. bsd.port.mk doesn't dump the contents of the config.log. config.log is dumped by the configure script in the work/<distname> directory. Scot * Scot W. Hetzel (hetzels@westbend.net) wrote: > From: "Thomas Hurst" <freaky@aagh.net> > > When configure fails, bsd.port.mk dumps config.log to the > > terminal. This typcially results in several thousand lines of > > crap which often hides the actual problem way up in the display > > buffer, assuming it extends that far up. > > > > It should either pipe it through a pager, tail the last 20 lines > > or so (since that'll be where it failed anyway), or be made > > optional. > > bsd.port.mk doesn't dump the contents of the config.log. config.log is > dumped by the configure script in the work/<distname> directory. Um, line 2270: ${CONFIGURE_ENV} ./${CONFIGURE_SCRIPT} ${CONFIGURE_ARGS}; then \ ${ECHO} "===> Script \"${CONFIGURE_SCRIPT}\" failed: here are the contents of \"${CONFIGURE_LOG}\""; \ ${CAT} ${CONFIGURE_LOG}; \ ${ECHO} "(end of \"${CONFIGURE_LOG}\")"; \ -- Thomas 'Freaky' Hurst - freaky@aagh.net - http://www.aagh.net/ - Binary, adj.: Possessing the ability to have friends of both sexes. This is nasty. Somebody please patch this out, or at least give it a knob that defaults to 'no'. I'm sorry to be so blunt, but dumping config.log in its entirety sucks really hard. -- Alan E "Please rush me my portable walrus cleaning kit! Yes I am over 18, but my IQ isn't." From: "Thomas Hurst" <freaky@aagh.net> > To: "Scot W. Hetzel" <hetzels@westbend.net> > > bsd.port.mk doesn't dump the contents of the config.log. config.log is > > dumped by the configure script in the work/<distname> directory. > > Um, line 2270: > > ${CONFIGURE_ENV} ./${CONFIGURE_SCRIPT} ${CONFIGURE_ARGS}; then \ > ${ECHO} "===> Script \"${CONFIGURE_SCRIPT}\" failed: here are the contents of \"${CONFIGURE_LOG}\""; \ > ${CAT} ${CONFIGURE_LOG}; \ > ${ECHO} "(end of \"${CONFIGURE_LOG}\")"; \ > I stand corrected, I have attached a patch that puts a 'if CONFIG_DEBUG.... .. fi' around this. I believe this was added so that bento's logs would have the output of the config.log file in them. Bento's scripts would need to be changed to add a -DCONFIG_DEBUG when building packages. Scot Attached is a uuencoded version of the patch.
begin 666 bsd.port.mk.diff
M26YD97@Z(&)S9"YP;W)T+FUK"CT]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]
M/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T]/3T*4D-3
M(&9I;&4Z("]H;VUE+VYC=G,O<&]R=',O36LO8G-D+G!O<G0N;6LL=@IR971R
M:65V:6YG(')E=FES:6]N(#$N,SDW"F1I9F8@+74@+7(Q+C,Y-R!B<V0N<&]R
M="YM:PHM+2T@8G-D+G!O<G0N;6L),C0@2F%N(#(P,#(@,#$Z,34Z,#,@+3 P
M,# ),2XS.3<**RLK(&)S9"YP;W)T+FUK"3,Q($IA;B R,# R(# Q.C$X.C(X
M("TP,# P"D! ("TU,3,L-B K-3$S+#<@0$ *(",)"0D)("!T;R!T=7)N('1H
M96T@;V9F("AD969A=6QT.B D>T5#2$]]*2X*(",@4$%40TA?1$5"54<)+2!)
M9B!S970L('!R:6YT(&]U="!M;W)E(&EN9F]R;6%T:6]N(&%B;W5T('1H92!P
M871C:&5S(&%S"B C"0D)"2 @:70@871T96UP=',@=&\@87!P;'D@=&AE;2X*
M*R,@0T].1DE'7T1%0E5'"2T@268@<V5T+"!P<FEN="!O=70@;6]R92!I;F9O
M<FUA=&EO;B!A8F]U="!T:&4@8V]N9FEG=7)E('!R;V-E<W,N"B C(%!+1U]$
M0D1)4@D)+2!7:&5R92!P86-K86=E(&EN<W1A;&QA=&EO;B!I<R!R96-O<F1E
M9" H9&5F875L=#H@+W9A<B]D8B]P:V<I"B C($Y/7U!+1U]214=)4U1%4B M
M($1O;B=T(')E9VES=&5R(&$@<&]R="!I;G-T86QL871I;VX@87,@82!P86-K
M86=E+@H@(R!&3U)#15]02T=?4D5'25-415(@+2!)9B!S970L(&ET('=I;&P@
M;W9E<G=R:71E(&%N>2!E>&ES=&EN9R!P86-K86=E"D! ("TQ,3$R+#8@*S$Q
M,3(L,3(@0$ *(%!!5$-(7T1)4U1?05)'4RL]"2U#"B N96YD:68*( HK+FEF
M(&1E9FEN960H0T].1DE'7T1%0E5'*0HK0T].1DE'7T1%0E5'7U1-4#T)>65S
M"BLN96QS90HK0T].1DE'7T1%0E5'7U1-4#T);F\**RYE;F1I9@HK"B N:68@
M97AI<W1S*"]B:6XO=&%R*0H@5$%2/ST)+V)I;B]T87(*("YE;'-E"D! ("TR
M,C T+#D@*S(R,#0L,3,@0$ *( D@(" @24Y35$%,3%]04D]'4D%-/2(D>TE.
M4U1!3$Q?4%)/1U)!37TB(%P*( D@(" @24Y35$%,3%]30U))4%0](B1[24Y3
M5$%,3%]30U))4%1](B!<"B )(" @("1[0T].1DE'55)%7T5.5GT@+B\D>T-/
M3D9)1U5215]30U))4%1]("1[0T].1DE'55)%7T%21U-].R!T:&5N(%P*+0D)
M"21[14-(3WT@(CT]/3X@(%-C<FEP="!<(B1[0T].1DE'55)%7U-#4DE05'U<
M(B!F86EL960Z(&AE<F4@87)E('1H92!C;VYT96YT<R!O9B!<(B1[0T].1DE'
M55)%7TQ/1WU<(B([(%P*+0D)"21[0T%4?2 D>T-/3D9)1U5215],3T=].R!<
M"BT)"0DD>T5#2$]]("(H96YD(&]F(%PB)'M#3TY&24=54D5?3$]'?5PB*2([
M(%P**PD)"6EF(%L@)'M#3TY&24=?1$5"54=?5$U0(#T@>65S(%T[('1H96X@
M7 HK"0D)"21[14-(3WT@(CT]/3X@(%-C<FEP="!<(B1[0T].1DE'55)%7U-#
M4DE05'U<(B!F86EL960Z(&AE<F4@87)E('1H92!C;VYT96YT<R!O9B!<(B1[
M0T].1DE'55)%7TQ/1WU<(B([(%P**PD)"0DD>T-!5'T@)'M#3TY&24=54D5?
M3$]'?3L@7 HK"0D)"21[14-(3WT@(BAE;F0@;V8@7"(D>T-/3D9)1U5215],
M3T=]7"(I(CL@7 HK"0D)96QS92!<"BL)"0D))'M%0TA/?2 B/3T]/B!38W)I
M<'0@(%PB)'M#3TY&24=54D5?4T-225!4?5PB(&9A:6QE9#H@<F5V:65W("1[
M0T].1DE'55)%7U=22U-20WTO)'M#3TY&24=54D5?3$]'?2!F;W(@<')O8FQE
M;2(@.R!<"BL)"0EF:2 [(%P*( D)"21[1D%,4T5].R!<"B )"69I*0H@+F5N
$9&EF"@``
`
end
Ignore the previous patches, as they were missing a "}" to CONFIG_DEBUG_TMP.
I have also added a code that will change the auto[conf|make] programs in the
configure script to the correct versions. This is needed as I have noticed
that sometimes both autoconf* are run (i.e ${AUTOCONF} by bsd.port.mk, and
autoconf by the src distibutions Makefile).
Scot
Index: bsd.port.mk
===================================================================
RCS file: /home/ncvs/ports/Mk/bsd.port.mk,v
retrieving revision 1.397
diff -u -r1.397 bsd.port.mk
--- bsd.port.mk 24 Jan 2002 01:15:03 -0000 1.397
+++ bsd.port.mk 31 Jan 2002 16:32:34 -0000
@@ -513,6 +513,7 @@
# to turn them off (default: ${ECHO}).
# PATCH_DEBUG - If set, print out more information about the patches as
# it attempts to apply them.
+# CONFIG_DEBUG - If set, print out more information about the configure process.
# PKG_DBDIR - Where package installation is recorded (default: /var/db/pkg)
# NO_PKG_REGISTER - Don't register a port installation as a package.
# FORCE_PKG_REGISTER - If set, it will overwrite any existing package
@@ -1112,6 +1113,12 @@
PATCH_DIST_ARGS+= -C
.endif
+.if defined(CONFIG_DEBUG)
+CONFIG_DEBUG_TMP= yes
+.else
+CONFIG_DEBUG_TMP= no
+.endif
+
.if exists(/bin/tar)
TAR?= /bin/tar
.else
@@ -2197,6 +2204,9 @@
fi
.if defined(HAS_CONFIGURE)
@(cd ${CONFIGURE_WRKSRC} && \
+ ${PERL} -pi -e "s/aclocal/${ACLOCAL}/g; s/automake/${AUTOMAKE}/g; \
+ s/autoconf/${AUTOCONF}/g; s/autoheader/${AUTOHEADER}/g;" \
+ ${CONFIGURE_SCRIPT} ; \
if ! ${SETENV} CC="${CC}" CXX="${CXX}" \
CFLAGS="${CFLAGS}" CXXFLAGS="${CXXFLAGS}" \
INSTALL="/usr/bin/install -c -o ${BINOWN} -g ${BINGRP}" \
@@ -2204,9 +2214,13 @@
INSTALL_PROGRAM="${INSTALL_PROGRAM}" \
INSTALL_SCRIPT="${INSTALL_SCRIPT}" \
${CONFIGURE_ENV} ./${CONFIGURE_SCRIPT} ${CONFIGURE_ARGS}; then \
- ${ECHO} "===> Script \"${CONFIGURE_SCRIPT}\" failed: here are the contents of \"${CONFIGURE_LOG}\""; \
- ${CAT} ${CONFIGURE_LOG}; \
- ${ECHO} "(end of \"${CONFIGURE_LOG}\")"; \
+ if [ ${CONFIG_DEBUG_TMP} = yes ]; then \
+ ${ECHO} "===> Script \"${CONFIGURE_SCRIPT}\" failed: here are the contents of \"${CONFIGURE_LOG}\""; \
+ ${CAT} ${CONFIGURE_LOG}; \
+ ${ECHO} "(end of \"${CONFIGURE_LOG}\")"; \
+ else \
+ ${ECHO} "===> Script \"${CONFIGURE_SCRIPT}\" failed: review ${CONFIGURE_WRKSRC}/${CONFIGURE_LOG} for problem" ; \
+ fi ; \
${FALSE}; \
fi)
.endif
Responsible Changed From-To: freebsd-ports->portmgr Over to maintainer. A fix in the meantime is to set CONFIGURE_LOG=/dev/null in /etc/make.conf. State Changed From-To: open->closed The problem was resolved in rev.1.410 of bsd.port.mk. Thank you for submission! |
When configure fails, bsd.port.mk dumps config.log to the terminal. This typcially results in several thousand lines of crap which often hides the actual problem way up in the display buffer, assuming it extends that far up. It should either pipe it through a pager, tail the last 20 lines or so (since that'll be where it failed anyway), or be made optional. Fix: I tried for a patch, but my makefile abilities are weak.