[Mageia-dev] Freeze push: libmbfl

Colin Guthrie mageia at colin.guthr.ie
Wed Mar 28 16:53:55 CEST 2012


'Twas brillig, and Colin Guthrie at 28/03/12 15:38 did gyre and gimble:
> 'Twas brillig, and Colin Guthrie at 28/03/12 13:46 did gyre and gimble:
>> 'Twas brillig, and David Walser at 27/03/12 19:47 did gyre and gimble:
>>> It was updated for a security update in Mageia 1 but was not updated in
>>> Cauldron, so it won't currently be updated when upgrading to Mageia 2.
>>>
>>> The new version fixes usage with PHP 5.3.9 and newer.  I confirmed locally
>>> that it builds, installs, and works properly.
>>
>> It also contains ABI breakage:
>>
>> PHP Warning:  PHP Startup: Unable to load dynamic library
>> '/usr/lib64/php/extensions/mbstring.so' -
>> /usr/lib64/php/extensions/mbstring.so: undefined symbol:
>> mbfl_identify_encoding_no in Unknown on line 0
>>
>>
>> I will try rebuilding PHP, but really this is a broken update!
> 
> Rebuilding PHP did not help.
> 
> We need to revert this ASAP or find a way to fix PHP to be compatible
> and find out which other packages may be broken as a result.

FWIW, the API looks quite different:

[colin at jimmy libmbfl-1.0.1]$ ccgrep mbfl_identify_encoding .
./mbfl/mbfilter.c:mbfl_identify_encoding(mbfl_string *string, enum
mbfl_no_encoding *elist, int elistsz, int strict)
./mbfl/mbfilter.c:mbfl_identify_encoding_name(mbfl_string *string, enum
mbfl_no_encoding *elist, int elistsz, int strict)
./mbfl/mbfilter.c:	encoding = mbfl_identify_encoding(string, elist,
elistsz, strict);
./mbfl/mbfilter.c:mbfl_identify_encoding_no(mbfl_string *string, enum
mbfl_no_encoding *elist, int elistsz, int strict)
./mbfl/mbfilter.c:	encoding = mbfl_identify_encoding(string, elist,
elistsz, strict);
./mbfl/mbfilter.h:mbfl_identify_encoding(mbfl_string *string, enum
mbfl_no_encoding *elist, int elistsz, int strict);
./mbfl/mbfilter.h:mbfl_identify_encoding_name(mbfl_string *string, enum
mbfl_no_encoding *elist, int elistsz, int strict);
./mbfl/mbfilter.h:mbfl_identify_encoding_no(mbfl_string *string, enum
mbfl_no_encoding *elist, int elistsz, int strict);
[colin at jimmy libmbfl-1.0.1]$ cd ../libmb
libmbfl-1.0.1/ libmbfl-1.2.0/
[colin at jimmy libmbfl-1.0.1]$ cd ../libmbfl-1.2.0/
[colin at jimmy libmbfl-1.2.0]$ ccgrep mbfl_identify_encoding .
./mbfl/mbfilter.c:mbfl_identify_encoding(mbfl_string *string, enum
mbfl_no_encoding *elist, int elistsz, int strict)
./mbfl/mbfilter.c:mbfl_identify_encoding2(mbfl_string *string, const
mbfl_encoding **elist, int elistsz, int strict)
./mbfl/mbfilter.h:mbfl_identify_encoding(mbfl_string *string, enum
mbfl_no_encoding *elist, int elistsz, int strict);
./mbfl/mbfilter.h:mbfl_identify_encoding2(mbfl_string *string, const
mbfl_encoding **elist, int elistsz, int strict);

That's at least two functions no longer part of the public API...


Col


-- 

Colin Guthrie
colin(at)mageia.org
http://colin.guthr.ie/

Day Job:
  Tribalogic Limited http://www.tribalogic.net/
Open Source:
  Mageia Contributor http://www.mageia.org/
  PulseAudio Hacker http://www.pulseaudio.org/
  Trac Hacker http://trac.edgewall.org/


More information about the Mageia-dev mailing list