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

Hajimu UMEMOTO ume at FreeBSD.ORG
Thu Jul 20 02:05:13 UTC 2006


Hi,

>>>>> On Wed, 19 Jul 2006 18:12:15 -0600 (MDT)
>>>>> "M. Warner Losh" <imp at bsdimp.com> said:

imp> In message: <44BE8912.9010807 at palisadesys.com>
imp>             Guy Helmer <ghelmer at palisadesys.com> writes:
imp> : We just tried running programs under RELENG_6_1 that were compiled under 
imp> : RELENG_6 checked out 2006-07-19, and couldn't because of the undefined 
imp> : symbol "__res_state"l, which I would assume is a result of the recent 
imp> : MFC of the BIND 9 resolver library.    Is this to be expected?  It will 
imp> : cause a bit of a hassle...

imp> It is not officially supported by the project.  You are running a
imp> binary compiled on a newer version of the system on an older version
imp> of the system.  This has sometimes worked in the past, but is outside
imp> the area that's expected to work.  There's been a number of breakages
imp> similar to this in past RELENG branches (there was one in 3.x and a
imp> lot on 4.x).

Yes, I believe running RELENG_6 binary on RELENG_6_1 is not supported
by the project.

imp> Having said that, can someone track down the problem in more detail to
imp> see if there might not be something we can do to mitigate the problem
imp> in the older versions?  What is __res_state?

__res_state is a function to initialize actual _res variable.  The
users usually use _res.  _res is substituted with __res_state by the
macro defined in resolv.h to support multi thread application.
Though it used to be ___res, it is replaced by __res_state during
resolver update.  We have compatibility cruft for ___res to keep ABI
backward compatibility.

Sincerely,

--
Hajimu UMEMOTO @ Internet Mutual Aid Society Yokohama, Japan
ume at mahoroba.org  ume@{,jp.}FreeBSD.org
http://www.imasy.org/~ume/


More information about the freebsd-stable mailing list