Edit report at https://bugs.php.net/bug.php?id=64397&edit=1

 ID:                 64397
 Updated by:         a...@php.net
 Reported by:        mattfic...@php.net
 Summary:            Enchant PHPTs fail with VC11 compiler
 Status:             Feedback
 Type:               Bug
 Package:            Enchant related
 Operating System:   Windows
 PHP Version:        5.5.0alpha5
 Assigned To:        ab
 Block user comment: N
 Private report:     N

 New Comment:

We have multiple issues here

a)

as I could see, there are more dlls it tries to load (both 5.4.13RC1 and 
5.5.0alpha6)

c:\snaps\php-5.4.13RC1-Win32-VC9-x86>php -n -d extension_dir=ext -d 
extension=php_enchant.dll

** (php.exe:19280): WARNING **: Error loading plugin: 
`c:\snaps\php-5.4.13RC1-Win32-VC9-x86\icudt.dll': %1 is not a valid Win32 
application.


** (php.exe:19280): WARNING **: Error loading plugin: 
`c:\snaps\php-5.4.13RC1-Win32-VC9-x86\icuin.dll': %1 is not a valid Win32 
application.


** (php.exe:19280): WARNING **: Error loading plugin: 
`c:\snaps\php-5.4.13RC1-Win32-VC9-x86\icuio.dll': %1 is not a valid Win32 
application.


** (php.exe:19280): WARNING **: Error loading plugin: 
`c:\snaps\php-5.4.13RC1-Win32-VC9-x86\icule.dll': %1 is not a valid Win32 
application.


** (php.exe:19280): WARNING **: Error loading plugin: 
`c:\snaps\php-5.4.13RC1-Win32-VC9-x86\iculx.dll': %1 is not a valid Win32 
application.


** (php.exe:19280): WARNING **: Error loading plugin: 
`c:\snaps\php-5.4.13RC1-Win32-VC9-x86\icutest.dll': %1 is not a valid Win32 
application.


** (php.exe:19280): WARNING **: Error loading plugin: 
`c:\snaps\php-5.4.13RC1-Win32-VC9-x86\icutu.dll': %1 is not a valid Win32 
application.


** (php.exe:19280): WARNING **: Error loading plugin: 
`c:\snaps\php-5.4.13RC1-Win32-VC9-x86\icuuc.dll': %1 is not a valid Win32 
application.


** (php.exe:19280): WARNING **: Error loading plugin: 
`c:\snaps\php-5.4.13RC1-Win32-VC9-x86\php5apache2_2.dll': The specified module 
could not be found.


** (php.exe:19280): WARNING **: Error loading plugin: 
`c:\snaps\php-5.4.13RC1-Win32-VC9-x86\php5apache2_2_filter.dll': The specified 
module could not be found.


** (php.exe:19280): WARNING **: Error loading plugin: 
`c:\snaps\php-5.4.13RC1-Win32-VC9-x86\php5apache2_4.dll': The specified module 
could not be found.


** (php.exe:19280): WARNING **: Error loading plugin: 
`c:\snaps\php-5.4.13RC1-Win32-VC9-x86\php5nsapi.dll': The specified module 
could not be found.


Looking at the libenchant.dll

c:\snaps\php-5.4.13RC1-Win32-VC9-x86>dumpbin /imports libenchant.dll | find 
"dll"
Dump of file libenchant.dll
    glib-2.dll
    gmodule-2.dll
    KERNEL32.dll
    ADVAPI32.dll
    MSVCR90.dll

there are no ICU, and in any case very odd are all that apache dlls and nsapi. 
That looks like a build config issue with VC9. NSAPI is even disabled by 
default AFAIR. We wasn't upgrading neither glib nor enchant for VC9, for VC11 
I've built glib with gettext, libffi and zlib, enchant with glib only as deps.


b)

Generally some of enchant tests need dict files and will fail otherwise. Also 
in the VC11 builds enchant was changed so that it looks for 
libenchant_ispell.dll and libenchant_myspell in the enchant subdir, not in php 
root dir anymore. And the dict files can be put into <php bin 
dir>\share\myspell\dicts or loaded with enchant_broker_set_dict_path() (that 
function is undocumented yet). These changes have to be met for VC11 builds. 
After doing that the ext loaded and the tests was passing for me.


c)

VC9 icu*.dll without 49 suffix seems to be broken. That however doesn't affect 
anything, the import libs point to those dll with 49 suffix (the intl ext for 
instance). This issue is unrelated to this ticket.


Previous Comments:
------------------------------------------------------------------------
[2013-03-09 01:03:56] paj...@php.net

it should not load these DLLs at all or not even try to. They are not enchant 
plugin.

It looks like a config issue in the tests box or a patch is missing in enchant.

@a did you add the patch or built enchant without it?

------------------------------------------------------------------------
[2013-03-08 23:42:52] mattfic...@php.net

Description:
------------
These 3 PHPTs fail on 5.5.0a6 built with VC11 compiler:
ext/enchant/tests/broker_describe.phpt
ext/enchant/tests/broker_request_dict.phpt
ext/enchant/tests/bug13181.phpt

Enchant PHPTs also are marked fail on 5.5.0a6 built with VC9, but that is a 
different issue: on 5.5.0a6-VC9 these PHPTs output the expected text and output 
warnings about loading icu* DLLs. It is these extra warnings that cause the 
failure on VC9, for example:
WARNING **: Error loading plugin: 
`c:\php-sdk\php-5.5.0alpha6-nts-Win32-VC9-x86\icudt.dll': %1 is not a valid 
Win32 application.

These warnings are not printed by 5.5.0a6-VC11.


When these PHPTs are run on 5.5.0a6-VC11, they output 'Failed' and don't output 
the expected text at all... so its a VC11 related issue.


Expected result:
----------------
Test pass

Actual result:
--------------
Test fail


------------------------------------------------------------------------



-- 
Edit this bug report at https://bugs.php.net/bug.php?id=64397&edit=1

Reply via email to