OSGeo / grass

GRASS GIS - free and open-source geospatial processing engine
https://grass.osgeo.org
Other
849 stars 308 forks source link

[Bug] Successfully built but failed to install using checkinstall #563

Open jiapei100 opened 4 years ago

jiapei100 commented 4 years ago

I've successfully built grass 7.8.2, but failed to install using checkinstall at the final step. It looks sudo make install works... but sudo checkinsta failed...

Installing with make install...

========================= Installation results ===========================
....../grass/bin.x86_64-pc-linux-gnu/grass79
make install-check-built
make[1]: Entering directory '....../grass'
make[1]: Leaving directory '....../grass'
make install-check-parent
make[1]: Entering directory '....../grass'
make[1]: Leaving directory '....../grass'
make install-check-writable
make[1]: Entering directory '....../grass'
make[1]: Leaving directory '....../grass'
make install-check-prefix
make[1]: Entering directory '....../grass'
make[1]: Leaving directory '....../grass'
make real-install
make[1]: Entering directory '....../grass'
tar cBCf ....../grass/dist.x86_64-pc-linux-gnu - . | tar xBCf /usr/local/grass79 - 2>/dev/null
tar: ./demolocation/.grassrc79: File removed before we read it
tar: ./demolocation/PERMANENT: File removed before we read it
tar: ./docs/html: File removed before we read it
tar: ./docs/man: File removed before we read it
tar: ./driver/db: File removed before we read it
tar: ./etc/d.mon/render_cmd.py: File removed before we read it
tar: ./etc/d.polar/ps_defs.eps: File removed before we read it
tar: ./etc/db.test/test1: File removed before we read it
tar: ./etc/g.bands/landsat.json: File removed before we read it
tar: ./etc/g.bands/sentinel.json: File removed before we read it
tar: ./etc/lister/cell: File removed before we read it
tar: ./etc/lister/vector: File removed before we read it
tar: ./etc/paint/decorations: File removed before we read it
tar: ./etc/paint/patterns: File removed before we read it
tar: ./etc/paint/prolog.ps: File removed before we read it
tar: ./etc/python/grass: File removed before we read it
tar: ./etc/r.watershed/ram: File removed before we read it
tar: ./etc/r.watershed/seg: File removed before we read it
tar: ./etc/symbol/demo/muchomurka: File removed before we read it
tar: ./etc/symbol/demo/smrk: File removed before we read it
tar: ./etc/symbol/legend/area: File removed before we read it
tar: ./etc/symbol/legend/area_curved: File removed before we read it
tar: ./etc/symbol/legend/line: File removed before we read it
tar: ./etc/symbol/legend/line_crooked: File removed before we read it
tar: ./gui/icons: File removed before we read it
tar: ./gui/images: File removed before we read it
tar: ./gui/scripts: File removed before we read it
tar: ./gui/wxpython: File removed before we read it
tar: ./gui/xml: File removed before we read it
tar: ./include/grass: File removed before we read it
tar: ./include/Make: File removed before we read it
tar: ./locale/ar/LC_MESSAGES: File removed before we read it
tar: ./locale/bn/LC_MESSAGES: File removed before we read it
tar: ./locale/cs/LC_MESSAGES: File removed before we read it
tar: ./locale/de/LC_MESSAGES: File removed before we read it
tar: ./locale/el/LC_MESSAGES: File removed before we read it
tar: ./locale/es/LC_MESSAGES: File removed before we read it
tar: ./locale/fi/LC_MESSAGES: File removed before we read it
tar: ./locale/fr/LC_MESSAGES: File removed before we read it
tar: ./locale/hu/LC_MESSAGES: File removed before we read it
tar: ./locale/id_ID/LC_MESSAGES: File removed before we read it
tar: ./locale/it/LC_MESSAGES: File removed before we read it
tar: ./locale/ja/LC_MESSAGES: File removed before we read it
tar: ./locale/ko/LC_MESSAGES: File removed before we read it
tar: ./locale/lv/LC_MESSAGES: File removed before we read it
tar: ./locale/ml/LC_MESSAGES: File removed before we read it
tar: ./locale/pl/LC_MESSAGES: File removed before we read it
tar: ./locale/pt/LC_MESSAGES: File removed before we read it
tar: ./locale/pt_BR/LC_MESSAGES: File removed before we read it
tar: ./locale/ro/LC_MESSAGES: File removed before we read it
tar: ./locale/ru/LC_MESSAGES: File removed before we read it
tar: ./locale/si/LC_MESSAGES: File removed before we read it
tar: ./locale/sl/LC_MESSAGES: File removed before we read it
tar: ./locale/ta/LC_MESSAGES: File removed before we read it
tar: ./locale/th/LC_MESSAGES: File removed before we read it
tar: ./locale/tr/LC_MESSAGES: File removed before we read it
tar: ./locale/uk/LC_MESSAGES: File removed before we read it
tar: ./locale/vi/LC_MESSAGES: File removed before we read it
tar: ./locale/zh/LC_MESSAGES: File removed before we read it
tar: ./locale/zh_CN/LC_MESSAGES: File removed before we read it
tar: ./share/applications: File removed before we read it
tar: ./share/icons: File removed before we read it
tar: ./share/metainfo: File removed before we read it
tar: ./tools/__pycache__/ggroff.cpython-36.pyc: File removed before we read it
tar: ./tools/__pycache__/ghtml.cpython-36.pyc: File removed before we read it
rm /usr/local/grass79/grass79.tmp
make /usr/local/bin/grass79
make[2]: Entering directory '....../grass'
make[2]: '/usr/local/bin/grass79' is up to date.
make[2]: Leaving directory '....../grass'
rm /usr/local/grass79/etc/fontcap
make /usr/local/grass79/etc/fontcap
make[2]: Entering directory '....../grass'
sed -e 's#....../grass/dist.x86_64-pc-linux-gnu#/usr/local/grass79#g' ....../grass/dist.x86_64-pc-linux-gnu/etc/fontcap > /usr/local/grass79/etc/fontcap
make[2]: Leaving directory '....../grass'
rm /usr/local/grass79/demolocation/.grassrc79
make /usr/local/grass79/demolocation/.grassrc79
make[2]: Entering directory '....../grass'
sed -e 's#....../grass/dist.x86_64-pc-linux-gnu#/usr/local/grass79#g' ....../grass/dist.x86_64-pc-linux-gnu/demolocation/.grassrc79 > /usr/local/grass79/demolocation/.grassrc79
make[2]: Leaving directory '....../grass'
rm /usr/local/grass79/include/Make/Platform.make
rm: cannot remove '/usr/local/grass79/include/Make/Platform.make': No such file or directory
include/Make/Install.make:100: recipe for target 'real-install' failed
make[1]: [real-install] Error 1 (ignored)
make /usr/local/grass79/include/Make/Platform.make
make[2]: Entering directory '....../grass'
sed -e 's#^\(GRASS_HOME.[^=]*\).*#\1= /usr/local/grass79#g' -e 's#....../grass/dist.x86_64-pc-linux-gnu#/usr/local/grass79#g' ....../grass/dist.x86_64-pc-linux-gnu/include/Make/Platform.make > /usr/local/grass79/include/Make/Platform.make
/bin/sh: 1: cannot create /usr/local/grass79/include/Make/Platform.make: Directory nonexistent
include/Make/Install.make:154: recipe for target '/usr/local/grass79/include/Make/Platform.make' failed
make[2]: *** [/usr/local/grass79/include/Make/Platform.make] Error 2
make[2]: Leaving directory '....../grass'
include/Make/Install.make:100: recipe for target 'real-install' failed
make[1]: *** [real-install] Error 2
make[1]: Leaving directory '....../grass'
include/Make/Install.make:34: recipe for target 'install' failed
make: *** [install] Error 2

****  Installation failed. Aborting package creation.

Restoring overwritten files from backup...OK

Cleaning up...OK

Bye.
neteler commented 4 years ago

I suppose you refer to https://wiki.debian.org/CheckInstall ?

It doesn't seem to be actively maintained any more (http://checkinstall.izto.org/) and would probably require changes in the Makefile system of GRASS GIS. Does anyone have experience with checkinstall?

ninsbl commented 4 years ago

I used checkinstall to install GRASS quite a bit on Ubuntu. Without issues. So, it should not require changes in the build system.

The way the directory is specified: '....../grass' seems a bit odd, and my first guess would be that the issue is related to that. @jiapei100 , can you provide a more reproducible example (which steps do you use)?

neteler commented 3 years ago

Can anyone pls check with GRASS GIS 7.8.6 if the bug has been fixed?