[GRASS-dev] iostream lib and r.terraflow/r.viewshed

Maciej Sieczka tutey at o2.pl
Sat Aug 9 15:14:41 EDT 2008


Paul Kelly pisze:

> r.terraflow still compiles fine so I hope there will be no unforeseen 
> consequences.

In the current develbranch6 (r32655) there are 2 errors at the build time:

in lib/iostream:

$ make
c++ 
-I/home/shoofi/src/straight/grass64/dist.x86_64-unknown-linux-gnu/include 
  -pipe -march=core2 -g -Wall   -D_FILE_OFFSET_BITS=64 
-DPACKAGE=\""grasslibs"\" 
-I/home/shoofi/src/straight/grass64/dist.x86_64-unknown-linux-gnu/include 
-o OBJ.x86_64-unknown-linux-gnu/ami_stream.o -c ami_stream.cc
In file included from ami_stream.cc:29:
/home/shoofi/src/straight/grass64/dist.x86_64-unknown-linux-gnu/include/grass/iostream/ami_stream.h: 
In constructor 'AMI_STREAM<T>::AMI_STREAM(const char*, AMI_stream_type)':
/home/shoofi/src/straight/grass64/dist.x86_64-unknown-linux-gnu/include/grass/iostream/ami_stream.h:256: 
error: there are no arguments to 'strcpy' that depend on a template 
parameter, so a declaration of 'strcpy' must be available
/home/shoofi/src/straight/grass64/dist.x86_64-unknown-linux-gnu/include/grass/iostream/ami_stream.h:256: 
error: (if you use '-fpermissive', G++ will accept your code, but 
allowing the use of an undeclared name is deprecated)
/home/shoofi/src/straight/grass64/dist.x86_64-unknown-linux-gnu/include/grass/iostream/ami_stream.h: 
In member function 'AMI_err AMI_STREAM<T>::name(char**)':
/home/shoofi/src/straight/grass64/dist.x86_64-unknown-linux-gnu/include/grass/iostream/ami_stream.h:373: 
error: there are no arguments to 'strlen' that depend on a template 
parameter, so a declaration of 'strlen' must be available
/home/shoofi/src/straight/grass64/dist.x86_64-unknown-linux-gnu/include/grass/iostream/ami_stream.h:374: 
error: there are no arguments to 'strcpy' that depend on a template 
parameter, so a declaration of 'strcpy' must be available
ami_stream.cc: At global scope:
ami_stream.cc:46: warning: deprecated conversion from string constant to 
'char*'
ami_stream.cc:46: warning: deprecated conversion from string constant to 
'char*'
ami_stream.cc:46: warning: deprecated conversion from string constant to 
'char*'
ami_stream.cc:46: warning: deprecated conversion from string constant to 
'char*'
ami_stream.cc:46: warning: deprecated conversion from string constant to 
'char*'
ami_stream.cc:46: warning: deprecated conversion from string constant to 
'char*'
ami_stream.cc:46: warning: deprecated conversion from string constant to 
'char*'
ami_stream.cc:46: warning: deprecated conversion from string constant to 
'char*'
ami_stream.cc:46: warning: deprecated conversion from string constant to 
'char*'
ami_stream.cc:46: warning: deprecated conversion from string constant to 
'char*'
ami_stream.cc:46: warning: deprecated conversion from string constant to 
'char*'
ami_stream.cc:46: warning: deprecated conversion from string constant to 
'char*'
ami_stream.cc:46: warning: deprecated conversion from string constant to 
'char*'
make: *** [OBJ.x86_64-unknown-linux-gnu/ami_stream.o] Error 1

in raster/r.terraflow:

$ make
c++ -c 
-I/home/shoofi/src/straight/grass64/dist.x86_64-unknown-linux-gnu/include 
  -pipe -march=core2 -g -Wall   -DUSER=\"shoofi\" -DNODATA_FIX 
-D_FILE_OFFSET_BITS=64   -DPACKAGE=\""grassmods"\" -DELEV_FLOAT 
common.cc -o OBJ.x86_64-unknown-linux-gnu/FLOAT/common.o
In file included from 
/home/shoofi/src/straight/grass64/dist.x86_64-unknown-linux-gnu/include/grass/iostream/ami.h:27,
                  from common.h:27,
                  from common.cc:35:
/home/shoofi/src/straight/grass64/dist.x86_64-unknown-linux-gnu/include/grass/iostream/ami_stream.h: 
In constructor 'AMI_STREAM<T>::AMI_STREAM(const char*, AMI_stream_type)':
/home/shoofi/src/straight/grass64/dist.x86_64-unknown-linux-gnu/include/grass/iostream/ami_stream.h:256: 
error: there are no arguments to 'strcpy' that depend on a template 
parameter, so a declaration of 'strcpy' must be available
/home/shoofi/src/straight/grass64/dist.x86_64-unknown-linux-gnu/include/grass/iostream/ami_stream.h:256: 
error: (if you use '-fpermissive', G++ will accept your code, but 
allowing the use of an undeclared name is deprecated)
/home/shoofi/src/straight/grass64/dist.x86_64-unknown-linux-gnu/include/grass/iostream/ami_stream.h: 
In member function 'AMI_err AMI_STREAM<T>::name(char**)':
/home/shoofi/src/straight/grass64/dist.x86_64-unknown-linux-gnu/include/grass/iostream/ami_stream.h:373: 
error: there are no arguments to 'strlen' that depend on a template 
parameter, so a declaration of 'strlen' must be available
/home/shoofi/src/straight/grass64/dist.x86_64-unknown-linux-gnu/include/grass/iostream/ami_stream.h:374: 
error: there are no arguments to 'strcpy' that depend on a template 
parameter, so a declaration of 'strcpy' must be available
In file included from 
/home/shoofi/src/straight/grass64/dist.x86_64-unknown-linux-gnu/include/grass/iostream/ami_sort_impl.h:25,
                  from 
/home/shoofi/src/straight/grass64/dist.x86_64-unknown-linux-gnu/include/grass/iostream/ami_sort.h:23,
                  from 
/home/shoofi/src/straight/grass64/dist.x86_64-unknown-linux-gnu/include/grass/iostream/ami.h:33,
                  from common.h:27,
                  from common.cc:35:
/home/shoofi/src/straight/grass64/dist.x86_64-unknown-linux-gnu/include/grass/iostream/mem_stream.h: 
In member function 'AMI_err MEM_STREAM<T>::name(char**)':
/home/shoofi/src/straight/grass64/dist.x86_64-unknown-linux-gnu/include/grass/iostream/mem_stream.h:90: 
error: there are no arguments to 'strlen' that depend on a template 
parameter, so a declaration of 'strlen' must be available
/home/shoofi/src/straight/grass64/dist.x86_64-unknown-linux-gnu/include/grass/iostream/mem_stream.h:91: 
error: there are no arguments to 'strcpy' that depend on a template 
parameter, so a declaration of 'strcpy' must be available
make: *** [OBJ.x86_64-unknown-linux-gnu/FLOAT/common.o] Error 1

Maciek

-- 
Maciej Sieczka
www.sieczka.org


More information about the grass-dev mailing list