On 10/28/2010 7:35 PM, Sisyphus wrote:
> (The Strawberry build of openssl may be usable here if all else fails.)
I'm only seeing ssl headers in my portable install.
If you decide that a static build of libssh2 will suffice, first run
'make distclean', then :
##############################
(That is, remove the '-DLIBSSH2_WIN32' and add the '-lgdi32'.)
Compiled and installed fine with that change. I used
./configure --disable-shared --enable-static CPPFLAGS="-I/usr/local/include -I/usr/local/ssl/include"
LDFLAGS="-L/usr/local/lib -L/usr/local/ssl/lib"&& make&& make install
Attached is the Net::SSH2 Makefile.PL that I then use to build the
module against the static libssh2 library. It contains some hard coded
paths (to msys headers and libraries) which may well be the same as on
your machine .... or might not. Modify those as needed and you should
be right.
Here is where I am confused. I thought I would stay in msys (at least
for the purpose of getting SSH2.dll build at least)
(using: push @search_paths, '/local', '/local/ssl')
- see attached file msys1.txt (seems not only is the perl old and
missing a newer Makemaker, but there are missing header(s)) is 5.6 ok I
just need more dependencies?
(using: push @search_paths, 'C:/msys/1.0/local', 'C:/msys/1.0/local/ssl')
- i don't expect dmake to work but tried it anyway in strawberry shell,
see attached file test1.txt
$ perl Makefile.PL
The libssh2 library is required by this module. If you don't have it, you can
download it from http://www.libssh2.org; you may also need OpenSSL, which can be
obtained from http://www.openssl.org.
Debian: sudo aptitude install libssh2-1-dev
OpenSUSE: sudo zypper in libssh2-1 libssh2-devel
Checking if your kit is complete...
Looks good
Warning: prerequisite ExtUtils::MakeMaker 6.42 not found at
/usr/lib/perl5/5.6/ExtUtils/MakeMaker.pm line 347.
Writing Makefile for Net::SSH2
$ make
cp lib/Net/SSH2/PublicKey.pm blib/lib/Net/SSH2/PublicKey.pm
cp lib/Net/SSH2/Listener.pm blib/lib/Net/SSH2/Listener.pm
cp lib/Net/SSH2/SFTP.pm blib/lib/Net/SSH2/SFTP.pm
cp lib/Net/SSH2.pm blib/lib/Net/SSH2.pm
AutoSplitting blib/lib/Net/SSH2.pm (blib/lib/auto/Net/SSH2)
cp lib/Net/SSH2/Dir.pm blib/lib/Net/SSH2/Dir.pm
cp lib/Net/SSH2/Channel.pm blib/lib/Net/SSH2/Channel.pm
cp lib/Net/SSH2/File.pm blib/lib/Net/SSH2/File.pm
/bin/perl "-Iinc" -I/usr/lib/perl5/5.6/msys /usr/lib/perl5/5.6/ExtUtils/xsubpp
-typemap /usr/lib/perl5/5.6/ExtUtils/typemap -typemap typemap SSH2.xs >
SSH2.xsc && mv SSH2.xsc SSH2.c
gcc -c -I/usr/local/include -I/local/ssl/include -I/local/include
-I/usr/include -I/usr/local/ssl/include -I. -DPERL_USE_SAFE_PUTENV -DDEBUGGING
-fno-strict-aliasing -DUSEIMPORTLIB -O2 -fno-unit-at-a-time -g -s -march=i386
-mtune=i686 -DVERSION=\"0.33\" -DXS_VERSION=\"0.33\"
-I/usr/lib/perl5/5.6/msys/CORE SSH2.c
In file included from SSH2.xs:8:0:
C:/msys/1.0/lib/perl5/5.6/msys/CORE/perl.h:649:27: fatal error: netinet/in.h:
No such file or directory
compilation terminated.
make: *** [SSH2.o] Error 1
$ perl -v
This is perl, v5.6.1 built for msys
Copyright 1987-2001, Larry Wall
Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5 source kit.
Complete documentation for Perl, including FAQ lists, should be found on
this system using `man perl' or `perldoc perl'. If you have access to the
Internet, point your browser at http://www.perl.com/, the Perl Home Page.
----------------------------------------------
Welcome to Strawberry Perl Portable Edition!
* URL - http://www.strawberryperl.com/
* see README.portable.TXT for more info
----------------------------------------------
Perl executable: C:\strawberry\perl\bin\perl.exe
Perl version : 5.10.1
Microsoft Windows [Version 6.1.7600]
Copyright (c) 2009 Microsoft Corporation. All rights reserved.
C:\strawberry>cd \formsys\Net-SSH2-0.33
C:\formsys\Net-SSH2-0.33>perl Makefile.PL
The libssh2 library is required by this module. If you don't have it, you can
download it from http://www.libssh2.org; you may also need OpenSSL, which can be
obtained from http://www.openssl.org.
Debian: sudo aptitude install libssh2-1-dev
OpenSUSE: sudo zypper in libssh2-1 libssh2-devel
Writing Makefile for Net::SSH2
C:\formsys\Net-SSH2-0.33>dmake
Skip blib\lib\Net\SSH2\File.pm (unchanged)
Skip blib\lib\Net\SSH2\Dir.pm (unchanged)
Skip blib\lib\Net\SSH2\PublicKey.pm (unchanged)
Skip blib\lib\Net\SSH2\SFTP.pm (unchanged)
Skip blib\lib\Net\SSH2\Listener.pm (unchanged)
Skip blib\lib\Net\SSH2\Channel.pm (unchanged)
Skip blib\lib\Net\SSH2.pm (unchanged)
gcc -c -IC:/msys/1.0/local/include -IC:/msys/1.0/local/ssl/include -I.
-s -O2 -DWIN32 -DHAVE_DES_FCRYPT -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT -DP
ERL_IMPLICIT_SYS -fno-strict-aliasing -DPERL_MSVCRT_READFIX -s -O2 -DVERS
ION=\"0.33\" -DXS_VERSION=\"0.33\" "-IC:\strawberry\perl\lib\CORE" SSH2.c
Running Mkbootstrap for Net::SSH2 ()
C:\strawberry\perl\bin\perl.exe "-Iinc" -MExtUtils::Command -e "chmod" -- 644 SS
H2.bs
dlltool --def SSH2.def --output-exp dll.exp
g++.exe -o blib\arch\auto\Net\SSH2\SSH2.dll -Wl,--base-file -Wl,dll.base -mdll -
s -L"C:\strawberry\perl\lib\CORE" -L"C:\strawberry\c\lib" SSH2.o -Wl,--image-bas
e,0x7d370000 C:\strawberry\perl\lib\CORE\libperl510.a C:\msys\1.0\local\lib\lib
ssh2.a C:\msys\1.0\local\lib\libz.a C:\msys\1.0\local\ssl\lib\libssl.a C:\msys\1
.0\local\ssl\lib\libcrypto.a C:\strawberry\c\lib\libmoldname.a C:\strawberry\c\l
ib\libkernel32.a C:\strawberry\c\lib\libuser32.a C:\strawberry\c\lib\libgdi32.a
C:\strawberry\c\lib\libwinspool.a C:\strawberry\c\lib\libcomdlg32.a C:\strawberr
y\c\lib\libadvapi32.a C:\strawberry\c\lib\libshell32.a C:\strawberry\c\lib\libol
e32.a C:\strawberry\c\lib\liboleaut32.a C:\strawberry\c\lib\libnetapi32.a C:\str
awberry\c\lib\libuuid.a C:\strawberry\c\lib\libws2_32.a C:\strawberry\c\lib\libm
pr.a C:\strawberry\c\lib\libwinmm.a C:\strawberry\c\lib\libversion.a C:\strawber
ry\c\lib\libodbc32.a C:\strawberry\c\lib\libodbccp32.a dll.exp
Warning: .drectve `-aligncomm:__hide_DES_check_key,2' unrecognized
C:\msys\1.0\local\ssl\lib\libcrypto.a(ui_openssl.o):ui_openssl.c:(.text+0xdb): u
ndefined reference to `__mingw_vfprintf'
collect2: ld returned 1 exit status
dmake: Error code 129, while making 'blib\arch\auto\Net\SSH2\SSH2.dll'
_______________________________________________
Perl-Win32-Users mailing list
Perl-Win32-Users@listserv.ActiveState.com
To unsubscribe: http://listserv.ActiveState.com/mailman/mysubs