Re: [xml] question on versions



Hi folks,

Thanks for the replies... I'm on OS X 10.5.8 fwiw.

otool confirms that the libphp5.so file that apache is complaining about seems ok with libxml...

otool -L /usr/libexec/apache2/libphp5.so
    /usr/local/lib/libxml2.2.dylib (compatibility version 10.0.0, current version 10.8.0)

And I can run the /usr/local/bin/php just fine...

Ahh but I found an older version of libxml in /usr/lib and the new version is in /usr/local/lib... so I'm guessing httpd is loading the older version from /usr/lib. Now to see if I can get it to quit that...

Warmly,
Josh




On Fri, Mar 16, 2012 at 12:52 AM, Mark Rowe <mrowe apple com> wrote:

On 2012-03-15, at 23:41, Daniel Veillard <veillard redhat com> wrote:

> On Thu, Mar 15, 2012 at 05:48:01PM -0700, Joshua Alexander wrote:
>> Hi folks,
>>
>> I recently built libxml2 2.7.8 on OS X and now apache won't start saying
>> "libphp5.so requires version 10.0.0 or later, but libxml2.2.dylib provides
>> version 9.0.0"
>>
>> That doesn't make sense to me, so I'm curious, is what apache's saying
>> accurate... or what "version" is libxml2 2.7.8 supposed to provide?
>
>  Smells like Apple builds incremented the dylib and you need to mimic
> that on your own builds (but I have no idea how !)

The increase in library version number from 9 to 10 happened when libxml2's version number went from v2.6.32 to v2.7.0.  The library version number is derived from the -version-info argument passed to libtool, computed in configure as:

LIBXML_VERSION_INFO=`expr $LIBXML_MAJOR_VERSION + $LIBXML_MINOR_VERSION`:$LIBXML_MICRO_VERSION:$LIBXML_MINOR_VERSION

For instance, libxml2 2.6.32 passed -version-info 8:32:6 to libtool.  libxml2 2.7.8 passes -version-info 9:8:7.  From my reading of <http://sourceware.org/autobook/autobook/autobook_91.html> the version info that libxml2 is passing doesn't really correspond to how it is intended to be used. What's worse, though, is that the manner in which libtool maps the version information on to the Mach-O concepts of library versioning doesn't really agree with the autobook explanation of library versioning either (e.g., the "age" isn't taken in to consideration when generating the compatibility version). This means that even if libxml2 were setting -version-info correctly that the compatibility version of the library on OS X would change unexpectedly when the "current" field of the libtool version info was incremented.

In other words, the entire situation is gross.

- Mark




[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]