irc/unreal

Jeremy Chadwick koitsu at FreeBSD.org
Mon Mar 26 15:00:51 UTC 2007


On Sat, Mar 24, 2007 at 03:41:20PM +0300, sekes wrote:
> I'm trying to build irc/unreal on 6.2-RELEASE and failing:
> 
> ===>  Building for Unreal-3.2.6
> Building src
> cc -I../include
> -I/usr/ports/irc/unreal/work/Unreal3.2/extras/regexp/include -pipe
> -I/usr/local/include -O2 -fno-strict-aliasing -pipe  -funsigned-char
> -fno-strict-aliasing -export-dynamic  -L/usr/local/lib  -c timesynch.c
> cc -I../include
> -I/usr/ports/irc/unreal/work/Unreal3.2/extras/regexp/include -pipe
> -I/usr/local/include -O2 -fno-strict-aliasing -pipe  -funsigned-char
> -fno-strict-aliasing -export-dynamic  -L/usr/local/lib  -c res.c
> res.c: In function `m_dns':
> res.c:718: error: storage size of 'inf' isn't known
> *** Error code 1
> 
> Stop in /usr/ports/irc/unreal/work/Unreal3.2/src.
> *** Error code 1
> 
> Stop in /usr/ports/irc/unreal/work/Unreal3.2.
> *** Error code 1
> 
> Stop in /usr/ports/irc/unreal.
> [xnet] /usr/ports/irc/unreal#
> 
> Ideas?

I've discussed the problem on #bsdports on IRC in the past; dvl brought
it to my attention.

The problem, from my perspective, is this:

dns/c-ares was modified to support an OPTIONS knob for CONFIG_INFO.
This option *must be on*, and adds the "ares_config_info" patch, which
provides the necessary header information for type "inf".  irc/unreal
depends on this information.

The knob itself defaults to ON.  However, for people who have built
dns/c-ares in the past (prior to this knob being added), there will
obviously be no support for ares_config_info.

Thus, you need to pkg_delete or deinstall dns/c-ares, and either rebuild
it (make clean && make install) or let irc/unreal rebuild it for you.

I'm about 90% sure this is the problem, because when I heard of the
issue, I tried to reproduce it on two of my systems (neither of which
had ever built dns/c-ares or irc/unreal before), and I had no issue.

Ideally, what needs to happen is that the irc/unreal port needs to
check to make sure that the appropriate storage type ("inf") is
available prior to irc/unreal being built.  Usually this is done in
autoconf (and that makes it the responsibility of the authors of
Unreal).  If there's some way the port itself could check to see if
dns/c-ares was built with CONFIG_INFO enabled (otherwise refuse to
build), that would be a workaround.

-- 
| Jeremy Chadwick                                    jdc at parodius.com |
| Parodius Networking                           http://www.parodius.com/ |
| UNIX Systems Administrator                      Mountain View, CA, USA |
| Making life hard for others since 1977.                  PGP: 4BD6C0CB |



More information about the freebsd-ports mailing list