Can't run newly-compiled RELENG_6 programs under RELENG_6_1: missing __res_state

Scott Long scottl at samsco.org
Wed Jul 19 20:57:38 UTC 2006


Guy Helmer wrote:
> Scott Long wrote:
> 
>> Guy Helmer wrote:
>>
>>> We just tried running programs under RELENG_6_1 that were compiled 
>>> under RELENG_6 checked out 2006-07-19, and couldn't because of the 
>>> undefined symbol "__res_state"l, which I would assume is a result of 
>>> the recent MFC of the BIND 9 resolver library.    Is this to be 
>>> expected?  It will cause a bit of a hassle...
>>>
>>> Guy
>>>
>>
>> No, it shouldn't be that way.  I heavily advocated that the STABLE 
>> branches should be free from exactly these kinds of problems.  Hopefully
>> this gets resolved.
>>
>> Scott
> 
> After looking more deeply, I've found it is because our own software 
> plays with the semi-public _res structure to reduce the timeout and 
> retries in the DNS resolver routines.  I found the changes in 
> /usr/include/resolv.h - references to _res.xxx are being changed via 
> macros into function calls to make the operations thread-aware.  Now 
> that I know, I can work around it..
> 
> Guy
> 

That's good to know.  Still it sounds like an unintended consequence 
that could cause problems for others.

Scott



More information about the freebsd-stable mailing list