[GRASS-dev] Re: [GRASS GIS] #1568: 'make install' results in an installation dependent upon temporary build directories

GRASS GIS trac at osgeo.org
Thu Feb 9 02:06:50 EST 2012


#1568: 'make install' results in an installation dependent upon temporary build
directories
--------------------------+-------------------------------------------------
 Reporter:  helsene       |       Owner:  grass-dev@…              
     Type:  defect        |      Status:  new                      
 Priority:  normal        |   Milestone:  7.0.0                    
Component:  Installation  |     Version:  svn-trunk                
 Keywords:  make install  |    Platform:  Linux                    
      Cpu:  x86-64        |  
--------------------------+-------------------------------------------------
Changes (by hamish):

  * keywords:  => make install


Comment:

 Replying to [comment:2 helsene]:
 > I've tried the README.debian instructions, they require some
 > extra tinkering to get them going.

 (hmm, works for me..)

 > Installing per the instructions requires 'tcl' >=8.5, the
 > dependency check fails even when 'tcl8.5-dev' is installed as
 > the 'tcl' package either refers to 8.4 or is not installed.
 > 'tcl' needs to be pulled from wheezy for the README.debian
 > instructions to proceed; but that's a separate issue.

 ? both tcl8.4-dev and tcl8.5-dev are in all debians from lenny to sid. no
 need to pull anything in from another version.
  http://packages.debian.org/tcl8.4-dev
  http://packages.debian.org/tcl8.5-dev

 GRASS will work with either version, if you have one installed already you
 can edit the debian/control file to match it.

 anyway, tcl/tk can be switched off in grass7 without too many ill effects.
 (the main one is you lose access to classic nviz)


 > The 'debuild -i -uc -us -b' step in README.debian fails when
 > it tries to run 'mkdir -p /usr/lib/bin' of all things.
 >
 {{{
 > /usr/bin/make real-install
 > make[2]: Entering directory `/home/helsene/src/g7_trunk'
 > mkdir -p -m 755 /home/helsene/src/g7_trunk/debian/tmp/usr/lib/grass70
 > mkdir -p -m 755 /usr/lib/bin
 > mkdir: cannot create directory `/usr/lib/bin': Permission denied
 > make[2]: *** [/usr/lib/bin] Error 1
 > make[2]: Leaving directory `/home/helsene/src/g7_trunk'
 > make[1]: *** [install] Error 2
 > make[1]: Leaving directory `/home/helsene/src/g7_trunk'
 > make: *** [install] Error 2
 > dpkg-buildpackage: error: fakeroot debian/rules binary gave error exit
 status 2
 > debuild: fatal error at line 1325:
 > dpkg-buildpackage -rfakeroot -D -us -uc -i -b failed
 }}}

 That is new to me and I don't understand the reason for it at all.


 > So far, two methods of compiling 7.0 for a multi-user Debian
 > Squeeze install are not working with the given instructions.

 I build trunk all the time on a pretty vanilla squeeze, with no problems.
 here's the build script I use:

 (works on both grass 6.x and 7; change -march= to match your cpu model,
 see the gcc man page for options; ./configure ignores any switch which
 isn't relevant)

 {{{
 renice +17 -p $$

 # AMD 64:  -march=amdfam10

 CFLAGS="-ggdb -march=amdfam10 -Wall -Werror-implicit-function-declaration"
 \
   ./configure \
     --with-tcltk-includes=/usr/include/tcl8.5 --with-cairo \
     --with-motif --with-python=/usr/bin/python2.6-config \
     --with-readline --with-cxx --with-odbc --with-sqlite \
     --with-freetype --with-freetype-includes=/usr/include/freetype2 \
     --without-postgres --with-proj-share=/usr/share/proj \
     --enable-64bit --with-pthread -with-openmp \
     --with-wxwidgets=/usr/lib/wx/config/gtk2-unicode-release-2.8 \
     --with-geos \
     2>&1 | tee config_log.txt

 time make -j 8
 }}}

 > This 'debuild' error should probably be split into its own
 > ticket depending on where the error lies ('make real-install'
 > or the debian packaging git repo's configs). I don't know enough
 > about the install scripts to judge that.

 I do a package build of 6.4.svn on sid fairly regularly (any time I/we
 change the DebianGIS package files, and pre-release testing) and haven't
 seen that. I've never tried to package grass/trunk though, so maybe
 there's some patch it doesn't like.

 can you run grass70 from the src/bin.x86_64-.../grass7 python script? if
 so, try symlinking that into ~/bin/grass70

  * you need to edit that python script to set LD_LIBRARY_PATH to the right
 place. `make install` should do that for you (in the
 /usr/local/grass7.0.svn installed copy). wrt your original problem,
 perhaps that replacement is faulty?

 for the real-install make target's sed substitution, see
  trunk/include/Make/Install.make


 Hamish

-- 
Ticket URL: <https://trac.osgeo.org/grass/ticket/1568#comment:3>
GRASS GIS <http://grass.osgeo.org>



More information about the grass-dev mailing list