Re: building php 5.2.1 on windows
| From: | Rashmi Badan | Date: | Fri, 10 Aug 2007 14:38:01 +0000 |
| Subject: | Re: building php 5.2.1 on windows | ||
| References: | 1 2 | Groups: | php.windows |
| Request: | Send a blank email to php-windows+get-28362@lists.php.net to get a copy of this message | ||
Hi
>
> > I'm trying to build php 5.2.1 on windows and am hitting the following
> > problem at link time ....
> >
> > Creating library Release\php5ts.lib and object Release\php5ts.exp
> > libxml.obj : error LNK2019: unresolved external symbol _xmlDllMain
> > referenced in function _DllMain@12
> > Release\php5ts.dll : fatal error LNK1120: 1 unresolved externals
> > NMAKE : fatal error U1077: '"C:\Program
> > Files\Intel\CPP\Compiler81\IA32\bin\icl.
> > exe"' : return code '0x460'
> >
> > I am linking it to a libxml2.lib that I have compiled. When I do a
> dumpbin i
> > do not see the _xmlDllMain symbol. I tried downloading some libxml2
> binaries
> > but they didn't have that symbol either.
>
> That symbol is not made available by default in the builds.
>
> You have a couple of options:
> 1) Use my libxml2 builds - the ones that the official binaries are built
> off of. http://ctindustries.net/libxml/
> I haven't had a chance to publish the .29 build and was not satisfied
> with the .27 and .28 builds to build those, so all I have are .26 until
> I have time.
>
> 2) Build libxml2 2.6.29 from source (must compile with a MS compiler)
> and have PHP link against the libxml2_a_dll.lib file. I added that to
> the default libxml2 MSVC build but still need to commit the additon to
> the PHP build system (will be post 5.2.4). Once done, then the official
> libxml2 binaries (2.6.29+) will be able to be used.
> all you need to do is change the config.w32 file in ext/libxml to:
>
> if (CHECK_LIB("libxml2_a_dll.lib;libxml2_a.lib", "libxml") &&
> *AND* add the LIBXML_STATIC_FOR_DLL flag
> ADD_FLAG("CFLAGS_LIBXML", "/D LIBXML_STATIC /D LIBXML_STATIC_FOR_DLL ");
I tried #2 but it didn't seem to help. I'm working with libxml2 2.6.27 and
so I had to build libxml2_a_dll.lib by referring to the makefiles in 2.6.29.
But now I get some additional warnings, old problem persists :(
Any idea what I might be doing wrong!
-------------------------------------------
Creating library Release\php5ts.lib and object Release\php5ts.exp
php_xmlwriter.obj : warning LNK4217: locally defined symbol _xmlFree
imported in
function _zm_startup_xmlwriter
libxml.obj : warning LNK4217: locally defined symbol _xmlFree imported in
functi
on _php_libxml_node_free
simplexml.obj : warning LNK4217: locally defined symbol _xmlFree imported in
fun
ction _sxe_prop_dim_read
compat.obj : warning LNK4049: locally defined symbol _xmlFree imported
php_xmlreader.obj : warning LNK4217: locally defined symbol _xmlFree
imported in
function _zm_startup_xmlreader
compat.obj : warning LNK4217: locally defined symbol _xmlMalloc imported in
func
tion __build_comment
libxml.obj : error LNK2019: unresolved external symbol _xmlDllMain
referenced in
function _DllMain@12
Release\php5ts.dll : fatal error LNK1120: 1 unresolved externals
NMAKE : fatal error U1077: '"C:\Program
Files\Intel\CPP\Compiler81\IA32\bin\icl.
exe"' : return code '0x460'
Stop.
----------------------------------
Thanks,
Rashmi