#949: strings.h error when compiling recent versions of nviz
-----------------------------------------------+----------------------------
 Reporter:  jkaplan                            |       Owner:  
[email protected]
     Type:  defect                             |      Status:  new              
        
 Priority:  normal                             |   Milestone:  6.4.0            
        
Component:  NVIZ                               |     Version:  svn-develbranch6 
        
 Keywords:  grass6_wxnviz.i, strcasecmp, fink  |    Platform:  MacOSX           
        
      Cpu:  OSX/Intel                          |  
-----------------------------------------------+----------------------------
 Hello GRASS developers,

 When trying to compile recent versions of GRASS (v.6 development branch or
 GRASS 7) I encountered an error during compilation of nviz related to the
 function 'strcasecmp' which seems to be included through several layers of
 the wxgtk libraries.  Please see the command line output below.

 {{{
 ad...@abies:~/Downloads/grass6/grass6_devel/gui/wxpython/nviz > make
 python setup.py build_ext --swig=/sw/bin/swig --swig-opts=-c++ --build-
 lib=OBJ.i386-apple-darwin10.2.0 --build-temp=OBJ.i386-apple-darwin10.2.0
 running build_ext
 building '_grass6_wxnviz' extension
 swigging grass6_wxnviz.i to grass6_wxnviz_wrap.cpp
 /sw/bin/swig -python -c++ -o grass6_wxnviz_wrap.cpp grass6_wxnviz.i
 gcc -fno-strict-aliasing -mno-fused-madd -DNDEBUG -g -fwrapv -O3 -Wall
 -Wstrict-prototypes -DPACKAGE="grasslibs" -D_FILE_OFFSET_BITS=64
 -D_LARGE_FILES -D__WXGTK__
 -I/Users/admin/Downloads/grass6/grass6_devel/dist.i386-apple-
 darwin10.2.0/include
 -I/Library/Frameworks/GDAL.framework/Versions/1.6/Headers
 -I/sw/lib/wx/include/gtk2-unicode-release-2.8 -I/sw/include/wx-2.8
 -I/usr/X11/include -I/usr/X11R6/include -I/sw/include/python2.5 -c
 grass6_wxnviz_wrap.cpp -o OBJ.i386-apple-darwin10.2.0/grass6_wxnviz_wrap.o
 cc1plus: warning: command line option "-Wstrict-prototypes" is valid for
 C/ObjC but not for C++
 In file included from /sw/include/wx-2.8/wx/memory.h:16,
                  from /sw/include/wx-2.8/wx/object.h:20,
                  from /sw/include/wx-2.8/wx/wx.h:16,
                  from nviz.h:23,
                  from grass6_wxnviz_wrap.cpp:2612:
 /sw/include/wx-2.8/wx/string.h: In function 'int Stricmp(const char*,
 const char*)':
 /sw/include/wx-2.8/wx/string.h:141: error: 'strcasecmp' was not declared
 in this scope
 error: command 'gcc' failed with exit status 1
 make: *** [OBJ.i386-apple-darwin10.2.0/_grass6_wxnviz.so] Error 1
 }}}

 ----

 I am not experienced enough of a programmer to know the "right" way to
 solve this problem, but I was able to make a workaround by modifying the
 file grass6_devel/gui/wxpython/nviz/grass6_wxnviz.i to include the
 statement #include <strings.h>

 The first lines of grass6_wxnviz.i in my patched version (which does
 compile)  look like this:

 {{{
 /* File: nviz.i */

 %module grass6_wxnviz
 %{
 #include <strings.h>
 #include "nviz.h"
 #include <grass/gsurf.h>
 #include <grass/gstypes.h>
 #undef check
 %}
 }}}
 etc...

-- 
Ticket URL: <http://trac.osgeo.org/grass/ticket/949>
GRASS GIS <http://grass.osgeo.org>
_______________________________________________
grass-dev mailing list
[email protected]
http://lists.osgeo.org/mailman/listinfo/grass-dev

Reply via email to