Re: [PHP-DEV] Re: PHP 5.5 beta4 available
hi Jan, On Thu, Apr 25, 2013 at 10:42 PM, Jan Ehrhardt wrote: > "Anatol Belski" in php.internals (Thu, 25 Apr 2013 22:11:02 +0200): >>On Thu, April 25, 2013 21:46, Jan Ehrhardt wrote: >>> The difference probably is that you built libssh2 as shared. Your >>> php_ssh2.dll's are dependent on libssh2.dll (which in its turn is dependent >>> on the ssl-dll's). >>> >>> My build is static: it can do without libssh2.dll and only relies on the >>> ssl-dll's. >> >>Ok, that explains it. Then your fix should be conditional depending on >>ssh2 ext being built shared or static. You could that to the github repo. > > No, it does not make any difference if the ssh extension is built shared > or static. The difference concerns libssh2_a.lib. Does libssh2_a.lib > rely on the exiatence of libssh2.dll or not _a means a static library (our naming convention), there will be no dynamic link with libssh2. > not. Both rely directly or indirectly on libeay32.dll. > > From my snapshot.txt: > > Module: php_ssh2.dll > === > libeay32.dll > msvcr110.dll > > AFAIK there is no easy fix for this. Windows dependency walker can > detect the difference, but I doubt if other tools can do it. It does not detect libssh2 because it is statically linked already, threre is no dll dep with libssh2 in this case. However both SSL DLLs should be listed as far as I remember. But I've to double check that again, if both are actually used by ssh2. About how builds are done exactly, everything is on github. You can co them and reproduce what we use or do. That would be actually a very good thing if you would do that. Sharing work would be more efficient and error prone for every of us instead of doing everything from scratch again. It will also avoid non valid bug reports because someone uses different builds (with different configuration or invalid CRTs versions). Cheers, -- Pierre @pierrejoye -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-DEV] Re: PHP 5.5 beta4 available
"Anatol Belski" in php.internals (Thu, 25 Apr 2013 22:11:02 +0200): >On Thu, April 25, 2013 21:46, Jan Ehrhardt wrote: >> The difference probably is that you built libssh2 as shared. Your >> php_ssh2.dll's are dependent on libssh2.dll (which in its turn is dependent >> on the ssl-dll's). >> >> My build is static: it can do without libssh2.dll and only relies on the >> ssl-dll's. > >Ok, that explains it. Then your fix should be conditional depending on >ssh2 ext being built shared or static. You could that to the github repo. No, it does not make any difference if the ssh extension is built shared or static. The difference concerns libssh2_a.lib. Does libssh2_a.lib rely on the exiatence of libssh2.dll or not. Your build does, mine does not. Both rely directly or indirectly on libeay32.dll. >From my snapshot.txt: Module: php_ssh2.dll === libeay32.dll msvcr110.dll AFAIK there is no easy fix for this. Windows dependency walker can detect the difference, but I doubt if other tools can do it. Jan -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-DEV] Re: PHP 5.5 beta4 available
Jan, On Thu, April 25, 2013 21:46, Jan Ehrhardt wrote: > "Anatol Belski" in php.internals (Thu, 25 Apr 2013 20:12:11 +0200): > >> Ok, so we must have built some different ways. Anyway that builds I've >> mentioned should work and I'll recheck next time I do the ssh2 ext. > > The difference probably is that you built libssh2 as shared. Your > php_ssh2.dll's are dependent on libssh2.dll (which in its turn is dependent > on the ssl-dll's). > > My build is static: it can do without libssh2.dll and only relies on the > ssl-dll's. Ok, that explains it. Then your fix should be conditional depending on ssh2 ext being built shared or static. You could that to the github repo. Regards Anatol -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-DEV] Re: PHP 5.5 beta4 available
"Anatol Belski" in php.internals (Thu, 25 Apr 2013 20:12:11 +0200): >Ok, so we must have built some different ways. Anyway that builds I've >mentioned should work and I'll recheck next time I do the ssh2 ext. The difference probably is that you built libssh2 as shared. Your php_ssh2.dll's are dependent on libssh2.dll (which in its turn is dependent on the ssl-dll's). My build is static: it can do without libssh2.dll and only relies on the ssl-dll's. Jan -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-DEV] Re: PHP 5.5 beta4 available
Jan, On Thu, April 25, 2013 19:10, Jan Ehrhardt wrote: > That was exectly the version: > > > SSH2 support enabled > extension version 0.12 libssh2 version1.4.2 (or 1.4.3) banner > SSH-2.0-libssh2_1.4.2/3 > > > With the libssh2* files from > http://windows.php.net/downloads/php-sdk/deps-5.5-vc11-x86.7z > compiling failed, due to all those unresolved externals. > > I found two workarounds: > 1. Use my own libssh2* files > 2. Add ssleay32.lib libeay32.lib to the LIBS_SSH2 > Ok, so we must have built some different ways. Anyway that builds I've mentioned should work and I'll recheck next time I do the ssh2 ext. Regards Anatol -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-DEV] Re: PHP 5.5 beta4 available
"Anatol Belski" in php.internals (Thu, 25 Apr 2013 18:55:26 +0200): >Jan, > >> And for some reason I always have to remove the libssh2* files and fall >> back on my own. I still have got to find out why it goes wrong with the >> 'official' dependencies. > >Which ssh2 ext version do yu build? Have you tried these builds? >http://windows.php.net/downloads/pecl/releases/ssh2/0.12/ That was exectly the version: SSH2 supportenabled extension version 0.12 libssh2 version 1.4.2 (or 1.4.3) banner SSH-2.0-libssh2_1.4.2/3 With the libssh2* files from http://windows.php.net/downloads/php-sdk/deps-5.5-vc11-x86.7z compiling failed, due to all those unresolved externals. I found two workarounds: 1. Use my own libssh2* files 2. Add ssleay32.lib libeay32.lib to the LIBS_SSH2 Jan -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-DEV] Re: PHP 5.5 beta4 available
Jan, On Thu, April 25, 2013 16:21, Jan Ehrhardt wrote: > Remi pointed me in the right direction. I discovered the new packages at > /qa just before I read your replies. It now builds fine with the > exception of php_ssh2.dll. I used these dependencies: > http://windows.php.net/downloads/php-sdk/deps-5.5-vc11-x86.7z > > > And for some reason I always have to remove the libssh2* files and fall > back on my own. I still have got to find out why it goes wrong with the > 'official' dependencies. Which ssh2 ext version do yu build? Have you tried these builds? http://windows.php.net/downloads/pecl/releases/ssh2/0.12/ Regards Anatol -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-DEV] Re: PHP 5.5 beta4 available
Jan Ehrhardt in php.internals (Thu, 25 Apr 2013 18:19:58 +0200): >LIBS_SSH2=libssh2_a.lib ssleay32.lib libeay32.lib > >Or adding these two lines to the config.w32 of ssh2: > >if ((CHECK_LIB("libssh2_a.lib;libssh2.lib", "ssh2", PHP_SSH2) && >+ CHECK_LIB("ssleay32.lib", "ssh2", PHP_SSH2) && >+ CHECK_LIB("libeay32.lib", "ssh2", PHP_SSH2) && > CHECK_HEADER_ADD_INCLUDE("libssh2.h", "CFLAGS_SSH2", >PHP_PHP_BUILD + "\\include\\libssh2"))) { Hmmm. These lines have been there in the past, but were cleaned up by Pierre: https://github.com/php/pecl-networking-ssh2/commit/9fa6821d61be4022374453a257aaf34d53d5a1d3#config.w32 Jan -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php
RE: [PHP-DEV] Re: PHP 5.5 beta4 available
Hello, > -Original Message- > From: Pierre Joye [mailto:pierre@gmail.com] > > hi, > > On Thu, Apr 25, 2013 at 1:26 PM, Jan Ehrhardt wrote: > > Julien Pauli in php.internals (Thu, 25 Apr 2013 10:45:17 +0200): > >>PHP 5.5.0 Beta 4 has been released for testing. It fixes some bugs > >>against beta 3. > >>You'll find details in the NEWS file. > >> > >>The packages can be found at: > >> > >> http://downloads.php.net/dsp > >> > >>and windows packages at > >> > >> http://windows.php.net/qa > > > > The windows packages aren't there yet. And I am getting all kinds of > > curl-stream errors when I try to build beta4 including php_curl.dll > > myself (VC11, x64, nts). > > The build was broken due to the curl stream removal commit. The announce > should not have been sent before the builds have been validated again but... > :) > > If you use the tag instead of the archive, everything should work fine. > Sorry for the delay. The Windows builds are now up at http://windows.php.net/qa/ Steve -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-DEV] Re: PHP 5.5 beta4 available
Jan Ehrhardt in php.internals (Thu, 25 Apr 2013 16:21:15 +0200): >And for some reason I always have to remove the libssh2* files and fall >back on my own. I still have got to find out why it goes wrong with the >'official' dependencies. With the official libssh2_a.lib there are a lot of unresolved symbols. This can be fixed by adding the SSL-libs to this line in the Makefile: LIBS_SSH2=libssh2_a.lib ssleay32.lib libeay32.lib Or adding these two lines to the config.w32 of ssh2: if ((CHECK_LIB("libssh2_a.lib;libssh2.lib", "ssh2", PHP_SSH2) && + CHECK_LIB("ssleay32.lib", "ssh2", PHP_SSH2) && + CHECK_LIB("libeay32.lib", "ssh2", PHP_SSH2) && CHECK_HEADER_ADD_INCLUDE("libssh2.h", "CFLAGS_SSH2", PHP_PHP_BUILD + "\\include\\libssh2"))) { Jan -- libssh2_a.lib(openssl.obj) : error LNK2019: unresolved external symbol _DSA_do_verify referenced in function __libssh2_dsa_sha1_verify libssh2_a.lib(openssl.obj) : error LNK2019: unresolved external symbol _DSA_new referenced in function __libssh2_dsa_new libssh2_a.lib(openssl.obj) : error LNK2019: unresolved external symbol _PEM_read_bio_RSAPrivateKey referenced in function __libssh2_rsa_new_private libssh2_a.lib(openssl.obj) : error LNK2019: unresolved external symbol _PEM_read_bio_DSAPrivateKey referenced in function __libssh2_dsa_new_private libssh2_a.lib(openssl.obj) : error LNK2019: unresolved external symbol _PEM_read_bio_PrivateKey referenced in function __libssh2_pub_priv_keyfile libssh2_a.lib(crypt.obj) : error LNK2001: unresolved external symbol _EVP_des_ede3_cbc libssh2_a.lib(crypt.obj) : error LNK2001: unresolved external symbol _EVP_rc4 libssh2_a.lib(crypt.obj) : error LNK2001: unresolved external symbol _EVP_bf_cbc libssh2_a.lib(crypt.obj) : error LNK2001: unresolved external symbol _EVP_cast5_cbc -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-DEV] Re: PHP 5.5 beta4 available
Jan Ehrhardt in php.internals (Thu, 25 Apr 2013 16:21:15 +0200): >And for some reason I always have to remove the libssh2* files and fall >back on my own. I still have got to find out why it goes wrong with the >'official' dependencies. Difference in versions? Mine is libssh2 1.4.3, yours is 1.4.2. Might be that my 1.4.3 include files are not compatible with 1.4.2 or something like that. I will check the error when I compile the x64 versions. In the mean time: https://dl.dropboxusercontent.com/u/8954372/php-5.5.0beta4-nts-Win32-VC11-x86.zip Jan -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-DEV] Re: PHP 5.5 beta4 available
Pierre Joye in php.internals (Thu, 25 Apr 2013 14:36:39 +0200): >>> http://downloads.php.net/dsp >>> >>>and windows packages at >>> >>> http://windows.php.net/qa >> >> The windows packages aren't there yet. And I am getting all kinds of >> curl-stream errors when I try to build beta4 including php_curl.dll >> myself (VC11, x64, nts). > >The build was broken due to the curl stream removal commit. The >announce should not have been sent before the builds have been >validated again but... :) > >If you use the tag instead of the archive, everything should work fine. Remi pointed me in the right direction. I discovered the new packages at /qa just before I read your replies. It now builds fine with the exception of php_ssh2.dll. I used these dependencies: http://windows.php.net/downloads/php-sdk/deps-5.5-vc11-x86.7z And for some reason I always have to remove the libssh2* files and fall back on my own. I still have got to find out why it goes wrong with the 'official' dependencies. Jan -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-DEV] Re: PHP 5.5 beta4 available
On Thu, Apr 25, 2013 at 2:36 PM, Pierre Joye wrote: > hi, > > On Thu, Apr 25, 2013 at 1:26 PM, Jan Ehrhardt wrote: > > Julien Pauli in php.internals (Thu, 25 Apr 2013 10:45:17 +0200): > >>PHP 5.5.0 Beta 4 has been released for testing. It fixes some bugs > against > >>beta 3. > >>You'll find details in the NEWS file. > >> > >>The packages can be found at: > >> > >> http://downloads.php.net/dsp > >> > >>and windows packages at > >> > >> http://windows.php.net/qa > > > > The windows packages aren't there yet. And I am getting all kinds of > > curl-stream errors when I try to build beta4 including php_curl.dll > > myself (VC11, x64, nts). > > The build was broken due to the curl stream removal commit. The > announce should not have been sent before the builds have been > validated again but... :) > Yes Pierre, I apologize for this. I'm still learning RM ;-) Won't reiterate. Julien.Pauli
Re: [PHP-DEV] Re: PHP 5.5 beta4 available
hi, On Thu, Apr 25, 2013 at 1:26 PM, Jan Ehrhardt wrote: > Julien Pauli in php.internals (Thu, 25 Apr 2013 10:45:17 +0200): >>PHP 5.5.0 Beta 4 has been released for testing. It fixes some bugs against >>beta 3. >>You'll find details in the NEWS file. >> >>The packages can be found at: >> >> http://downloads.php.net/dsp >> >>and windows packages at >> >> http://windows.php.net/qa > > The windows packages aren't there yet. And I am getting all kinds of > curl-stream errors when I try to build beta4 including php_curl.dll > myself (VC11, x64, nts). The build was broken due to the curl stream removal commit. The announce should not have been sent before the builds have been validated again but... :) If you use the tag instead of the archive, everything should work fine. Cheers, -- Pierre @pierrejoye -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php
Re: [PHP-DEV] Re: PHP 5.5 beta4 available
On Thu, Apr 25, 2013 at 1:26 PM, Jan Ehrhardt wrote: > Julien Pauli in php.internals (Thu, 25 Apr 2013 10:45:17 +0200): > >PHP 5.5.0 Beta 4 has been released for testing. It fixes some bugs against > >beta 3. > >You'll find details in the NEWS file. > > > >The packages can be found at: > > > > http://downloads.php.net/dsp > > > >and windows packages at > > > > http://windows.php.net/qa > > The windows packages aren't there yet. And I am getting all kinds of > curl-stream errors when I try to build beta4 including php_curl.dll > myself (VC11, x64, nts). > Huh, sorry about that. David just uploaded back the right packages, you should find them on http://downloads.php.net/dsp now and be able to build them for Windows platform. Sorry. Julien.Pauli
[PHP-DEV] Re: PHP 5.5 beta4 available
Julien Pauli in php.internals (Thu, 25 Apr 2013 10:45:17 +0200): >PHP 5.5.0 Beta 4 has been released for testing. It fixes some bugs against >beta 3. >You'll find details in the NEWS file. > >The packages can be found at: > > http://downloads.php.net/dsp > >and windows packages at > > http://windows.php.net/qa The windows packages aren't there yet. And I am getting all kinds of curl-stream errors when I try to build beta4 including php_curl.dll myself (VC11, x64, nts). Jan -- PHP Internals - PHP Runtime Development Mailing List To unsubscribe, visit: http://www.php.net/unsub.php