Fix for building perl bindings was Re: [Gdal-dev] Newbie with OGRPerl bindings

Matt Foster Matthew.Foster at noaa.gov
Fri Oct 7 11:18:16 EDT 2005


Sorry, I guess I didn't include the exact error message...

gcc -c  -I../../gcore -I../../alg -I../../ogr -I../../port -D_REENTRANT 
-D_GNU_SOURCE -DTHREADS_HAVE_PIDS -DDEBUGGING -fno-strict-aliasing 
-I/usr/local/include -D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64 
-I/usr/include/gdbm -O2 -g -pipe -march=i386 -mcpu=i686   -DVERSION=\"\" 
-DXS_VERSION=\"\" -fPIC 
"-I/usr/lib/perl5/5.8.0/i386-linux-thread-multi/CORE"   gdal_wrap.cpp
gdal_wrap.cpp: In function `void _wrap_Dataset_GetGCPs(PerlInterpreter*, 
CV*)':
gdal_wrap.cpp:4877: `SWIG_NewPointerObj' undeclared (first use this 
function)
gdal_wrap.cpp:4877: (Each undeclared identifier is reported only once 
for each
   function it appears in.)
make[1]: *** [gdal_wrap.o] Error 1

Matt


Ethan Alpert wrote:

>What's the error? Was it in a previous post?
>
>-e
>
>-----Original Message-----
>From: gdal-dev-bounces at lists.maptools.org
>[mailto:gdal-dev-bounces at lists.maptools.org] On Behalf Of Matt Foster
>Sent: Friday, October 07, 2005 8:50 AM
>To: Kevin Ruland
>Cc: gdal-dev at lists.maptools.org
>Subject: Re: Fix for building perl bindings was Re: [Gdal-dev] Newbie
>with OGRPerl bindings
>
>
>Kevin,
>
>OK, I started fresh with a 'make clean', and then did these steps...
>
>./configure --with-netcdf=<path to netcdf>
>make
>make install
>
>This went fine, and everything is installed under /usr/local.  Then 
>things go bad...
>
>cd swig/perl
>make
>
>make fails trying to compile gdal_wrap.cpp with SWIG_NewPointerObj being
>
>undeclared.  I tried adding the -L/usr/local/lib to the Makefile.PL, as 
>you suggested (even though /usr/local is default), and even added 
>/usr/local/lib to LD_LIBRARY_PATH, and it fails in the same place with 
>the same error.
>
>Matt
>
>Kevin Ruland wrote:
>
>  
>
>>Matt,
>>
>>There appears to be some problems with 'make install' in the perl 
>>bindings - there are some work-arounds for it and if you use --prefix 
>>things get a little harder.
>>
>>If you decide to install gdal in either /usr/local or /usr/ (this is 
>>the case when you don't use --prefix in ./configure), the best option 
>>is to not use the --with-perl option, but instead do this:
>>
>>./configure --normal-configure-options  (omit the --with-perl option) 
>>make make install
>>cd swig/perl
>>make
>>make install
>>
>>This should install the perl module correctly.
>>
>>If you desire to install gdal in a non-default location you will need 
>>to hack the swig/perl/Makefile.PL script to get the build to function 
>>correctly.
>>
>>./configure --prefix=myprefix --normal-configure-options (omit the 
>>--with-perl option) make
>>make install
>>cd swig/perl
>>-- edit the Makefile.PL and change all the lines with LIB => "-lgdal"
>>    
>>
>to
>  
>
>>LIB => '-Lmyprefix/lib -lgdal'
>>make
>>make install
>>
>>We are currently working on a platform independent way to make this 
>>more automatic.  It should make it into cvs shorly, and in the 1.3.2 
>>release.  Until then we'll have to struggle a little more.
>>
>>Best of luck.
>>
>>Kevin
>>
>>
>>
>>
>>Matt Foster wrote:
>>
>> 
>>
>>    
>>
>>>Ari Jolma wrote:
>>>
>>>   
>>>
>>>      
>>>
>>>>Matt Foster kirjoitti:
>>>>
>>>>     
>>>>
>>>>        
>>>>
>>>>>Would anyone have a sample code snippet they'd be willing to share, 
>>>>>showing how to create a simple point shapefile with the OGR Perl 
>>>>>binding?
>>>>>       
>>>>>
>>>>>          
>>>>>
>>>>look at  the test.pl in swig/perl, it creates and opens raster and 
>>>>vector data files
>>>>
>>>>Ari
>>>>
>>>>     
>>>>
>>>>        
>>>>
>>>Ari,
>>>
>>>Something is wrong with my installation here.  When I tried to run 
>>>test.pl it said that it could find a loadable module for gdalconst, 
>>>despite the fact that gdalconst.pm is in my @INC list.  I think in my 
>>>effort yesterday to get around the compilation failure of 
>>>gdal_wrap.cpp, I fouled up the installation.  I think I need to step 
>>>back, and start fresh.
>>>
>>>I worked on the assumption yesterday that to get the Perl bindings 
>>>built and installed that I would do these steps from the gdal base 
>>>directory (I also use netCDF)...
>>>
>>>./configure --with-netcdf=<path to netcdf> --with-perl
>>>make
>>>make install
>>>
>>>Is that incorrect?  If those are indeed the right steps, then I need 
>>>to figure out why gdal_wrap.cpp fails to build.
>>>
>>>Matt
>>>
>>>   
>>>
>>>      
>>>
>>_______________________________________________
>>Gdal-dev mailing list
>>Gdal-dev at lists.maptools.org 
>>http://lists.maptools.org/mailman/listinfo/gdal-dev
>>
>> 
>>
>>    
>>
>
>  
>

-- 
"Those who would sacrifice essential liberties for a little
temporary safety deserve neither liberty nor safety."
-- Benjamin Franklin





More information about the Gdal-dev mailing list