php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #40142 mbstring will not configure - missing mbfilter.h
Submitted: 2007-01-16 05:27 UTC Modified: 2007-01-17 08:18 UTC
From: mail at prosys dot com dot au Assigned:
Status: Not a bug Package: PHP options/info functions
PHP Version: 4.4.4 OS: Linux 2.4.24
Private report: No CVE-ID: None
View Developer Edit
Welcome! If you don't have a Git account, you can't do anything here.
If you reported this bug, you can edit this bug over here.
(description)
Block user comment
Status: Assign to:
Package:
Bug Type:
Summary:
From: mail at prosys dot com dot au
New email:
PHP Version: OS:

 

 [2007-01-16 05:27 UTC] mail at prosys dot com dot au
Description:
------------
When I enable mbstrings in the configure options, configure cannot find the mbfilter.h header file.  The file is there, in the directory it's configured to be in.  Same happened in 4.4.2.

There is a report of headers missing in the 5.x releases but nothing I can find in 4.4 releases - anyway the header is there.

configure script:

CFLAGS=-O6  ./configure --with-apxs=/usr/local/apache/bin/apxs \                                    
    --with-imap=/usr/src/imap-2004g \                                                               
    --with-pgsql \                                                                                  
    --with-mysql \                                                                                  
    --with-zlib=/usr \                                                                              
    --with-curl=/usr/src/curl-7.15.4 \                                                              
    --with-libmbfl=/usr/src/php/ext/mbstring/libmbfl/mbfl \                                        
    --enable-mbstring \                                                                             
    --enable-so \                                                                                   
    --enable-shared \                                                                               
    --enable-track-vars                                                                             

configure result:

. . . .
checking whether to enable multibyte string support... yes
checking whether to enable multibyte regex support... yes
checking for external libmbfl... /usr/src/php/ext/mbstring/libmbfl/mbfl
configure: error: mbfilter.h not found. Please reinstall libmbfl library.

contents of my directory /usr/src/php/ext/mbstring/libmbfl/mbfl:

15:37:51 root@gw:/usr/src/php/ext/mbstring/libmbfl/mbfl# dir
Makefile.am      mbfilter_8bit.h    mbfl_allocators.h  mbfl_encoding.h       mbfl_language.h
Makefile.bcc32   mbfilter_pass.c    mbfl_consts.h      mbfl_filter_output.c  mbfl_memory_device.c
eaw_table.h      mbfilter_pass.h    mbfl_convert.c     mbfl_filter_output.h  mbfl_memory_device.h
mbfilter.c       mbfilter_wchar.c   mbfl_convert.h     mbfl_ident.c          mbfl_string.c
mbfilter.h       mbfilter_wchar.h   mbfl_defs.h*       mbfl_ident.h          mbfl_string.h
mbfilter_8bit.c  mbfl_allocators.c  mbfl_encoding.c    mbfl_language.c       mk_eaw_tbl.awk

So the file is there but not found.


Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2007-01-16 08:31 UTC] tony2001@php.net
This line is wrong: --with-libmbfl=/usr/src/php/ext/mbstring/libmbfl/mbfl
No need to use --with-libmbfl if you're using bundled libmbfl, so you can safely remove it at all.
 [2007-01-16 23:33 UTC] mail at prosys dot com dot au
Thanks for your help - yes that did fix the configure.  

I then had a libmbfl compile error. Dunno how but the unicode file unicode_table_iso8859_2.h got overwritten by a blank copy.  It was dated yesterday - I cannot think of anything I did.  Restoring it from the archive fixed that and it built correctly.

The install instructions for mbstring seem to say that if libmbfl is bundled then you do have to specify the directory:

"libmbfl is necesarry for mbstring. libmbfl is bundled with mbstring. If libmbfl is already installed on the system, --with-libmbfl[=DIR] can be specified to use the installed library."


This documentation is unclear and should be revised - here's my effort:

"libmbfl is necessary for mbstring.  libmbfl is bundled with mbstring as part of the PHP distribution and is enabled with '--enable-mbstring'.  If libmbfl was already installed on your system separately from your PHP distribution, --with-libmbfl[=DIR] can be specified to use the installed library."

There's also a spelling mistake 'necessary'.

Thanks.
 
PHP Copyright © 2001-2025 The PHP Group
All rights reserved.
Last updated: Sat Jul 19 01:00:03 2025 UTC