Reply to Re: Issue with building PHP 5.2.2 from source on Windows XP

Your name:

Reply:


Posted by treble54 on 06/06/07 15:04

On Jun 5, 7:31 pm, Jerry Stuckle <jstuck...@attglobal.net> wrote:
> treble54 wrote:
> > On Jun 4, 7:21 pm, Jerry Stuckle <jstuck...@attglobal.net> wrote:
> >> treble54 wrote:
> >>> On Jun 4, 10:35 am, treble54 <trebl...@gmail.com> wrote:
> >>>> I need to build PHP from source with the pdo_ibm extension and I am
> >>>> having an issue with it. Firstly, I am using Visual Studio .NET 2003
> >>>> and I am building PHP from source through the Visual Studio Command
> >>>> Prompt. When I get to the nmake step, it gets through everything until
> >>>> it hits the zend_language_scanner.l file. Then I get these errors:
> >>>> zend_language_scanner.l(24) : warning C4005: 'yyleng' : macro
> >>>> redefinition
> >>>> c:\work\php-5.2.2\Zend\zend_language_scanner.c(12) : see
> >>>> previous defini
> >>>> tion of 'yyleng'
> >>>> zend_language_scanner.l(25) : warning C4005: 'yytext' : macro
> >>>> redefinition
> >>>> c:\work\php-5.2.2\Zend\zend_language_scanner.c(16) : see
> >>>> previous defini
> >>>> tion of 'yytext'
> >>>> zend_language_scanner.l(26) : warning C4005: 'yytext_ptr' : macro
> >>>> redefinition
> >>>> zend_language_scanner.c(289) : see previous definition of
> >>>> 'yytext_ptr'
> >>>> zend_language_scanner.l(27) : warning C4005: 'yyin' : macro
> >>>> redefinition
> >>>> c:\work\php-5.2.2\Zend\zend_language_scanner.c(11) : see
> >>>> previous defini
> >>>> tion of 'yyin'
> >>>> zend_language_scanner.l(28) : warning C4005: 'yyout' : macro
> >>>> redefinition
> >>>> c:\work\php-5.2.2\Zend\zend_language_scanner.c(14) : see
> >>>> previous defini
> >>>> tion of 'yyout'
> >>>> zend_language_scanner.c(3607) : warning C4133: '=' : incompatible
> >>>> types - from '
> >>>> FILE *' to 'zend_file_handle *'
> >>>> zend_language_scanner.c(3610) : warning C4133: '=' : incompatible
> >>>> types - from '
> >>>> FILE *' to 'zend_file_handle *'
> >>>> zend_language_scanner.c(5309) : warning C4133: '=' : incompatible
> >>>> types - from '
> >>>> zend_file_handle *' to 'FILE *'
> >>>> zend_language_scanner.c(5429) : error C2065: 'tsrm_ls' : undeclared
> >>>> identifier
> >>>> zend_language_scanner.c(5522) : warning C4133: 'function' :
> >>>> incompatible types -
> >>>> from 'zend_file_handle *' to 'FILE *'
> >>>> zend_language_scanner.c(5522) : error C2039: '_flag' : is not a member
> >>>> of '_zend
> >>>> _file_handle'
> >>>> c:\work\php-5.2.2\Zend\zend_stream.h(40) : see declaration of
> >>>> '_zend_fil
> >>>> e_handle'
> >>>> zend_language_scanner.c(5522) : warning C4133: 'function' :
> >>>> incompatible types -
> >>>> from 'zend_file_handle *' to 'FILE *'
> >>>> zend_language_scanner.c(5522) : error C2039: '_flag' : is not a member
> >>>> of '_zend
> >>>> _file_handle'
> >>>> c:\work\php-5.2.2\Zend\zend_stream.h(40) : see declaration of
> >>>> '_zend_fil
> >>>> e_handle'
> >>>> zend_language_scanner.c(5794) : warning C4133: '=' : incompatible
> >>>> types - from '
> >>>> FILE *' to 'zend_file_handle *'
> >>>> NMAKE : fatal error U1077: '"cl.exe"' : return code '0x2'
> >>>> Stop.
> >>>> If you have any suggestions, I would very much appreciate it. The only
> >>>> option for me right now is to build it from source. If anyone knows
> >>>> that it cannot be done using the Visual Studio .NET 2003 Command
> >>>> Prompt, please let me know. It is my understanding that it can be
> >>>> built using this environment but you never know. Thanks in advance for
> >>>> any help you all can provide.
> >>>> For reference, I am going by the instructions listed here:http://us2.php.net/manual/en/install.windows.building.php#install.win...
> >>>> and I am using this command to configure the configure.js file:
> >>>> cscript configure.js --with-extra-includes=c:\win32build\include; --
> >>>> with-extra-libs=c:\win32build\lib; --enable-debug --disable-cgi --
> >>>> enable-cli --with-pdo-ibm="C:\SQLLIB",shared
> >>>> -- treble54
> >>> I thought I would add some information on what I have done. I have
> >>> been able to progress past the three errors listed above by type in
> >>> this command at the Visual Studio Command Prompt:
> >>> flex.exe -i -SZend/flex.skl -Pzend -oZend/zend_language_scanner.c Zend/
> >>> zend_language_scanner.l
> >>> I found this line in the makefile but it had $(FLEX) (FLEX = flex.exe)
> >>> instead of flex.exe.
> >>> The next thing I had to do was add libxml2 and iconv to the \ext
> >>> directory. Now I am getting this as output:
> >>> php_xmlwriter.c
> >>> rc /fo Debug_TS\php5ts_debug.dll.res /d
> >>> FILE_DESCRIPTION="\"PHP Script I
> >>> nterpreter\"" /d FILE_NAME="\"php5ts_debug.dll\"" /d
> >>> PRODUCT_NAME="\"PHP Script
> >>> Interpreter\"" /IDebug_TS /d MC_INCLUDE="\"Debug_TS\wsyslog.rc\""
> >>> win32\build
> >>> \template.rc
> >>> php5ts_debug.dll.def : error LNK2001: unresolved external symbol
> >>> _libiconv_versi
> >>> on
> >>> php5ts_debug.dll.def : error LNK2001: unresolved external symbol
> >>> compressBound
> >>> php5ts_debug.dll.def : error LNK2001: unresolved external symbol
> >>> deflateBound
> >>> php5ts_debug.dll.def : error LNK2001: unresolved external symbol
> >>> deflatePrime
> >>> php5ts_debug.dll.def : error LNK2001: unresolved external symbol
> >>> gzclearerr
> >>> php5ts_debug.dll.def : error LNK2001: unresolved external symbol
> >>> gzungetc
> >>> php5ts_debug.dll.def : error LNK2001: unresolved external symbol
> >>> inflateBack
> >>> php5ts_debug.dll.def : error LNK2001: unresolved external symbol
> >>> inflateBackEnd
> >>> php5ts_debug.dll.def : error LNK2001: unresolved external symbol
> >>> inflateBackInit
> >>> _
> >>> php5ts_debug.dll.def : error LNK2001: unresolved external symbol
> >>> inflateCopy
> >>> php5ts_debug.dll.def : error LNK2001: unresolved external symbol
> >>> zlibCompileFlag
> >>> s
> >>> Debug_TS\php5ts_debug.lib : fatal error LNK1120: 11 unresolved
> >>> externals
> >>> LINK : fatal error LNK1141: failure during build of exports file
> >>> NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual
> >>> Studio .NET 2003\
> >>> VC7\BIN\cl.exe"' : return code '0x2'
> >>> Stop.
> >>> I have never dealt with what external symbols before and I was hoping
> >>> someone might have some information they could provide me with. My
> >>> first thought is that it may be an issue with the Makefile since I am
> >>> reminded of linking issues with I see unresolved external symbol but I
> >>> am not certain.
> >>> Thanks again for any help any of you can provide. Feel free to email
> >>> me as well at trebl...@gmail.com if you'd rather not post on here.
> >>> -- treble54
> >> Unresolved externals typically means you're missing one or more
> >> libraries. Unfortunately, I have no idea what they would be in this
> >> case. But from the looks of it they might be gzip libraries.
>
> >> --
> >> ==================
> >> Remove the "x" from my email address
> >> Jerry Stuckle
> >> JDS Computer Training Corp.
> >> jstuck...@attglobal.net
> >> ==================
>
> > I figured it was something along those lines. It all seems like it
> > boils down to having the correct configuration set up before doing
> > nmake (i.e. the correct "cscript /nologo configure.js" command
> > issued), followed by having the correct libraries / ext's in the
> > correct places. The current result I am getting when I run nmake is
> > the following:
>
> > Microsoft (R) Program Maintenance Utility Version 7.10.3077
> > Copyright (C) Microsoft Corporation. All rights reserved.
>
> > php5ts_debug.dll.def : error LNK2001: unresolved external symbol
> > _libiconv_versi
> > on
> > php5ts_debug.dll.def : error LNK2001: unresolved external symbol
> > compressBound
> > php5ts_debug.dll.def : error LNK2001: unresolved external symbol
> > deflateBound
> > php5ts_debug.dll.def : error LNK2001: unresolved external symbol
> > deflatePrime
> > php5ts_debug.dll.def : error LNK2001: unresolved external symbol
> > gzclearerr
> > php5ts_debug.dll.def : error LNK2001: unresolved external symbol
> > gzungetc
> > php5ts_debug.dll.def : error LNK2001: unresolved external symbol
> > inflateBack
> > php5ts_debug.dll.def : error LNK2001: unresolved external symbol
> > inflateBackEnd
> > php5ts_debug.dll.def : error LNK2001: unresolved external symbol
> > inflateBackInit
> > _
> > php5ts_debug.dll.def : error LNK2001: unresolved external symbol
> > inflateCopy
> > php5ts_debug.dll.def : error LNK2001: unresolved external symbol
> > libiconv
> > php5ts_debug.dll.def : error LNK2001: unresolved external symbol
> > libiconv_close
> > php5ts_debug.dll.def : error LNK2001: unresolved external symbol
> > libiconv_open
> > php5ts_debug.dll.def : error LNK2001: unresolved external symbol
> > libiconv_set_re
> > location_prefix
> > php5ts_debug.dll.def : error LNK2001: unresolved external symbol
> > zlibCompileFlag
> > s
> > Debug_TS\php5ts_debug.lib : fatal error LNK1120: 15 unresolved
> > externals
> > LINK : fatal error LNK1141: failure during build of exports file
> > NMAKE : fatal error U1077: '"C:\Program Files\Microsoft Visual
> > Studio .NET 2003\
> > VC7\BIN\cl.exe"' : return code '0x2'
> > Stop.
>
> > My cscript is as follows:
>
> > cscript /nologo configure.js --with-extra-includes="C:\work\win32build
> > \include;C:\work\php-5.2.2\ext\iconv-1.9.1\include" --with-extra-
> > libs="C:\work\win32build\lib;C:\work\php-5.2.2\ext\iconv-1.9.1\lib" --
> > enable-debug --disable-cgi --enable-cli --with-pdo-ibm="C:
> > \SQLLIB",shared --with-dom --with-libxml="C:\work\php-5.2.2\ext
> > \libxml2\bin" --with-iconv="C:\work\php-5.2.2\ext\iconv-1.9.1\bin" --
> > without-gd --enable-zlib
>
> > I tried adding the include/lib folders of libxml and libcurl to the
> > extra-includes and extra-libs flag but that so far hasn't changed
> > anything. If anyone has any suggestions, that would be wonderful!
>
> > -- treble54
>
> Well, googling for the unresolved externs indicates you are missing (at
> least) libiconv.lib. Or maybe it's iconv.lib. Not sure which.
>
> --
> ==================
> Remove the "x" from my email address
> Jerry Stuckle
> JDS Computer Training Corp.
> jstuck...@attglobal.net
> ==================

I have solved the zlib issues which was awesome. However, now, I am
having issues with iconv.lib. I see that iconv is listed in the
correct lib path I supply in the --extra-libs flag but for some
reasons, they are still unresolved external symbols. Do I need to get
iconv source and build it on my machine to get it to work? I am asking
because that is what I had to do for zlib to get it to work.

-- treble54

[Back to original message]


Удаленная работа для программистов  •  Как заработать на Google AdSense  •  England, UK  •  статьи на английском  •  PHP MySQL CMS Apache Oscommerce  •  Online Business Knowledge Base  •  DVD MP3 AVI MP4 players codecs conversion help
Home  •  Search  •  Site Map  •  Set as Homepage  •  Add to Favourites

Copyright © 2005-2006 Powered by Custom PHP Programming

Сайт изготовлен в Студии Валентина Петручека
изготовление и поддержка веб-сайтов, разработка программного обеспечения, поисковая оптимизация