Re: Build error: with_ssh2=static, VC9, makefile.vc

2012-11-02 Thread Jan Ehrhardt
Guenter in gmane.comp.web.curl.library (Thu, 01 Nov 2012 01:29:57
+0100):
Hi Jan,
Am 30.10.2012 23:18, schrieb Jan Ehrhardt:
 Vanished once again under the radar? Or did I miss a patch?
no and no :-)
I was just otherwise busy, but good you pinged again! Just pushed a 
simple patch:
https://github.com/bagder/curl/commit/c81eb7e226be6c8ead3865592f3f2487fab4caeb
I hope that fixes the issue; I did also remove the debug suffix since 
none of the other depndent libs have this, so not sure why libssh2 
should be with debug code; it seems that the whole makefile lacks of any 
debug settings for the dependencies, and probably it would make sense to 
support this, but I'm currently not up add this - patches welcome if 
someone needs it!
Would be cool if you could test that now everthing's fine with the 
makefile - either with next daily snapshot or directly from git.

Tested with the November 1 daily snapshot. Works flawlesly with a
/winbuild commandline like:

nmake /f makefile.vc mode=static VC=9 MACHINE=x86
WITH_DEVEL=../../win32build USE_IDN=yes WITH_WINSSL=static
WITH_SSH2=static WITH_ZLIB=static

ldap.obj was created with this commandline and ldap support was present.

C:\php-sdk\curl-src\builds\libcurl-release-static-zlib-static-ssh2-static-ipv6-sspi-spnego-winssl\bincurl
--version
curl 7.28.1-20121101 (i386-pc-win32) libcurl/7.28.1-20121101 WinSSL
zlib/1.2.7 WinIDN libssh2/1.4.2
Protocols: dict file ftp ftps gopher http https imap imaps ldap pop3
pop3s rtsp scp sftp smtp smtps telnet tftp
Features: AsynchDNS GSS-Negotiate IDN IPv6 Largefile NTLM SPNEGO SSL
SSPI libz

Then I recall that there was some issue with the winssl code too which 
you mentioned before - is that still an issue? I think there was 
something where we should block something in the makefile so that its 
not possible to specify more than one ssl lib ...?

In previous release there was a conflict between SSL and SSH2. You
couldn't load them both, but this was apparently solved.

Finally two other things:
1) we have also nmake makefiles in lib and src (which are use from main 
makefile); would be cool if you could take a look at these too (but in 
git are only Makefile.vc6, the other *.vc8 and *.vc9 are generated by 
the release script, so you have to test this with a daily snapshot if 
you have VC8 or 9); also one line in Makefile.vc6 I just found very strange:
CFLAGSSSH2 = /DUSE_LIBSSH2 /DCURL_DISABLE_LDAP /DHAVE_LIBSSH2 
/DHAVE_LIBSSH2_H /DLIBSSH2_WIN32 /DLIBSSH2_LIBRARY /I 
$(LIBSSH2_PATH)/include

Tried to compile with makefile.vc9. I had to change inc32 in the
makefile to include to make openssl to be included.
C:\php-sdk\curl-src\libnmake /f makefile.vc9 CFG=release-ssl-ssh2-zlib
generated the libcurl.lib

But then I couldn't get src/makefile.vc9 to compile. Linker errors and
the like. On inspection of the makefile.vc9 I did not even find any
reference to SSH2 !?

why the heck do we disable LDAP support when we build with ssh2 support???

Don't know.

Jan

---
List admin: http://cool.haxx.se/list/listinfo/curl-library
Etiquette:  http://curl.haxx.se/mail/etiquette.html


Re: Build error: with_ssh2=static, VC9, makefile.vc

2012-10-31 Thread Guenter

Hi Jan,
Am 30.10.2012 23:18, schrieb Jan Ehrhardt:

Vanished once again under the radar? Or did I miss a patch?

