Skip site navigation (1)Skip section navigation (2)
Date:      Tue, 14 Oct 2003 15:37:43 +0100
From:      "Matt Sealey" <matt@kittycat.co.uk>
To:        <ports@freebsd.org>
Subject:   RE: databases/mysql-server build problems with dns/bind installed asbase?
Message-ID:  <EKENLNBIDBAHKIELDLPNCEFDCAAA.matt@kittycat.co.uk>
In-Reply-To: <EKENLNBIDBAHKIELDLPNGEFCCAAA.matt@kittycat.co.uk>

next in thread | previous in thread | raw e-mail | index | archive | help

Further to this:

It seems some of MySQL is being built with _REENTRANT defined, and some
parts without it defined, which is what causes the problem (for instance,
a mysql link lib linked as _REENTRANT linked to a utility app that isn't,
will mean the normal libc and so on are used (not libc_r) and therefore
the error pops up).

In summary:

One of "../mysys/libmysys.a", "../dbug/libdbug.a" or "../strings/libmystrings.a"
in the MySQL build is built with _REENTRANT defined. the "resolveip"
tool is not. Et voila, le bug.

That's what it looks like to me, anyway.

It seems that the includes that BIND8 installs when in "replacement"
mode are substantially different to those that FreeBSD is shipped
with (even though technically it's the same version of BIND, just
without 1 or 2 late security fixes) but I can't confirm this at all,
since I misplaced my install CD, and BIND already wrote over the
files. Can anyone check the _h_errno part at the top of netdb.h
for me?

Since I don't want to upgrade to BIND9 (which would be nice, but
completely unneccessary for me) it seems something needs to be
tweaked in BIND8, does anyone have any clue what this might be?

-- 
Matt Sealey <matt@kittycat.co.uk> 





> -----Original Message-----
> From: owner-freebsd-ports@freebsd.org
> [mailto:owner-freebsd-ports@freebsd.org]On Behalf Of Matt Sealey
> Sent: 14 October 2003 14:16
> To: ports@freebsd.org
> Subject: databases/mysql-server build problems with dns/bind installed
> asbase?
> 
> 
> 
> Hello there,
> 
> I'm trying to upgrade my MySQL server, I'm running FreeBSD 5.1 which is
> pretty plain and boring.. but it fails with a linker error every time:
> 
> 
> root@risky:/home/neko$ portupgrade mysql-server-4.0.14
> --->  Upgrading 'mysql-server-4.0.14' to 'mysql-server-4.0.15' (databases/mysql40-server)
> --->  Building '/usr/ports/databases/mysql40-server'
> ===>  Cleaning for mysql-client-4.0.15
> ===>  Cleaning for p5-DBD-mysql-2.1026_1
> ===>  Cleaning for p5-DBI-1.38
> ===>  Cleaning for libtool-1.3.5_1
> ===>  Cleaning for perl-5.6.1_14
> ===>  Cleaning for mysql-server-4.0.15
> 
> .. blah blah
> 
> 
> cc -O3 -DDBUG_OFF -O2 -mcpu=pentiumpro -mcpu=i686 -O3 -fno-omit-frame-pointer -o perror perror.o ../mysys/libmysys.a
> ../dbug/libdbug.a
> ../strings/libmystrings.a -lz -lcrypt -lm -lc_r
> source='resolveip.c' object='resolveip.o' libtool=no  depfile='.deps/resolveip.Po' tmpdepfile='.deps/resolveip.TPo'  depmode=gcc3
> /bin/
> sh ../depcomp
>  cc -DHAVE_CONFIG_H -I. -I. -I.. -I./../include -I../include -I..     -O3 -DDBUG_OFF -O2 -mcpu=pentiumpro -mcpu=i686 -O3
> -fno-omit-frame-pointer -c `test -f resolveip.c || echo './'`resolveip.c
> /bin/sh ../libtool --mode=link cc  -O3 -DDBUG_OFF -O2 -mcpu=pentiumpro -mcpu=i686 -O3 -fno-omit-frame-pointer    -o resolveip
> resolvei
> p.o ../mysys/libmysys.a  ../dbug/libdbug.a ../strings/libmystrings.a -lz -lcrypt -lm  -lc_r
> cc -O3 -DDBUG_OFF -O2 -mcpu=pentiumpro -mcpu=i686 -O3 -fno-omit-frame-pointer -o resolveip resolveip.o ../mysys/libmysys.a
> ../dbug/libd
> bug.a ../strings/libmystrings.a -lz -lcrypt -lm -lc_r
> resolveip.o: In function `main':
> resolveip.o(.text+0x2cf): undefined reference to `__h_errno'
> *** Error code 1
> 
> Stop in /usr/ports/databases/mysql40-server/work/mysql-4.0.15/extra.
> *** Error code 1
> 
> Stop in /usr/ports/databases/mysql40-server/work/mysql-4.0.15.
> *** Error code 1
> 
> Stop in /usr/ports/databases/mysql40-server/work/mysql-4.0.15.
> *** Error code 1
> 
> Stop in /usr/ports/databases/mysql40-server.
> ** Command failed [exit code 1]: /usr/bin/script -qa /tmp/portupgrade9325.0 make
> ** Fix the problem and try again.
> ** The following packages were not installed or upgraded (*:skipped / !:failed)
>         ! databases/mysql40-server (mysql-server-4.0.14)        (linker error)
> 
> 
> 
> It happens with the 4.1 port too, with or without optimisation flags, I have
> 
> BUILD_OPTIMIZED=yes
> OVERWRITE_DB=no
> SKIP_DNS_CHECK=yes
> 
> .. in my /etc/make.conf but it makes no difference whether I have nothing
> in there.
> 
> I'm leaning towards blaming my installations of BIND (PORT_REPLACES_BASE_BIND8=yes)
> 
> I'm sure I had this problem a year or two back when I ran 4.x on a server, but
> I can't remember how I solved it, if at all.
> 
> Anyone got any ideas what's broken here, and if it can be fixed (either in the
> BIND port, or the MySQL port)?
> 
> Thanks in advance
> 
> 
> --
> Matt Sealey <matt@kittycat.co.uk>
> 
> _______________________________________________
> freebsd-ports@freebsd.org mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-ports
> To unsubscribe, send any mail to "freebsd-ports-unsubscribe@freebsd.org"
> 



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?EKENLNBIDBAHKIELDLPNCEFDCAAA.matt>