graphics/gdal 1.9.0 does not build on CURRENT

Rainer Hurling rhurlin at gwdg.de
Tue May 22 05:32:09 UTC 2012


On 21.05.2012 22:20 (UTC+1), coder.tuxfamily wrote:
> Seems to be a problem with python.
>
> Here the diff that i made yesterday.
>
> Courtesly.

This patch applies fine, but I get exact the same errors as before (see 
below).

There seems to be a problem within extensions/gdal_wrap.cpp.

Rainer


> Le 21.05.2012 22:13, Rainer Hurling a écrit :
>> On 21.05.2012 21:37 (UTC+1), coder.tuxfamily wrote:
>>> Hello,
>>>
>>> It's a problem know by GDAL.
>>>
>>> In the 1.9.0 with PGSQL, gdal don't build because of include in
>>> cpl_recode_iconv.cpp.
>>>
>>> You can corrige this with include "${CPPFLAGS}" in configure files.
>>>
>>> You can see the trac on OSGeo : http://trac.osgeo.org/gdal/ticket/4525
>>> That will be fix on 1.9.1 version.
>>
>> Wow, thanks for the quick response. So the following patch against the
>> 1.9.0 port does it for me:
>>
>> --- files/patch-configure.orig 2012-05-19 12:04:43.000000000 +0200
>> +++ files/patch-configure 2012-05-21 21:59:47.000000000 +0200
>> @@ -1,6 +1,15 @@
>> ---- configure.orig 2011-12-23 09:51:45.000000000 +0800
>> -+++ configure 2011-12-23 15:30:42.540316668 +0800
>> -@@ -21140,10 +21140,10 @@
>> +--- configure.orig 2012-01-04 08:03:42.000000000 +0100
>> ++++ configure 2012-05-21 21:58:56.000000000 +0200
>> +@@ -18694,7 +18694,7 @@
>> + rm -f testiconv.*
>> + echo '#include <iconv.h>' > testiconv.cpp
>> + echo 'int main(int argc, char** argv) { iconv_t cd; return iconv (cd,
>> (const char **) 0, 0, 0, 0); } ' >> testiconv.cpp
>> +- if test -z "`${CXX} testiconv.cpp -c 2>&1`" ; then
>> ++ if test -z "`${CXX} ${CPPFLAGS} testiconv.cpp -c 2>&1`" ; then
>> + { $as_echo "$as_me:${as_lineno-$LINENO}: result: using
>> ICONV_CPP_CONST=\"const\"" >&5
>> + $as_echo "using ICONV_CPP_CONST=\"const\"" >&6; }
>> + ICONV_CPP_CONST="const"
>> +@@ -21232,10 +21232,10 @@
>> if { test -x "$ncdump"; }; then
>> { $as_echo "$as_me:${as_lineno-$LINENO}: checking libnetcdf version with
>> $ncdump" >&5
>> $as_echo_n "checking libnetcdf version with $ncdump... " >&6; }
>>
>>
>> But now I ran into the next problem:
>>
>> creating build/temp.freebsd-10.0-CURRENT-amd64-2.7/extensions
>> /bin/sh /usr/local/bin/libtool --mode=compile --tag=CC cc -DNDEBUG -O2
>> -pipe -O2 -fno-strict-aliasing -pipe -msse3 -O2 -pipe -O2
>> -fno-strict-aliasing -pipe -msse3 -Wall -Wdeclaration-after-statement
>> -DOGR_ENABLED -I/usr/local/include
>> -I/usr/ports/graphics/gdal/work/gdal-1.9.0/port -I/usr/local/include
>> -I/usr/local -I/usr/local/include -I/usr/local/include -I/usr/local
>> -I/usr/local/include -I/usr/local -I/usr/local/include
>> -I/usr/local/include -I/usr/local/include -I/usr/local
>> -I/usr/local/include -I/usr -I/usr/include -fPIC -I../../port
>> -I../../gcore -I../../alg -I../../ogr/ -I/usr/local/include/python2.7
>> -I/usr/local/lib/python2.7/site-packages/numpy/core/include
>> -I/usr/ports/graphics/gdal/work/gdal-1.9.0/include -c
>> extensions/gdal_wrap.cpp -o
>> build/temp.freebsd-10.0-CURRENT-amd64-2.7/extensions/gdal_wrap.o
>> libtool: compile: cc -DNDEBUG -O2 -pipe -O2 -fno-strict-aliasing -pipe
>> -msse3 -O2 -pipe -O2 -fno-strict-aliasing -pipe -msse3 -Wall
>> -Wdeclaration-after-statement -DOGR_ENABLED -I/usr/local/include
>> -I/usr/ports/graphics/gdal/work/gdal-1.9.0/port -I/usr/local/include
>> -I/usr/local -I/usr/local/include -I/usr/local/include -I/usr/local
>> -I/usr/local/include -I/usr/local -I/usr/local/include
>> -I/usr/local/include -I/usr/local/include -I/usr/local
>> -I/usr/local/include -I/usr -I/usr/include -fPIC -I../../port
>> -I../../gcore -I../../alg -I../../ogr/ -I/usr/local/include/python2.7
>> -I/usr/local/lib/python2.7/site-packages/numpy/core/include
>> -I/usr/ports/graphics/gdal/work/gdal-1.9.0/include -c
>> extensions/gdal_wrap.cpp -fPIC -DPIC -o
>> build/temp.freebsd-10.0-CURRENT-amd64-2.7/extensions/.libs/gdal_wrap.o
>> cc1plus: warning: command line option "-Wdeclaration-after-statement" is
>> valid for C/ObjC but not for C++
>> extensions/gdal_wrap.cpp: In function 'PyObject*
>> _wrap_VSIFTruncateL(PyObject*, PyObject*)':
>> extensions/gdal_wrap.cpp:6845: error: 'VSIFTruncateL' was not declared
>> in this scope
>> extensions/gdal_wrap.cpp: In function 'PyObject*
>> _wrap_MajorObject_SetMetadata__SWIG_0(PyObject*, PyObject*)':
>> extensions/gdal_wrap.cpp:7220: warning: deprecated conversion from
>> string constant to 'char*'
>> error: command '/bin/sh' failed with exit status 1
>> gmake[2]: *** [build] Fehler 1
>> gmake[2]: Leaving directory
>> `/usr/ports/graphics/gdal/work/gdal-1.9.0/swig/python'
>> gmake[1]: *** [build] Fehler 2
>> gmake[1]: Leaving directory
>> `/usr/ports/graphics/gdal/work/gdal-1.9.0/swig'
>> gmake: *** [swig-modules] Fehler 2
>> *** [do-build] Error code 1
>> Stop in /usr/ports/graphics/gdal.
>>
>>
>>> Loïc.
>>>
>>>
>>> Le 21.05.2012 21:23, Rainer Hurling a écrit :
>>>> Thanks for the update of graphics/gdal to version 1.9.0.
>>>>
>>>> It builds fine on 9.0 (amd64), but fails on 10.0-CURRENT (amd64):
>>>>
>>>> [..snip..]
>>>> libtool: compile: c++ -O2 -pipe -O2 -fno-strict-aliasing -pipe -msse3
>>>> -Wall -DOGR_ENABLED -I/usr/local/include
>>>> -I/usr/ports/graphics/gdal/work/gdal-1.9.0/port -I/usr/local/include
>>>> -I/usr/local -I/usr/local/include -I/usr/local/include -I/usr/local
>>>> -I/usr/local/include -I/usr/local -I/usr/local/include
>>>> -I/usr/local/include -I/usr/local/include -I/usr/local
>>>> -I/usr/local/include -I/usr -I/usr/include -DHAVE_LIBZ -c
>>>> cpl_recode_iconv.cpp -fPIC -DPIC -o .libs/cpl_recode_iconv.o
>>>> cpl_recode_iconv.cpp: In function 'char* CPLRecodeIconv(const char*,
>>>> const char*, const char*)':
>>>> cpl_recode_iconv.cpp:92: error: invalid conversion from 'char**' to
>>>> 'const char**'
>>>> cpl_recode_iconv.cpp:92: error: initializing argument 2 of 'size_t
>>>> libiconv(void*, const char**, size_t*, char**, size_t*)'
>>>> cpl_recode_iconv.cpp: In function 'char* CPLRecodeFromWCharIconv(const
>>>> wchar_t*, const char*, const char*)':
>>>> cpl_recode_iconv.cpp:243: error: invalid conversion from 'char**' to
>>>> 'const char**'
>>>> cpl_recode_iconv.cpp:243: error: initializing argument 2 of 'size_t
>>>> libiconv(void*, const char**, size_t*, char**, size_t*)'
>>>> gmake[1]: *** [cpl_recode_iconv.lo] Fehler 1
>>>> gmake[1]: Leaving directory
>>>> `/usr/ports/graphics/gdal/work/gdal-1.9.0/port'
>>>> gmake: *** [port-target] Fehler 2
>>>> *** [do-build] Error code 1
>>>> Stop in /usr/ports/graphics/gdal.
>>>>
>>>>
>>>> It seems there is a portability issue with ICONV_CPP_CONST like it is
>>>> described in port/cpl_recode_iconv.cpp:l76ff ?
>>>>
>>>> /*
>>>> -------------------------------------------------------------------- */
>>>> /* XXX: There is a portability issue: iconv() function could be */
>>>> /* declared differently on different platforms. The second */
>>>> /* argument could be declared as char** (as POSIX defines) or */
>>>> /* as a const char**. Handle it with the ICONV_CPP_CONST macro here. */
>>>> /*
>>>> -------------------------------------------------------------------- */
>>>>
>>>> Please let me know, if you need more details.
>>>>
>>>> Thanks again,
>>>> Rainer
>>>>
>>>>
>>>> P.S.: ports/166605 should be obsolete now?



More information about the freebsd-ports mailing list