no and no :-)
I was just otherwise busy, but good you pinged again! Just pushed a 
simple patch:

https://github.com/bagder/curl/commit/c81eb7e226be6c8ead3865592f3f2487fab4caeb
I hope that fixes the issue; I did also remove the debug suffix since 
none of the other depndent libs have this, so not sure why libssh2 
should be with debug code; it seems that the whole makefile lacks of any 
debug settings for the dependencies, and probably it would make sense to 
support this, but I'm currently not up add this - patches welcome if 
someone needs it!
Would be cool if you could test that now everthing's fine with the 
makefile - either with next daily snapshot or directly from git.


Then I recall that there was some issue with the winssl code too which 
you mentioned before - is that still an issue? I think there was 
something where we should block something in the makefile so that its 
not possible to specify more than one ssl lib ...?


Finally two other things:
1) we have also nmake makefiles in lib and src (which are use from main 
makefile); would be cool if you could take a look at these too (but in 
git are only Makefile.vc6, the other *.vc8 and *.vc9 are generated by 
the release script, so you have to test this with a daily snapshot if 
you have VC8 or 9); also one line in Makefile.vc6 I just found very strange:
CFLAGSSSH2 = /DUSE_LIBSSH2 /DCURL_DISABLE_LDAP /DHAVE_LIBSSH2 
/DHAVE_LIBSSH2_H /DLIBSSH2_WIN32 /DLIBSSH2_LIBRARY /I 
$(LIBSSH2_PATH)/include

why the heck do we disable LDAP support when we build with ssh2 support???

2) I did also recently modify the nmake makefiles of libssh2, and would 
be great if you (or someone else) could test these too ...


Thanks, Gün.



---
List admin: http://cool.haxx.se/list/listinfo/curl-library
Etiquette:  http://curl.haxx.se/mail/etiquette.html


Re: Build error: with_ssh2=static, VC9, makefile.vc

2012-10-30 Thread Jan Ehrhardt
Guenter in gmane.comp.web.curl.library (Wed, 24 Oct 2012 04:21:59
+0200):

sorry, this one got udner the radar ... :-P

Vanished once again under the radar? Or did I miss a patch?

Jan

---
List admin: http://cool.haxx.se/list/listinfo/curl-library
Etiquette:  http://curl.haxx.se/mail/etiquette.html


Re: Build error: with_ssh2=static, VC9, makefile.vc

2012-10-24 Thread Jan Ehrhardt
Guenter in gmane.comp.web.curl.library (Wed, 24 Oct 2012 04:21:59
+0200):
Hi Jan,
sorry, this one got udner the radar ... :-P

No big deal. That is why I pinged ;-)

I agree that since we have agent support we now need user32.lib at least 
when using a static libssh2.lib ...
but since since the libssh2 DLL links itself against user32.lib why do 
we need it there too??

You might be right. I linked with the same libssh2_a.lib, which contains
a reference to the external symbols __imp__FindWindowA and
__imp__SendMessageA. I did not recompile libssh2 as shared in stead of
static.

Jan

---
List admin: http://cool.haxx.se/list/listinfo/curl-library
Etiquette:  http://curl.haxx.se/mail/etiquette.html


Re: Build error: with_ssh2=static, VC9, makefile.vc

2012-10-24 Thread Jan Ehrhardt
Jan Ehrhardt in gmane.comp.web.curl.library (Wed, 24 Oct 2012 09:42:48
+0200):
Guenter in gmane.comp.web.curl.library (Wed, 24 Oct 2012 04:21:59
+0200):
Hi Jan,
sorry, this one got udner the radar ... :-P

No big deal. That is why I pinged ;-)

I agree that since we have agent support we now need user32.lib at least 
when using a static libssh2.lib ...
but since since the libssh2 DLL links itself against user32.lib why do 
we need it there too??

You might be right. I linked with the same libssh2_a.lib, which contains
a reference to the external symbols __imp__FindWindowA and
__imp__SendMessageA. I did not recompile libssh2 as shared in stead of
static.

