Re: [INTERNALS-WIN] Re: php_yaz php5.3.5 windows
[email protected] (Richard Quadling)
| Newsgroups | php.internals.win |
|---|---|
| Message-ID | <[email protected]> |
On 22 March 2011 04:24, Michael Ridinger <[email protected]> wrote: > When I attempt to do a configure --with-yaz, I get the following error: > > Checking for yaz/yaz-version.h ... <not found> > Checking for yaz/yaz-version.h ... <not found> > WARNING: yaz not enabled; libraries and headers not found > > I have the yaz pecl extension downloaded and in the correct spot. When I do > a configure --help I see the option to use --with-yaz but it's asking for > header files. > > I checked the yaz.dsp script and found it does reference header files but > I've not found them anywhere. Anyone know what is going on? > > Thanks for the help. > > Mike > > On Mon, Mar 21, 2011 at 8:04 PM, Richard Quadling <[email protected]>wrote: > >> On 21 March 2011 19:26, Michael Ridinger <[email protected]> wrote: >> > Thank you! So, my next big question is ... >> > >> > After I've done the nmake and the build is complete, where's the build? >> Is >> > a .dll created somewhere? So far, I dont see one. >> > >> > I have found a "Release" directory that appears to have the build in it, >> but >> > it doesn't have a YAZ ext listed. Could it still be yaz-enabled? >> > >> > Things are so much easier on Linux. >> > >> > Thanks >> > >> > Mike >> > >> > On Mon, Mar 21, 2011 at 10:25 AM, Richard Quadling <[email protected] >> >wrote: >> > >> >> On 21 March 2011 13:32, Michael Ridinger <[email protected]> wrote: >> >> > One thing I'm confused about is the compiling process itself. >> >> > >> >> > I can compile PHP successfully but I'm not sure how to compile a PECL >> >> > package. I just don't understand how to do that? I've read literally >> >> > dozens of tutorials on how to setup the environment to compile PHP, >> which >> >> > I've done successfully, but then they stop short ot describing how to >> >> > compile a PECL package. >> >> > >> >> > Can it be compiled into PHP 5.3.5 or can it be compiled into a DLL I >> can >> >> use >> >> > for an extension or can both be done? I'm just not real familiar with >> >> doing >> >> > these types of things. I don't even know how the file structure >> should >> >> be >> >> > setup. And, it gets even more frustrating when I download the win32 >> PECL >> >> > packages and find that YAZ isnt there so I have to get it with CSV. >> I'm >> >> > just missing some key pieces. >> >> > >> >> > I appreciate any way you can help. >> >> > >> >> > Mike >> >> > >> >> > On Sun, Mar 20, 2011 at 4:56 PM, Michael Ridinger < >> [email protected] >> >> >wrote: >> >> > >> >> >> I've been using php_yaz for a long time with PHP 5.1 and 5.2. I've >> had >> >> to >> >> >> setup a new server for another reason and am now using Windows 2008R2 >> >> and >> >> >> PHP5.2.17 or PHP5.3.5 with IIS7 and am having absolutely no luch >> getting >> >> the >> >> >> php_yaz package to build. In fact, I can't get any package to build. >> I >> >> can >> >> >> build PHP, but not any PECL packages and am totally stumped. I tried >> >> >> following directions/docs everywhere I could find them and still have >> >> not >> >> >> been able to build this extension. >> >> >> >> >> >> In the past, I've been able to download the extension and use it but >> >> it's >> >> >> not part of the PHP distribution and PECL doesn't have it as a >> binary... >> >> so, >> >> >> I have to the building myself. >> >> >> >> >> >> Anyone know how to do this effectively? This is very important to >> me. >> >> I >> >> >> need php_yaz for Windows2008 and from what I've read, I need to >> compile >> >> it >> >> >> using VC9, which I did. The one issue that's really threw me is that >> >> >> PHP5.3.5 doesn't run as an ISAPI module but with fast-cgi. That >> makes >> >> the >> >> >> package a little funky to deal with as it requires PHP5ts.dll, which >> >> isn't >> >> >> part of PHP5.3.5 or PHP5.2.17. >> >> >> >> >> >> Obviously I'm a novice at building such things... I'm a developer, >> but >> >> not >> >> >> a package builder. Can anyone help or show me how to do this ... or >> at >> >> the >> >> >> very least point me in the right direction? >> >> >> >> >> >> Thank you >> >> >> >> >> >> Mike >> >> >> >> >> > >> >> >> >> Create a directory that is parallel to your php code. >> >> >> >> I have >> >> >> >> L:\BuildPHP\php53dev\vc9\x86 >> >> deps >> >> Patches >> >> pecl >> >> PHP_5_3 >> >> >> >> In pecl, create a directory for the extension. It will need to contain >> >> the code from trunk, the branch or the tag that you want to compile. >> >> >> >> e.g. >> >> >> >> L:\BuildPHP\php53dev\vc9\x86\pecl\yaz\tests >> >> L:\BuildPHP\php53dev\vc9\x86\pecl\yaz\CREDITS >> >> L:\BuildPHP\php53dev\vc9\x86\pecl\yaz\README >> >> L:\BuildPHP\php53dev\vc9\x86\pecl\yaz\php_yaz.c >> >> L:\BuildPHP\php53dev\vc9\x86\pecl\yaz\yaz.dsp >> >> L:\BuildPHP\php53dev\vc9\x86\pecl\yaz\php_yaz.h >> >> L:\BuildPHP\php53dev\vc9\x86\pecl\yaz\config.m4 >> >> L:\BuildPHP\php53dev\vc9\x86\pecl\yaz\config.w32 >> >> L:\BuildPHP\php53dev\vc9\x86\pecl\yaz\package.xml >> >> etc. >> >> >> >> When you run buildconf, the configuration of the extensions in pecl >> >> will be found. >> >> >> >> You can then include/exclude them via the configure.js script. >> >> >> >> If you run ... >> >> >> >> configure --help >> >> >> >> you'll see (for yaz) ... >> >> >> >> --with-yaz YAZ support (ANSI/NISO Z39.50) >> >> >> >> So, you can now say ... >> >> >> >> configure --with-yaz=shared >> >> >> >> (for example - missing out a lot of other options). >> >> >> >> And when you then run nmake, you'll get yaz compiled. >> >> >> >> I've not tried it (as I'm a bit slow on these things), but there is a >> >> mechanism called phpize which I think it a process to compile a PHP >> >> extension without the need to do a full build of PHP. >> >> >> >> Richard. >> >> >> >> -- >> >> Richard Quadling >> >> Twitter : EE : Zend >> >> @RQuadling : e-e.com/M_248814.html : bit.ly/9O8vFY >> >> >> > >> >> I'm at home at the moment and don't have a build environment for PHP. >> >> But, I run nmake install to create a usable installation of php in c:\php >> >> I think the extension is available in Release\pecl\yaz. >> >> Typing ... >> >> dir php_yaz.dll /s /b >> >> should help you find the extension very quickly. >> >> >> >> From a unix perspective ... I've no idea. I was of the understanding >> that the process was the same... >> >> buildconf >> configure xxxxxx >> nmake >> >> (more or less). The pecl extensions are, in the main, just a glue/layer between PHP and the corresponding library. PHP is NOT responsible for maintaining Yaz, just the php <-> yaz extension. To get the extension compilable from source, you need to include appropriate header files from the yaz project (nothing to do with PHP). I got mine from http://ftp.indexdata.dk/pub/yaz/win32/. I'd used the 4.1.2, but I see that this is now upgraded to 4.1.7. Download the package you want and install it. You'll need to make sure you install the YAZ Development element as this contains the headers and library files required by PHP to build the php_yaz extension. Again, just to be clear, PHP is not going to be compiling/building YAZ. You install that as normal. PHP is only building the php_yaz extension which requires headers and libraries to be able to interact with the yaz application. Once you've installed Yaz, copy C:\Program Files\Yaz\include and C:\Program Files\Yaz\lib to the deps directory (Mine is on a different server L:\BuildPHP\php53dev\vc9\x86\deps). Now, you run ... buildconf config.nice nmake config.nice is just a shortcut to all the configure options you last used (except when using configure --help). It saves you having to type configure --abc --def --xyz every time you want to run configure. See how you get on with this. Richard. -- Richard Quadling Twitter : EE : Zend @RQuadling : e-e.com/M_248814.html : bit.ly/9O8vFY