[Gdal-dev] Re: GDAL Perl compilations

Ari Jolma ari.jolma at tkk.fi
Mon Apr 23 08:32:20 EDT 2007


Tamas Szekeres kirjoitti:
> Ari,
>
> Is the GDAL SWIG Perl compatible with ActivePerl + Visual Studio (nmake)

At the moment, no. For my part it is a problem of the things in 
Makefile.PL because I've used it only with gcc (MinGW or Linux). But 
that's only minor issue and it is easy to change, i.e. use .lib and not 
.dll.a etc.

I'm currently trying to build it with ActivePerl & Visual C++ 2003, but 
my first try yesterday was not succesful. I hit the same" 
'PerlProc_abort' : is not a  member of '`global namespace" problem, 
which is an issue with swig+MSVC I think. Currently I have no idea how 
to fix that. Anybody?

I cc this to the list in case somebody has experience with ActiveState 
Perl and Swig.

Ari

>
> I've tried this, but it did not work:
>
> E:\buildbot\osgeo\slaves\szekerest-msvc80-gdal\szekerest-vc80-quick\build\gdal\swig\perl>perl 
>
> Makefile.PL
> Checking if your kit is complete...
> Looks good
> Warning: '-L../..' changed to
> '-LE:/buildbot/osgeo/slaves/szekerest-msvc80-gdal/szekerest-vc80-quick/build/gdal/swig/perl/../..' 
>
> Note (probably harmless): No library found for -lgdal.dll
> Writing Makefile_Geo__OGR for Geo::OGR
> Checking if your kit is complete...
> Looks good
> Warning: '-L../..' changed to
> '-LE:/buildbot/osgeo/slaves/szekerest-msvc80-gdal/szekerest-vc80-quick/build/gdal/swig/perl/../..' 
>
> Note (probably harmless): No library found for -lgdal.dll
> Writing Makefile_Geo__GDAL__Const for Geo::GDAL::Const
> Checking if your kit is complete...
> Looks good
> Warning: '-L../..' changed to
> '-LE:/buildbot/osgeo/slaves/szekerest-msvc80-gdal/szekerest-vc80-quick/build/gdal/swig/perl/../..' 
>
> Note (probably harmless): No library found for -lgdal.dll
> Writing Makefile_Geo__OSR for Geo::OSR
> Checking if your kit is complete...
> Looks good
> Warning: '-L../..' changed to
> '-LE:/buildbot/osgeo/slaves/szekerest-msvc80-gdal/szekerest-vc80-quick/build/gdal/swig/perl/../..' 
>
> Note (probably harmless): No library found for -lgdal.dll
> Writing Makefile_Geo__GDAL for Geo::GDAL
>
> E:\buildbot\osgeo\slaves\szekerest-msvc80-gdal\szekerest-vc80-quick\build\gdal\swig\perl>nmake 
>
> -f Makefile_Geo__GDAL
>
> Microsoft (R) Program Maintenance Utility Version 8.00.50727.42
> Copyright (C) Microsoft Corporation.  All rights reserved.
>
>        cl -c  -I../../gcore -I../../alg -I../../ogr -I../../port
> -nologo -GF -W3 -MD -Zi -DNDEBUG -Ox -GL -Wp64 -fp:precise -DWIN32
> -D_CON
> SOLE -DNO_STRICT -DHAVE_DES_FCRYPT -DWIN64 -DCONSERVATIVE
> -DNO_HASH_SEED -DUSE_SITECUSTOMIZE -DPERL_IMPLICIT_CONTEXT
> -DPERL_IMPLICIT_SYS -DU
> SE_PERLIO -DPERL_MSVCRT_READFIX -MD -Zi -DNDEBUG -Ox -GL -Wp64
> -fp:precise    -DVERSION=\"0.21\"  -DXS_VERSION=\"0.21\"
> "-IC:\Perl64\lib\CO
> RE"   gdal_wrap.cpp
> gdal_wrap.cpp
> gdal_wrap.cpp(359) : warning C4244: 'return' : conversion from
> '__int64' to 'int', possible loss of data
> gdal_wrap.cpp(1282) : warning C4267: 'argument' : conversion from
> 'size_t' to 'I32', possible loss of data
> C:\Program Files (x86)\Microsoft Visual Studio
> 8\VC\INCLUDE\cstdlib(20) : error C2039: 'PerlProc_abort' : is not a
> member of '`global namesp
> ace''
> C:\Program Files (x86)\Microsoft Visual Studio
> 8\VC\INCLUDE\cstdlib(20) : error C2873: 'PerlProc_abort' : symbol
> cannot be used in a using-d
> eclaration
> C:\Program Files (x86)\Microsoft Visual Studio
> 8\VC\INCLUDE\cstdlib(23) : error C2039: 'PerlProc_exit' : is not a
> member of '`global namespa
> ce''
> C:\Program Files (x86)\Microsoft Visual Studio
> 8\VC\INCLUDE\cstdlib(23) : error C2873: 'PerlProc_exit' : symbol
> cannot be used in a using-de
> claration
> C:\Program Files (x86)\Microsoft Visual Studio
> 8\VC\INCLUDE\cstdlib(23) : error C2039: 'PerlEnv_getenv' : is not a
> member of '`global namesp
> ace''
> C:\Program Files (x86)\Microsoft Visual Studio
> 8\VC\INCLUDE\cstdlib(23) : error C2873: 'PerlEnv_getenv' : symbol
> cannot be used in a using-d
> eclaration
> C:\Program Files (x86)\Microsoft Visual Studio
> 8\VC\INCLUDE\cstdlib(26) : error C2039: 'PerlMem_realloc' : is not a
> member of '`global names
> pace''
> C:\Program Files (x86)\Microsoft Visual Studio
> 8\VC\INCLUDE\cstdlib(26) : error C2873: 'PerlMem_realloc' : symbol
> cannot be used in a using-
> declaration
> C:\Program Files (x86)\Microsoft Visual Studio 8\VC\INCLUDE\cstdio(26)
> : error C2039: 'PerlSIO_clearerr' : is not a member of '`global names
> pace''
> C:\Program Files (x86)\Microsoft Visual Studio 8\VC\INCLUDE\cstdio(26)
> : error C2873: 'PerlSIO_clearerr' : symbol cannot be used in a using-
> declaration
> C:\Program Files (x86)\Microsoft Visual Studio 8\VC\INCLUDE\cstdio(26)
> : error C2039: 'PerlSIO_fclose' : is not a member of '`global namespa
> ce''
> C:\Program Files (x86)\Microsoft Visual Studio 8\VC\INCLUDE\cstdio(26)
> : error C2873: 'PerlSIO_fclose' : symbol cannot be used in a using-de
> claration
> C:\Program Files (x86)\Microsoft Visual Studio 8\VC\INCLUDE\cstdio(26)
> : error C2039: 'PerlSIO_feof' : is not a member of '`global namespace
> ''
> C:\Program Files (x86)\Microsoft Visual Studio 8\VC\INCLUDE\cstdio(26)
> : error C2873: 'PerlSIO_feof' : symbol cannot be used in a using-decl
> aration
> C:\Program Files (x86)\Microsoft Visual Studio 8\VC\INCLUDE\cstdio(27)
> : error C2039: 'PerlSIO_ferror' : is not a member of '`global namespa
> ce''
> C:\Program Files (x86)\Microsoft Visual Studio 8\VC\INCLUDE\cstdio(27)
> : error C2873: 'PerlSIO_ferror' : symbol cannot be used in a using-de
> claration
> C:\Program Files (x86)\Microsoft Visual Studio 8\VC\INCLUDE\cstdio(27)
> : error C2039: 'PerlSIO_fflush' : is not a member of '`global namespa
> ce''
> C:\Program Files (x86)\Microsoft Visual Studio 8\VC\INCLUDE\cstdio(27)
> : error C2873: 'PerlSIO_fflush' : symbol cannot be used in a using-de
> claration
> C:\Program Files (x86)\Microsoft Visual Studio 8\VC\INCLUDE\cstdio(28)
> : error C2039: 'PerlSIO_fgetpos' : is not a member of '`global namesp
> ace''
> C:\Program Files (x86)\Microsoft Visual Studio 8\VC\INCLUDE\cstdio(28)
> : error C2873: 'PerlSIO_fgetpos' : symbol cannot be used in a using-d
> eclaration
> C:\Program Files (x86)\Microsoft Visual Studio 8\VC\INCLUDE\cstdio(28)
> : error C2039: 'PerlSIO_fopen' : is not a member of '`global namespac
> e''
> C:\Program Files (x86)\Microsoft Visual Studio 8\VC\INCLUDE\cstdio(28)
> : error C2873: 'PerlSIO_fopen' : symbol cannot be used in a using-dec
> laration
> C:\Program Files (x86)\Microsoft Visual Studio 8\VC\INCLUDE\cstdio(29)
> : error C2039: 'PerlSIO_fputc' : is not a member of '`global namespac
> e''
> C:\Program Files (x86)\Microsoft Visual Studio 8\VC\INCLUDE\cstdio(29)
> : error C2873: 'PerlSIO_fputc' : symbol cannot be used in a using-dec
> laration
> C:\Program Files (x86)\Microsoft Visual Studio 8\VC\INCLUDE\cstdio(29)
> : error C2039: 'PerlSIO_fputs' : is not a member of '`global namespac
> e''
> C:\Program Files (x86)\Microsoft Visual Studio 8\VC\INCLUDE\cstdio(29)
> : error C2873: 'PerlSIO_fputs' : symbol cannot be used in a using-dec
> laration
> C:\Program Files (x86)\Microsoft Visual Studio 8\VC\INCLUDE\cstdio(30)
> : error C2039: 'PerlSIO_fread' : is not a member of '`global namespac
> e''
> C:\Program Files (x86)\Microsoft Visual Studio 8\VC\INCLUDE\cstdio(30)
> : error C2873: 'PerlSIO_fread' : symbol cannot be used in a using-dec
> laration
> C:\Program Files (x86)\Microsoft Visual Studio 8\VC\INCLUDE\cstdio(30)
> : error C2039: 'PerlSIO_freopen' : is not a member of '`global namesp
> ace''
> C:\Program Files (x86)\Microsoft Visual Studio 8\VC\INCLUDE\cstdio(30)
> : error C2873: 'PerlSIO_freopen' : symbol cannot be used in a using-d
> eclaration
> C:\Program Files (x86)\Microsoft Visual Studio 8\VC\INCLUDE\cstdio(31)
> : error C2039: 'PerlSIO_fseek' : is not a member of '`global namespac
> e''
> C:\Program Files (x86)\Microsoft Visual Studio 8\VC\INCLUDE\cstdio(31)
> : error C2873: 'PerlSIO_fseek' : symbol cannot be used in a using-dec
> laration
> C:\Program Files (x86)\Microsoft Visual Studio 8\VC\INCLUDE\cstdio(31)
> : error C2039: 'PerlSIO_fsetpos' : is not a member of '`global namesp
> ace''
> C:\Program Files (x86)\Microsoft Visual Studio 8\VC\INCLUDE\cstdio(31)
> : error C2873: 'PerlSIO_fsetpos' : symbol cannot be used in a using-d
> eclaration
> C:\Program Files (x86)\Microsoft Visual Studio 8\VC\INCLUDE\cstdio(31)
> : error C2039: 'PerlSIO_ftell' : is not a member of '`global namespac
> e''
> C:\Program Files (x86)\Microsoft Visual Studio 8\VC\INCLUDE\cstdio(31)
> : error C2873: 'PerlSIO_ftell' : symbol cannot be used in a using-dec
> laration
> C:\Program Files (x86)\Microsoft Visual Studio 8\VC\INCLUDE\cstdio(32)
> : error C2039: 'PerlSIO_fwrite' : is not a member of '`global namespa
> ce''
> C:\Program Files (x86)\Microsoft Visual Studio 8\VC\INCLUDE\cstdio(32)
> : error C2873: 'PerlSIO_fwrite' : symbol cannot be used in a using-de
> claration
> C:\Program Files (x86)\Microsoft Visual Studio 8\VC\INCLUDE\cstdio(32)
> : error C2039: 'PerlSIO_getc' : is not a member of '`global namespace
> ''
> C:\Program Files (x86)\Microsoft Visual Studio 8\VC\INCLUDE\cstdio(32)
> : error C2873: 'PerlSIO_getc' : symbol cannot be used in a using-decl
> aration
> C:\Program Files (x86)\Microsoft Visual Studio 8\VC\INCLUDE\cstdio(36)
> : error C2039: 'PerlLIO_rename' : is not a member of '`global namespa
> ce''
> C:\Program Files (x86)\Microsoft Visual Studio 8\VC\INCLUDE\cstdio(36)
> : error C2873: 'PerlLIO_rename' : symbol cannot be used in a using-de
> claration
> C:\Program Files (x86)\Microsoft Visual Studio 8\VC\INCLUDE\cstdio(37)
> : error C2039: 'PerlSIO_setbuf' : is not a member of '`global namespa
> ce''
> C:\Program Files (x86)\Microsoft Visual Studio 8\VC\INCLUDE\cstdio(37)
> : error C2873: 'PerlSIO_setbuf' : symbol cannot be used in a using-de
> claration
> C:\Program Files (x86)\Microsoft Visual Studio 8\VC\INCLUDE\cstdio(37)
> : error C2039: 'PerlSIO_setvbuf' : is not a member of '`global namesp
> ace''
> C:\Program Files (x86)\Microsoft Visual Studio 8\VC\INCLUDE\cstdio(37)
> : error C2873: 'PerlSIO_setvbuf' : symbol cannot be used in a using-d
> eclaration
> C:\Program Files (x86)\Microsoft Visual Studio 8\VC\INCLUDE\cstdio(38)
> : error C2039: 'PerlSIO_tmpfile' : is not a member of '`global namesp
> ace''
> C:\Program Files (x86)\Microsoft Visual Studio 8\VC\INCLUDE\cstdio(38)
> : error C2873: 'PerlSIO_tmpfile' : symbol cannot be used in a using-d
> eclaration
> C:\Program Files (x86)\Microsoft Visual Studio 8\VC\INCLUDE\cstdio(38)
> : error C2039: 'PerlLIO_tmpnam' : is not a member of '`global namespa
> ce''
> C:\Program Files (x86)\Microsoft Visual Studio 8\VC\INCLUDE\cstdio(38)
> : error C2873: 'PerlLIO_tmpnam' : symbol cannot be used in a using-de
> claration
> C:\Program Files (x86)\Microsoft Visual Studio 8\VC\INCLUDE\cstdio(39)
> : error C2039: 'PerlSIO_ungetc' : is not a member of '`global namespa
> ce''
> C:\Program Files (x86)\Microsoft Visual Studio 8\VC\INCLUDE\cstdio(39)
> : error C2873: 'PerlSIO_ungetc' : symbol cannot be used in a using-de
> claration
> C:\Program Files (x86)\Microsoft Visual Studio 8\VC\INCLUDE\cstdio(39)
> : error C2039: 'PerlSIO_vprintf' : is not a member of '`global namesp
> ace''
> C:\Program Files (x86)\Microsoft Visual Studio 8\VC\INCLUDE\cstdio(39)
> : error C2873: 'PerlSIO_vprintf' : symbol cannot be used in a using-d
> eclaration
> C:\Program Files (x86)\Microsoft Visual Studio
> 8\VC\INCLUDE\xlocale(326) : warning C4530: C++ exception handler used,
> but unwind semantics a
> re not enabled. Specify /EHsc
> C:\Program Files (x86)\Microsoft Visual Studio
> 8\VC\INCLUDE\xlocale(341) : warning C4530: C++ exception handler used,
> but unwind semantics a
> re not enabled. Specify /EHsc
> C:\Program Files (x86)\Microsoft Visual Studio
> 8\VC\INCLUDE\xlocale(358) : warning C4530: C++ exception handler used,
> but unwind semantics a
> re not enabled. Specify /EHsc
> C:\Program Files (x86)\Microsoft Visual Studio
> 8\VC\INCLUDE\streambuf(403) : error C2059: syntax error : '('
>        C:\Program Files (x86)\Microsoft Visual Studio
> 8\VC\INCLUDE\streambuf(432) : see reference to class template
> instantiation 'std::bas
> ic_streambuf<_Elem,_Traits>' being compiled
> C:\Program Files (x86)\Microsoft Visual Studio
> 8\VC\INCLUDE\streambuf(403) : error C2059: syntax error : ')'
> C:\Program Files (x86)\Microsoft Visual Studio
> 8\VC\INCLUDE\streambuf(403) : error C2143: syntax error : missing ')'
> before '->'
> C:\Program Files (x86)\Microsoft Visual Studio
> 8\VC\INCLUDE\streambuf(403) : error C2143: syntax error : missing ';'
> before '->'
> C:\Program Files (x86)\Microsoft Visual Studio
> 8\VC\INCLUDE\streambuf(403) : error C2059: syntax error : ')'
> C:\Program Files (x86)\Microsoft Visual Studio
> 8\VC\INCLUDE\streambuf(404) : error C2334: unexpected token(s)
> preceding '{'; skipping appare
> nt function body
> C:\Program Files (x86)\Microsoft Visual Studio
> 8\VC\INCLUDE\streambuf(403) : error C2059: syntax error : '('
>        C:\Program Files (x86)\Microsoft Visual Studio
> 8\VC\INCLUDE\streambuf(436) : see reference to class template
> instantiation 'std::bas
> ic_streambuf<_Elem,_Traits>' being compiled
>        with
>        [
>            _Elem=char,
>            _Traits=std::char_traits<char>
>        ]
> C:\Program Files (x86)\Microsoft Visual Studio
> 8\VC\INCLUDE\streambuf(403) : error C2059: syntax error : ')'
> C:\Program Files (x86)\Microsoft Visual Studio
> 8\VC\INCLUDE\streambuf(403) : error C2143: syntax error : missing ')'
> before '->'
> C:\Program Files (x86)\Microsoft Visual Studio
> 8\VC\INCLUDE\streambuf(403) : error C2143: syntax error : missing ';'
> before '->'
> C:\Program Files (x86)\Microsoft Visual Studio
> 8\VC\INCLUDE\streambuf(403) : error C2059: syntax error : ')'
> C:\Program Files (x86)\Microsoft Visual Studio
> 8\VC\INCLUDE\streambuf(404) : error C2334: unexpected token(s)
> preceding '{'; skipping appare
> nt function body
> C:\Program Files (x86)\Microsoft Visual Studio
> 8\VC\INCLUDE\streambuf(403) : error C2059: syntax error : '('
>        C:\Program Files (x86)\Microsoft Visual Studio
> 8\VC\INCLUDE\streambuf(437) : see reference to class template
> instantiation 'std::bas
> ic_streambuf<_Elem,_Traits>' being compiled
>        with
>        [
>            _Elem=wchar_t,
>            _Traits=std::char_traits<wchar_t>
>        ]
> C:\Program Files (x86)\Microsoft Visual Studio
> 8\VC\INCLUDE\streambuf(403) : error C2059: syntax error : ')'
> C:\Program Files (x86)\Microsoft Visual Studio
> 8\VC\INCLUDE\streambuf(403) : error C2143: syntax error : missing ')'
> before '->'
> C:\Program Files (x86)\Microsoft Visual Studio
> 8\VC\INCLUDE\streambuf(403) : error C2143: syntax error : missing ';'
> before '->'
> C:\Program Files (x86)\Microsoft Visual Studio
> 8\VC\INCLUDE\streambuf(403) : error C2059: syntax error : ')'
> C:\Program Files (x86)\Microsoft Visual Studio
> 8\VC\INCLUDE\streambuf(404) : error C2334: unexpected token(s)
> preceding '{'; skipping appare
> nt function body
> C:\Program Files (x86)\Microsoft Visual Studio
> 8\VC\INCLUDE\istream(1075) : warning C4530: C++ exception handler
> used, but unwind semantics
> are not enabled. Specify /EHsc
> gdal_wrap.cpp(1678) : warning C4244: '=' : conversion from 'IV' to
> 'long', possible loss of data
> gdal_wrap.cpp(2292) : warning C4244: '=' : conversion from 'IV' to
> 'int', possible loss of data
> gdal_wrap.cpp(3288) : warning C4267: 'argument' : conversion from
> 'size_t' to 'I32', possible loss of data
> gdal_wrap.cpp(6572) : warning C4244: '=' : conversion from 'IV' to
> 'int', possible loss of data
> gdal_wrap.cpp(7021) : warning C4267: '=' : conversion from 'size_t' to
> 'int', possible loss of data
> gdal_wrap.cpp(7030) : warning C4244: '=' : conversion from 'IV' to
> 'int', possible loss of data
> gdal_wrap.cpp(7042) : warning C4244: '=' : conversion from 'IV' to
> 'int', possible loss of data
> gdal_wrap.cpp(7054) : warning C4244: '=' : conversion from 'IV' to
> 'int', possible loss of data
> gdal_wrap.cpp(7071) : warning C4244: '=' : conversion from 'IV' to
> 'int', possible loss of data
> gdal_wrap.cpp(7199) : warning C4244: '=' : conversion from 'IV' to
> 'int', possible loss of data
> gdal_wrap.cpp(7211) : warning C4244: '=' : conversion from 'IV' to
> 'int', possible loss of data
> gdal_wrap.cpp(7223) : warning C4244: '=' : conversion from 'IV' to
> 'int', possible loss of data
> gdal_wrap.cpp(7240) : warning C4244: '=' : conversion from 'IV' to
> 'int', possible loss of data
> gdal_wrap.cpp(8214) : warning C4244: '=' : conversion from 'IV' to
> 'int', possible loss of data
> gdal_wrap.cpp(8226) : warning C4244: '=' : conversion from 'IV' to
> 'int', possible loss of data
> gdal_wrap.cpp(8515) : warning C4244: '=' : conversion from 'IV' to
> 'int', possible loss of data
> gdal_wrap.cpp(8527) : warning C4244: '=' : conversion from 'IV' to
> 'int', possible loss of data
> gdal_wrap.cpp(8539) : warning C4244: '=' : conversion from 'IV' to
> 'int', possible loss of data
> gdal_wrap.cpp(8661) : warning C4267: '=' : conversion from 'size_t' to
> 'int', possible loss of data
> gdal_wrap.cpp(8670) : warning C4244: '=' : conversion from 'IV' to
> 'int', possible loss of data
> gdal_wrap.cpp(8682) : warning C4244: '=' : conversion from 'IV' to
> 'int', possible loss of data
> gdal_wrap.cpp(8694) : warning C4244: '=' : conversion from 'IV' to
> 'int', possible loss of data
> gdal_wrap.cpp(9220) : warning C4244: '=' : conversion from 'IV' to
> 'short', possible loss of data
> gdal_wrap.cpp(9222) : warning C4244: '=' : conversion from 'IV' to
> 'short', possible loss of data
> gdal_wrap.cpp(9224) : warning C4244: '=' : conversion from 'IV' to
> 'short', possible loss of data
> gdal_wrap.cpp(9226) : warning C4244: '=' : conversion from 'IV' to
> 'short', possible loss of data
> NMAKE : fatal error U1077: '"C:\Program Files (x86)\Microsoft Visual
> Studio 8\VC\BIN\amd64\cl.EXE"' : return code '0x2'
> Stop.
>
> Best regards,
>
> Tamas


-- 
Prof. Ari Jolma
Geoinformaatio- ja paikannustekniikka / Geoinformation and positioning
Teknillinen Korkeakoulu / Helsinki University of Technology
tel: +358 9 451 3886 address: POBox 1200, 02015 TKK, Finland
Email: ari.jolma at tkk.fi URL: http://www.tkk.fi/~jolma





More information about the Gdal-dev mailing list