OK, recompiled libssh2. It produces a libssh.lib (without the _a), that
seems do do nothing else than link all the functions to libssh2.dll.
This libssh2.lib compiles fine in curl WITH_SSH2=dll.

So line 131 can stay at
SSH2_LIBS   = libssh2.lib

But and the '_debug' in line 135 does not seem te be needed.
SSH2_LIBS   = libssh2_a.lib user32.lib
compiles fine WITH_SSH2=static.

Jan

---
List admin: http://cool.haxx.se/list/listinfo/curl-library
Etiquette:  http://curl.haxx.se/mail/etiquette.html


Re: Build error: with_ssh2=static, VC9, makefile.vc

2012-10-23 Thread Jan Ehrhardt
Ping. Did Daniel or Gunther already have a chance to look at the
proposed patches below?

Jan

Jan Ehrhardt in gmane.comp.web.curl.library (Fri, 19 Oct 2012 02:43:40
+0200):
I am building libcurl_a.lib from the commandline, using VC9:

nmake /f makefile.vc mode=static VC=9 MACHINE=x86
   WITH_DEVEL=../../win32build USE_IDN=yes WITH_WINSSL=static
   WITH_SSH2=static WITH_ZLIB=static

This fails with:
libcurl_a.lib(agent.obj) : error LNK2019: unresolved external symbol
   __imp_FindWindowA referenced in function agent_connect_pageant
libcurl_a.lib(agent.obj) : error LNK2019: unresolved external symbol
   __imp_SendMessageA referenced in function agent_transact_pageant

At first I solved this by recompiling libssh2 without agent_ops_pageant.
Recompiling libssh2 showed me that the missing symbols can be found in
user32.dll:
   __imp__FindWindowA   100171f0 user32:USER32.dll
Moreover, libssh2 includes user32.lib while linking.

So, I changed line 135 in winbuild/MakefileBuild.vc from
-SSH2_LIBS   = libssh2_a_debug.lib
into
+SSH2_LIBS   = libssh2_a_debug.lib user32.lib

And libcurl builds fine again.

Then I checked the preceding line 131 as well:
-SSH2_LIBS   = libssh2.lib
+SSH2_LIBS   = libssh2_a.lib user32.lib

libssh2_a.lib is better than libssh2.lib, because libssh2 produces an
_a.lib as standard, just like curl. And the user32.lib is also needed
for with_ssh2=dll.

Jan

---
List admin: http://cool.haxx.se/list/listinfo/curl-library
Etiquette:  http://curl.haxx.se/mail/etiquette.html


Re: Build error: with_ssh2=static, VC9, makefile.vc

2012-10-23 Thread Guenter

Hi Jan,
sorry, this one got udner the radar ... :-P

Am 24.10.2012 00:02, schrieb Jan Ehrhardt:

Ping. Did Daniel or Gunther already have a chance to look at the
proposed patches below?


Moreover, libssh2 includes user32.lib while linking.

So, I changed line 135 in winbuild/MakefileBuild.vc from
-SSH2_LIBS   = libssh2_a_debug.lib
into
+SSH2_LIBS   = libssh2_a_debug.lib user32.lib

And libcurl builds fine again.

Then I checked the preceding line 131 as well:
-SSH2_LIBS   = libssh2.lib
+SSH2_LIBS   = libssh2_a.lib user32.lib

libssh2_a.lib is better than libssh2.lib, because libssh2 produces an
_a.lib as standard, just like curl. And the user32.lib is also needed
for with_ssh2=dll.
I agree that since we have agent support we now need user32.lib at least 
when using a static libssh2.lib ...
but since since the libssh2 DLL links itself against user32.lib why do 
we need it there too??


Gün.



---
List admin: http://cool.haxx.se/list/listinfo/curl-library
Etiquette:  http://curl.haxx.se/mail/etiquette.html