bootstrap error...

YONETANI Tomokazu qhwt+dfly at les.ath.cx
Thu Jun 23 02:18:42 PDT 2005


On Wed, Jun 22, 2005 at 11:52:20AM +0200, Martin Karlsson wrote:
> topet wrote:
> 
> > i've tried reinstalling my dfly 1.3-preview system hoping i'd get
> > lucky this time with my setup. i updated my src and pkgsrc tree first
> > then built and installed world and kernel after. to begin my apps
> > installion, i tried bootstraping my pkgsrc but an error occured...
> [snip]
> > Stop in /usr/pkgsrc/bootstrap/work/tnftp/libedit.
> > *** Error code 1
> >
> > Stop in /usr/pkgsrc/bootstrap/work/tnftp.
> > ===> exited with status 1
> > aborted.
> [snip]
> 
> I was hit by the same (I think) problem.
> Workaround: hack /usr/pkgsrc/net/tnftp/files/config.h.in , and put
> #define HAVE_DIRNAME 1
> in it, after the #undef HAVE_DIRNAME.
> 
> I found this in 2 threads on 'tech-pkg at netbsd.org', dealing with the
> same issue on Mac OS X:
> <URL:http://mail-index.netbsd.org/tech-pkg/2005/06/10/0015.html>
> <URL:http://mail-index.netbsd.org/tech-pkg/2005/06/10/0019.html>

The problem is that configure.in script is written so that it doesn't
generate HAVE_DIRNAME macro in config.h even if it found the function in the
system library.  When HAVE_DIRNAME is not defined, tnftp.h declares dirname()
and it's defined in libnetbsd/dirname.c as a substitute.  This is OK as long
as the functions provided by libnetbsd/*.c are actually compatible with the
one defined by the system, otherwise the compilation fails. (in this case,
char *dirname(char *) vs char *dirname(const char *)).

Changing files/configure.in file below followed by running autoconf-2.13
in the same directory should fix it:


Index: files/configure.in
===================================================================
RCS file: /home/source/netbsd/cvs/pkgsrc/net/tnftp/files/configure.in,v
retrieving revision 1.7
diff -u -r1.7 configure.in
--- files/configure.in	10 Jun 2005 05:06:25 -0000	1.7
+++ files/configure.in	23 Jun 2005 08:04:25 -0000
@@ -189,10 +189,14 @@
 		strerror strlcat strlcpy strptime strsep strunvis \
 		strvis timegm usleep utimes])
 AC_CHECK_FUNCS([gethostbyname2 getpassphrase getpgrp memmove select])
-if test $have_fparseln != yes; then
+if test $have_fparseln = yes; then
+	AC_DEFINE(HAVE_FPARSELN, 1)
+else
 	AC_REPLACE_FUNCS(fparseln)
 fi
-if test $have_dirname != yes; then
+if test $have_dirname = yes; then
+	AC_DEFINE(HAVE_DIRNAME, 1)
+else
 	AC_REPLACE_FUNCS(dirname)
 fi
 if test $ac_cv_func_getpgrp = yes; then





More information about the Users mailing list