Newsgroups: php.internals Path: news.php.net Xref: news.php.net php.internals:37576 Return-Path: Mailing-List: contact internals-help@lists.php.net; run by ezmlm Delivered-To: mailing list internals@lists.php.net Received: (qmail 70385 invoked from network); 11 May 2008 04:44:01 -0000 Received: from unknown (HELO lists.php.net) (127.0.0.1) by localhost with SMTP; 11 May 2008 04:44:01 -0000 Authentication-Results: pb1.pair.com smtp.mail=hsantos@isdg.net; spf=pass; sender-id=pass Authentication-Results: pb1.pair.com header.from=hsantos@isdg.net; sender-id=pass Received-SPF: pass (pb1.pair.com: domain isdg.net designates 208.247.131.9 as permitted sender) X-PHP-List-Original-Sender: hsantos@isdg.net X-Host-Fingerprint: 208.247.131.9 ntbbs.winserver.com Windows NT 4.0 (older) Received: from [208.247.131.9] ([208.247.131.9:3207] helo=winserver.com) by pb1.pair.com (ecelerity 2.1.1.9-wez r(12769M)) with ESMTP id 2F/4A-34108-E8976284 for ; Sun, 11 May 2008 00:43:59 -0400 Received: from mail.winserver.com ([208.247.131.9]) by winserver.com (Wildcat! SMTP Router v6.3.452.5) for internals@lists.php.net; Sun, 11 May 2008 00:42:44 -0400 Received: from mail.winserver.com ([208.247.131.9]) by winserver.com (Wildcat! SMTP v6.3.452.5) with ESMTP id 922309656; Sun, 11 May 2008 00:42:43 -0400 Message-ID: <4826795A.8070007@isdg.net> Date: Sun, 11 May 2008 00:43:06 -0400 Organization: Santronics Software, Inc. User-Agent: Thunderbird 2.0.0.0 (Windows/20070326) MIME-Version: 1.0 CC: internals@lists.php.net References: <4824219D.3070806@isdg.net> <4824EEAA.3080901@isdg.net> <1210423265.30073.8.camel@localhost> <4825DEB7.2070909@isdg.net> <53.E4.56346.BDBE5284@pb1.pair.com> In-Reply-To: <53.E4.56346.BDBE5284@pb1.pair.com> Content-Type: text/plain; charset=ISO-8859-1; format=flowed Content-Transfer-Encoding: 7bit X-Comment: Missing recipient address appended by wcSMTP router. To: internals@lists.php.net Subject: Windows build From: hsantos@isdg.net (Hector Santos) (Elizabeth, this is a public follow up to the previous message (shown below)) Of course, I must not be doing something right, but I was finally able to compile and successful link by: 1) Adding pcrec_newline.c to the project PCRE source group #3 2) Adding a #include "config.h" to pcre_internal.h to resolve the LINK_SIZE define 3) Adding tokenizer_data.c to the project XML source group #4 4) Changing the link lib "libxml2_a.lib" to libxml2_a_dll.lib which probably means libxml2.dll will be used with php5ts.dll 5) And to resolve the _ftol2 link libxml2 error, add the following chunk to ext\dom\xpath.c: // HLS, only for MSDEV 6.0 #if (_MSC_VER == 1200) extern long _ftol( double ); //defined by VC6 C libs extern long _ftol2( double dblSource ) { return _ftol(dblSource ); } #endif 6) I also had to alter the INCLUDE paths for some of the projects where it was using a ..\..\FOLDER entry to ..\FOLDER. I often find this to be a common issue with DSP projects under the vs 6.0 IDE because of the stock File OPEN/SAVE dialog not restoring the original directory. When include references are adding, the programmer needs to make sure the proper project ROOT folder is set when the project is saved so that it can create and establish the proper persistent paths. IOW, when you add a file to a project source folder and you had to switch directories, the IDE is implementing OPEN/SAVE dialog to remember this location and this can alter how include file are found when using relatives INCLUDE paths. Anyway, not sure if any of the above is note worthy but if I am going to be doing more PHP work, maybe I can contribute by providing a "no-hassle" windows build. -- Hector Santos Elizabeth M Smith wrote: >> Great! Got two positives on this, so I'll work on this. Now, if I can >> only figure out the Windows Build. What a mess!! :-) >> > Actually building for windows is easy - it's the dependencies that are > hard ;) check out the wiki for build help Yes, I had to go get else where libxml, iconv, and soemthing else (I think it was bindlib_win32). I wasn't quite sure if the instructions assumed cygwin makefile prepareness or the VS *.DSP/DSW files were independent of this. Various projects had conflicting include and lib paths. But after working all that out, I am at this final linkage error where I am don't know what else I can I can do beyond the changes already done to the project build, and searching/collecting all the other dependencies. linking... Creating library ..\Release_TS/php5ts.lib and object ..\Release_TS/php5ts.exp LINK : warning LNK4049: locally defined symbol "_php_dom_create_object" imported pcre_compile.obj : error LNK2001: unresolved external symbol __pcre_is_newline pcre_exec.obj : error LNK2001: unresolved external symbol __pcre_is_newline pcre_exec.obj : error LNK2001: unresolved external symbol __pcre_was_newline tokenizer.obj : error LNK2001: unresolved external symbol _tokenizer_register_constants tokenizer.obj : error LNK2001: unresolved external symbol _get_token_type_name spl_iterators.obj : error LNK2001: unresolved external symbol _php_pcre_exec php_pcre.obj : error LNK2001: unresolved external symbol _php_pcre_exec php_pcre.obj : error LNK2001: unresolved external symbol _php_pcre_version php_pcre.obj : error LNK2001: unresolved external symbol _php_pcre_study php_pcre.obj : error LNK2001: unresolved external symbol _php_pcre_compile php_pcre.obj : error LNK2001: unresolved external symbol _php_pcre_maketables php_pcre.obj : error LNK2001: unresolved external symbol _php_pcre_info php_pcre.obj : error LNK2001: unresolved external symbol _php_pcre_free php_pcre.obj : error LNK2001: unresolved external symbol _php_pcre_get_substring_list php_pcre.obj : error LNK2001: unresolved external symbol _php_pcre_fullinfo libxml.obj : error LNK2001: unresolved external symbol _xmlDllMain libxml2_a.lib(xpath.obj) : error LNK2001: unresolved external symbol __ftol2 libxml2_a.lib(xmlschemastypes.obj) : error LNK2001: unresolved external symbol __ftol2 libxml2_a.lib(xpointer.obj) : error LNK2001: unresolved external symbol __ftol2 ..\Release_TS\php5ts.dll : fatal error LNK1120: 15 unresolved externals Error executing link.exe. php5ts.dll - 20 error(s), 1 warning(s) pcrec_newline.c is not included int the project PREC source listing. Adding it gives me a compiler error about LINK_SIZE not being set. Adding this file to the project, adding #include "config.h" to it, gets past this link resolution, but now it seems that I am going beyond what was expected in the project build setup/provided for a successful build I must not be doing something right. -- Hector Santos