[QGIS-trac] [Quantum GIS] #2411: FTBFS: qgsgrass.cpp + old grasses on Debian/Lenny

Quantum GIS qgis at qgis.org
Wed Feb 3 23:56:21 EST 2010


#2411: FTBFS: qgsgrass.cpp + old grasses on Debian/Lenny
------------------------------------------------+---------------------------
   Reporter:  hamish                            |              Owner:  nobody       
       Type:  bug                               |             Status:  new          
   Priority:  major: does not work as expected  |          Milestone:  Version 1.5.0
  Component:  Build/Install                     |            Version:  HEAD         
   Keywords:  grass                             |   Platform_version:  Lenny amd64  
   Platform:  Debian                            |           Must_fix:  No           
Status_info:  0                                 |  
------------------------------------------------+---------------------------
 Hi,

 I'm still trying to compile trunk on Debian/Lenny using the supplied
 debian/control.lenny + debuild. (thanks for fixing #2400)

 Now I'm getting this error:

 {{{
 [ 68%] Building CXX object
 src/providers/grass/CMakeFiles/qgisgrass.dir/qgsgrass.cpp.o
 In file included from
 /usr/local/src/qgis/svn/trunk/src/providers/grass/qgsgrass.cpp:37:
 /usr/lib/grass/include/grass/version.h:1: warning: deprecated conversion
 from string constant to 'char*'
 /usr/lib/grass/include/grass/version.h:2: warning: deprecated conversion
 from string constant to 'char*'
 /usr/lib/grass/include/grass/version.h:3: warning: deprecated conversion
 from string constant to 'char*'
 /usr/lib/grass/include/grass/version.h:4: warning: deprecated conversion
 from string constant to 'char*'
 /usr/local/src/qgis/svn/trunk/src/providers/grass/qgsgrass.cpp: In static
 member function 'static void QgsGrass::setLocation(QString, QString)':
 /usr/local/src/qgis/svn/trunk/src/providers/grass/qgsgrass.cpp:342: error:
 invalid conversion from 'const char*' to 'char*'
 /usr/local/src/qgis/svn/trunk/src/providers/grass/qgsgrass.cpp:342: error:
 initializing argument 2 of 'int G__setenv(char*, char*)'
 /usr/local/src/qgis/svn/trunk/src/providers/grass/qgsgrass.cpp:344: error:
 invalid conversion from 'const char*' to 'char*'
 /usr/local/src/qgis/svn/trunk/src/providers/grass/qgsgrass.cpp:344: error:
 initializing argument 2 of 'int G__setenv(char*, char*)'
 make[3]: *** [src/providers/grass/CMakeFiles/qgisgrass.dir/qgsgrass.cpp.o]
 Error 1
 make[3]: Leaving directory `/usr/local/src/qgis/svn/trunk/debian/build'
 make[2]: *** [src/providers/grass/CMakeFiles/qgisgrass.dir/all] Error 2
 make[2]: Leaving directory `/usr/local/src/qgis/svn/trunk/debian/build'
 make[1]: *** [all] Error 2
 make[1]: Leaving directory `/usr/local/src/qgis/svn/trunk/debian/build'
 make: *** [build-stamp] Error 2
 debuild: fatal error at line 1301:
 couldn't exec fakeroot debian/rules:
 }}}


 I have made these modifications to debian/rules:
 {{{
 $ svn diff trunk/debian/rules
 Index: trunk/debian/rules
 ===================================================================
 --- trunk/debian/rules  (revision 12870)
 +++ trunk/debian/rules  (working copy)
 @@ -22,7 +22,7 @@

  CMAKE_OPTS := \
         -Wno-dev \
 -       -D GRASS_PREFIX=/usr/lib/grass64 \
 +       -D GRASS_PREFIX=/usr/local/src/grass/svn/grass65 \
         -D CMAKE_INSTALL_PREFIX=/usr \
         -D CMAKE_SKIP_RPATH=TRUE \
         -D BINDINGS_GLOBAL_INSTALL=TRUE \
 @@ -147,12 +147,12 @@
         dh_installmime -pqgis
         dh_link
         if which dh_lintian >/dev/null; then dh_lintian; fi
 -       dh_strip
 +       #dh_strip
         dh_compress --exclude=pdf
         dh_fixperms
         dh_makeshlibs
         dh_installdeb
 -
 LD_LIBRARY_PATH=$(LD_LIBRARY_PATH):/usr/lib/grass/lib:/usr/lib/grass64/lib
 dh_shlibdeps
 +
 LD_LIBRARY_PATH=$(LD_LIBRARY_PATH):/usr/local/src/grass/svn/grass65/dist.
 x86_64-unknown-linux-gnu/lib dh_shlibdeps
         dh_gencontrol
         dh_md5sums
         dh_builddeb
 }}}


 the standard Debian/stable grass-dev package is installed (6.2.3-2.1)
 which is why /usr/lib/grass/include/grass/version.h is found. (in addition
 to about 5-6 other self-contained versions of grass on that machine)

 How to get cmake to respect GRASS_PREFIX= for the include path as well as
 the library path?


 thanks,
 Hamish

-- 
Ticket URL: <https://trac.osgeo.org/qgis/ticket/2411>
Quantum GIS <http://qgis.org>
Quantum GIS is an Open Source GIS viewer/editor supporting OGR, PostGIS, and GRASS formats


More information about the QGIS-trac mailing list