2.0 fails to compile on amd64

Sean McNeil sean at mcneil.com
Sat Aug 19 22:36:05 UTC 2006


On Sat, 2006-08-19 at 15:20 -0700, Sean McNeil wrote:
> On Sat, 2006-08-19 at 14:15 -0700, Sean McNeil wrote:
> > On Sat, 2006-08-19 at 16:10 -0500, Stephen Montgomery-Smith wrote:
> > > Sean McNeil wrote:
> > > > On Sat, 2006-08-19 at 15:53 -0500, Stephen Montgomery-Smith wrote:
> > > > 
> > > >>Sean McNeil wrote:
> > > >>
> > > >>>I get the following error:
> > > >>>
> > > >>>In file included from conditn.c:37:
> > > >>>system.h:542: error: conflicting types for 'gethostbyname_r'
> > > >>>/usr/include/netdb.h:228: error: previous declaration of
> > > >>>'gethostbyname_r' was here
> > > >>>dmake:  Error code 1, while making '../../unxfbsdx.pro/obj/conditn.obj'
> > > >>>'---* tg_merge.mk *---'
> > > >>>
> > > >>>ERROR: Error 65280 occurred while
> > > >>>making /usr/ports/editors/openoffice.org-2.0/work/OOD680_m1/sal/osl/unx
> > > >>>dmake:  Error code 1, while making 'build_instsetoo_native'
> > > >>>'---* *---'
> > > >>>*** Error code 255
> > > >>
> > > >>The problem you have (which by the way will only occur with a very 
> > > >>recent version of FreeBSD 6.1) was fixed in Openoffice 2.0.3, but when 
> > > >>2.0.4.m1 was ported (probably yesterday or today) the porter forgot to 
> > > >>carry across the fix.  My plan is to wait until the porter realizes this 
> > > >>and fixes it.  The problem is unrelated to amd64.
> > > > 
> > > > 
> > > > OK, thanks.  The fix would appear to be fairly obvious in that includes
> > > > of netdb.h should not be done in system.h when the replacement
> > > > gethostbyname_r is used.  I see that there is a direct include and it is
> > > > included again when NETBSD or SCO is defined.  Seems to me the first
> > > > instance should just be removed.
> > > > 
> > > > 2.0.4.m1.. is that a development release?  Shouldn't it have been update
> > > > only for -devel?
> > > 
> > > Well the 2.0.3 did have these particular problems fixed (and if you want 
> > > to fix it yourself you should really try to look at the openoffice port 
> > > of a few days ago, because there are similar problems with other *_r 
> > > functions), but it had some other problem which ended with a kind of 
> > > "spinlock" error.  My impression is that this was a very difficult 
> > > problem to figure out, and so my guess is that the porter jumped at the 
> > > chance when a later version came out, in hope of fixing this.
> > > 
> > > My impression is that OO is a really hard port to maintain.  When it 
> > > works, it works really well, and I do a "make package" as well as "make 
> > > install" so that it is easy for me to reinstall at a later date when the 
> > > OO port is going through a season of not working.  If you are in need of 
> > > a working OO right now try to get a package from somewhere.  I could 
> > > even give you mine if you like.
> > 
> > Thanks for the offer, but I already have OO installed.  I installed it
> > previous to the recent update by maho in cvs just 8 hours ago.
> > portupgrade is what brought the issue to my attention.  The version I
> > have installed is working without problems.
> > 
> > It is a shame that people update ports to fix issues with -CURRENT and
> > break functionality for everyone else that tracks the stable builds.
> 
> I did some poking around and found that it is actually the fault of an
> MFC that happened about 4 weeks ago:
> 
> netdb.h Revision 1.38.2.2
> 
> This added the prototypes that were put in the main branch about 4
> months ago sd
> 
> netdb.h Revision 1.41
> 
> __FreeBSD_version hasn't been bumped, so the best I could come up with
> is:

Oops! Another misread on my part.  The reldate was bumped when this was
done.  The proper test should be for 601103 and that would solve this
issue:

--- sal/osl/unx/socket.c.orig	Sat Aug 19 14:35:34 2006
+++ sal/osl/unx/socket.c	Sat Aug 19 14:35:51 2006
@@ -813,7 +813,7 @@
 	const char *name, struct hostent *result,
 	char *buffer, int buflen, int *h_errnop)
 {
-#if defined(LINUX) || (defined(FREEBSD) && (__FreeBSD_version >= 700015))
+#if defined(LINUX) || (defined(FREEBSD) && (__FreeBSD_version >= 601103))
 	struct hostent *__result; /* will be the same as result */
 	int __error;
 	__error = gethostbyname_r (name, result, buffer, buflen,
--- sal/osl/unx/system.h.orig	Sat Aug 19 14:35:01 2006
+++ sal/osl/unx/system.h	Sat Aug 19 14:35:13 2006
@@ -537,7 +537,7 @@
 struct tm *localtime_r(const time_t *timep, struct tm *buffer);
 struct tm *gmtime_r(const time_t *timep, struct tm *buffer);
 #endif /* !defined FREEBSD || (__FreeBSD_version < 500112) */
-#if !defined(FREEBSD) || (__FreeBSD_version < 700015)
+#if !defined(FREEBSD) || (__FreeBSD_version < 601103)
 struct hostent *gethostbyname_r(const char *name, struct hostent *result,
 								char *buffer, int buflen, int *h_errnop);
 #endif /* !defined(FREEBSD) || (__FreeBSD_version < 700015) */
--- sal/osl/unx/system.c.orig	Sat Aug 19 14:38:03 2006
+++ sal/osl/unx/system.c	Sat Aug 19 14:38:39 2006
@@ -343,7 +343,7 @@
 }
 #endif /* defined SCO */
 
-#if !defined(FREEBSD) || (__FreeBSD_version < 700015)
+#if !defined(FREEBSD) || (__FreeBSD_version < 601103)
 
 extern int h_errno;
 




More information about the freebsd-openoffice mailing list