'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@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@jimmy libmbfl-1.0.1]$ cd ../libmb libmbfl-1.0.1/ libmbfl-1.2.0/ [colin@jimmy libmbfl-1.0.1]$ cd ../libmbfl-1.2.0/ [colin@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/
