Re: Circular port dependency

2013-01-19 Thread George Mitchell

On 01/11/13 19:41, George Mitchell wrote:

On 01/11/13 03:22, Gleb Kurtsou wrote:

On (10/01/2013 20:21), George Mitchell wrote:

I grabbed the ports tree as of 308518, the RELEASE_9_1_0 tag.
devel/libtool won't build, because it requires autom4te during the
configure phase.  So I put BUILD_DEPENDS= autom4te:devel/autoconf
in the Makefile.  But autoconf depends on gmake, which depends on
gettext, which depends on libiconv, which depends on libtool.
What to do?

[...]


It turns out that my problem was due to compiling on the Raspberry
Pi, a machine that is slow enough that this post-configure target in
the port's top-level Makefile:

post-configure:
@${FIND} ${WRKSRC} -type f | ${XARGS} ${TOUCH} -f

could end up setting the last write time for config.status earlier than
the last write time for configure, thereby triggering this make rule in
the port's own Makefile:

$(top_builddir)/config.status: $(top_srcdir)/configure 
$(CONFIG_STATUS_DEPENDENCIES)

$(SHELL) ./config.status --recheck

It's this --recheck that would cause the build to try to run autom4ke,
leading to the circular dependency.  So the correct fix is as attached,
guaranteeing that the config.status modification time will always be
later.

I'm not entirely sure why the post-configure rule is there in the first
place, and svnweb.freebsd.org refuses to show me anything in
ports/head/devel below liglogging.  I was trying to look at the log
for ports/devel/Makefile to see how the post-configure rule got there,
because simply removing it also appears to make the build succeed.  But
I assume it's there for some reason, and this fix seems to be less
antagonistic than removing the whole rule.-- George
--- Makefile.orig   2013-01-10 19:56:02.0 -0500
+++ Makefile2013-01-19 09:44:24.0 -0500
@@ -34,6 +34,6 @@
${WRKSRC}/configure ${WRKSRC}/libltdl/configure
 
 post-configure:
-   @${FIND} ${WRKSRC} -type f | ${XARGS} ${TOUCH} -f
+   @${FIND} ${WRKSRC} -type f -name config.status | ${XARGS} ${TOUCH} -f
 
 .include bsd.port.mk
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org

Re: Circular port dependency

2013-01-11 Thread Volodymyr Kostyrko

11.01.2013 03:21, George Mitchell:

I grabbed the ports tree as of 308518, the RELEASE_9_1_0 tag.


The current and supported version of ports is HEAD.


devel/libtool won't build, because it requires autom4te during the


Can you provide some logs showing how it can't be built?


configure phase.  So I put BUILD_DEPENDS= autom4te:devel/autoconf
in the Makefile.  But autoconf depends on gmake, which depends on
gettext, which depends on libiconv, which depends on libtool.
What to do?


--
Sphinx of black quartz, judge my vow.
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


Re: Circular port dependency

2013-01-11 Thread George Mitchell

On 01/11/13 03:22, Gleb Kurtsou wrote:

On (10/01/2013 20:21), George Mitchell wrote:

I grabbed the ports tree as of 308518, the RELEASE_9_1_0 tag.
devel/libtool won't build, because it requires autom4te during the
configure phase.  So I put BUILD_DEPENDS= autom4te:devel/autoconf
in the Makefile.  But autoconf depends on gmake, which depends on
gettext, which depends on libiconv, which depends on libtool.
What to do?


Build devel/gmake defining WITHOUT_NLS:
# cd /usr/ports/devel/gmake  make -DWITHOUT_NLS all install

Why would anybody want NLS support in make in a first place?



I'm running on a CURRENT build on my Raspberry Pi.
-- George Mitchell
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


It turns out the circular dependency is the side effect of the FreeBSD
10 autotools fix.  Upon discovering that acinclude.m4 has been modified,
the port decides it needs to run autom4te.

I worked around the problem with make -DWITHOUT_FBSD10_FIX, with no
apparent ill effects.  Perhaps the devel/libtool Makefile should always
define WITHOUT_FBSD10_FIX.  -- George Mitchell
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org


Circular port dependency

2013-01-10 Thread George Mitchell

I grabbed the ports tree as of 308518, the RELEASE_9_1_0 tag.
devel/libtool won't build, because it requires autom4te during the
configure phase.  So I put BUILD_DEPENDS= autom4te:devel/autoconf
in the Makefile.  But autoconf depends on gmake, which depends on
gettext, which depends on libiconv, which depends on libtool.
What to do?

I'm running on a CURRENT build on my Raspberry Pi.
-- George Mitchell
___
freebsd-current@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-current
To unsubscribe, send any mail to freebsd-current-unsubscr...@freebsd.org