[GRASS-user] Recovering from a build error

   Very infrequently, when building a new executable from updated source code
from the 7.3.svn trunk I'll get an error such as today's:

Errors in:
/home/rshepard/gis/grass/grass7_trunk/scripts/d.rast.edit
--
In case of errors please change into the directory with error and run 'make'.

   When I cd to scripts/ and run make it completes without errors. Because it
has been so long since make has thrown an error I've forgotten how to
proceed. If I 'make distclean' and start over by configuring and making I
get the same error.

   Cd'ing back to grass7_trunk/ and running 'make' again still generates an
error in the same file:

GRASS GIS 7.3.svn r71491 compilation log
--------------------------------------------------
Started compilation: Fri Sep 15 09:27:55 PDT 2017
--
Errors in:
/home/rshepard/gis/grass/grass7_trunk/scripts/d.rast.edit
--
In case of errors please change into the directory with error and run 'make'.
If you get multiple errors, you need to deal with them in the order they
appear in the error log. If you get an error building a library, you will
also get errors from anything which uses the library.
--
Finished compilation: Fri Sep 15 09:28:23 PDT 2017
Makefile:57: recipe for target 'default' failed
make: *** [default] Error 1

   A reminder is needed.

TIA,

Rich

Hi Rich,
Not a solution, but you can run the 'make' with the '-i' flag to ignore errors [1].
After compilation you can manually test d.rast.edit command to see if it run fine.
[1] https://www.gnu.org/software/make/manual/html_node/Options-Summary.html

Best regards,

Andrea Balotti

Il 15/09/2017 18:31, Rich Shepard ha scritto:

  Very infrequently, when building a new executable from updated source code
from the 7.3.svn trunk I'll get an error such as today's:

Errors in:
/home/rshepard/gis/grass/grass7_trunk/scripts/d.rast.edit
--
In case of errors please change into the directory with error and run 'make'.

  When I cd to scripts/ and run make it completes without errors. Because it
has been so long since make has thrown an error I've forgotten how to
proceed. If I 'make distclean' and start over by configuring and making I
get the same error.

  Cd'ing back to grass7_trunk/ and running 'make' again still generates an
error in the same file:

GRASS GIS 7.3.svn r71491 compilation log
--------------------------------------------------
Started compilation: Fri Sep 15 09:27:55 PDT 2017
--
Errors in:
/home/rshepard/gis/grass/grass7_trunk/scripts/d.rast.edit
--
In case of errors please change into the directory with error and run 'make'.
If you get multiple errors, you need to deal with them in the order they
appear in the error log. If you get an error building a library, you will
also get errors from anything which uses the library.
--
Finished compilation: Fri Sep 15 09:28:23 PDT 2017
Makefile:57: recipe for target 'default' failed
make: *** [default] Error 1

  A reminder is needed.

TIA,

Rich
_______________________________________________
grass-user mailing list
grass-user@lists.osgeo.org
https://lists.osgeo.org/mailman/listinfo/grass-user

On Sun, 17 Sep 2017, AB wrote:

Not a solution, but you can run the 'make' with the '-i' flag to ignore errors [1].
After compilation you can manually test d.rast.edit command to see if it run fine.
[1] https://www.gnu.org/software/make/manual/html_node/Options-Summary.html

Andrea,

   Thanks. I may try that. I've run grass since 4.0 and this is the first
time I've hit an error that won't fix.

   I'll do another 'svn up' and see if that fixes the issue.

Best regards,

Rich

Rich,

You wrote:

Errors in:
/home/rshepard/gis/grass/grass7_trunk/scripts/d.rast.edit

In case of errors please change into the directory with error and run ‘make’.

did you actually go into that directly and run ‘make’ therein? From your initial report I understand that you tried only in the parent directory…

Markus

On Sun, 17 Sep 2017, Markus Neteler wrote:

Errors in:
/home/rshepard/gis/grass/grass7_trunk/scripts/d.rast.edit
--
In case of errors please change into the directory with error and run
'make'.

did you actually go into that directly and run 'make' therein? From your
initial report I understand that you tried only in the parent directory...

Markus,

   I guess I was only in scripts/ thinking d.rast.edit was a file. It's been
that sort of a week for me. :frowning:

Thanks,

Rich

On Sun, 17 Sep 2017, Markus Neteler wrote:

Errors in:
/home/rshepard/gis/grass/grass7_trunk/scripts/d.rast.edit
--
In case of errors please change into the directory with error and run
'make'.

Markus,

   Just did this and found the reason for the error:

Fatal Error: Mismatch between the program and library build versions detected.
The library used 3.0 (wchar_t,compiler with C++ ABI 1009,wx containers,compatible with 2.8),
and wxPython used 3.0 (wchar_t,compiler with C++ ABI 1002,wx containers,compatible with 2.8).
../../include/Make/Html.make:14: recipe for target 'd.rast.edit.tmp.html' failed
make: *** [d.rast.edit.tmp.html] Error 1
rm d.rast.edit.tmp.html

   I've been using wxPython-3.0.2.0 to build grass 7.3.svn for quite a while
now and ~/.bash_profile tells grass that's what's available:

export GRASS_WXVERSION=3.0.2.0

   Can grass be adjusted to use 3.0 as well as 2.8?

Thanks,

Rich

On Sun, 17 Sep 2017, Rich Shepard wrote:

Fatal Error: Mismatch between the program and library build versions detected.
The library used 3.0 (wchar_t,compiler with C++ ABI 1009,wx containers,compatible with 2.8),
and wxPython used 3.0 (wchar_t,compiler with C++ ABI 1002,wx containers,compatible with 2.8).
../../include/Make/Html.make:14: recipe for target 'd.rast.edit.tmp.html' failed
make: *** [d.rast.edit.tmp.html] Error 1
rm d.rast.edit.tmp.html

I've been using wxPython-3.0.2.0 to build grass 7.3.svn for quite a while
now and ~/.bash_profile tells grass that's what's available:

export GRASS_WXVERSION=3.0.2.0

Can grass be adjusted to use 3.0 as well as 2.8?

   Because using wxPython-3.0.2.0 has not before been an issue when building
7.3.svn what might have changed in d.rast.edit.tmp.html to not build with
this wxPython version? I would appreciate having this fixed. If there are
other diagnostics I can run please let me know.

Regards,

Rich

Rich,

On Tue, Sep 19, 2017 at 3:06 PM, Rich Shepard <rshepard@appl-ecosys.com> wrote:

On Sun, 17 Sep 2017, Rich Shepard wrote:

Fatal Error: Mismatch between the program and library build versions
detected.
The library used 3.0 (wchar_t,compiler with C++ ABI 1009,wx
containers,compatible with 2.8),
and wxPython used 3.0 (wchar_t,compiler with C++ ABI 1002,wx
containers,compatible with 2.8).
../../include/Make/Html.make:14: recipe for target 'd.rast.edit.tmp.html'
failed
make: *** [d.rast.edit.tmp.html] Error 1
rm d.rast.edit.tmp.html

I've been using wxPython-3.0.2.0 to build grass 7.3.svn for quite a while
now and ~/.bash_profile tells grass that's what's available:

export GRASS_WXVERSION=3.0.2.0

Can grass be adjusted to use 3.0 as well as 2.8?

  Because using wxPython-3.0.2.0 has not before been an issue when building
7.3.svn what might have changed in d.rast.edit.tmp.html to not build with
this wxPython version? I would appreciate having this fixed. If there are
other diagnostics I can run please let me know.

FWIW: I am using here on my Fedora box:

python2-wxpython-3.0.2.0-19.fc26.x86_64

But GRASS_WXVERSION I keep unset. Works fine.

Regards,
Markus

On Tue, 19 Sep 2017, Markus Neteler wrote:

FWIW: I am using here on my Fedora box:
python2-wxpython-3.0.2.0-19.fc26.x86_64
But GRASS_WXVERSION I keep unset. Works fine.

Markus,

   Unsetting GRASS_WXVERSION here made no difference. And, as I wrote, I've
not had any issues like this come up before now. Here are the results of
running 'make' in the ../source/d.rast.edit/ directory after the build
halted:

$ make if [
"/home/rshepard/gis/grass/grass7_trunk/dist.i686-pc-linux-gnu/scripts/d.rast.edit"
!= "" ] ; then
GISRC=/home/rshepard/gis/grass/grass7_trunk/dist.i686-pc-linux-gnu/demolocation/.grassrc73
GISBASE=/home/rshepard/gis/grass/grass7_trunk/dist.i686-pc-linux-gnu
PATH="/home/rshepard/gis/grass/grass7_trunk/dist.i686-pc-linux-gnu/bin:/home/rshepard/gis/grass/grass7_trunk/dist.i686-pc-linux-gnu/bin:/home/rshepard/gis/grass/grass7_trunk/dist.i686-pc-linux-gnu/scripts:$PATH"
PYTHONPATH="/home/rshepard/gis/grass/grass7_trunk/dist.i686-pc-linux-gnu/etc/python:/home/rshepard/gis/grass/grass7_trunk/dist.i686-pc-linux-gnu/gui/wxpython:$PYTHONPATH"
LD_LIBRARY_PATH="/home/rshepard/gis/grass/grass7_trunk/dist.i686-pc-linux-gnu/bin:/home/rshepard/gis/grass/grass7_trunk/dist.i686-pc-linux-gnu/bin:/home/rshepard/gis/grass/grass7_trunk/dist.i686-pc-linux-gnu/scripts:/home/rshepard/gis/grass/grass7_trunk/dist.i686-pc-linux-gnu/lib:/home/rshepard/gis/grass/grass7_trunk/dist.i686-pc-linux-gnu/lib:/usr/lib/qt/lib:/usr/lib/qt/lib:"
LC_ALL=C LANG=C LANGUAGE=C
/home/rshepard/gis/grass/grass7_trunk/dist.i686-pc-linux-gnu/scripts/d.rast.edit
--html-description < /dev/null | grep -v '</body>\|</html>' >
d.rast.edit.tmp.html ; fi
Fatal Error: Mismatch between the program and library build versions detected.
The library used 3.0 (wchar_t,compiler with C++ ABI 1009,wx containers,compatible with 2.8),
and wxPython used 3.0 (wchar_t,compiler with C++ ABI 1002,wx containers,compatible with 2.8).
../../include/Make/Html.make:14: recipe for target 'd.rast.edit.tmp.html' failed
make: *** [d.rast.edit.tmp.html] Error 1
rm d.rast.edit.tmp.html

   Can you suggest what I can do to find why there's this error so I can fix
it and build grass versions?

Thanks,

Rich

On Tue, 19 Sep 2017, Rich Shepard wrote:

Here are the results of running 'make' in the ../source/d.rast.edit/
directory after the build halted:

$ make if [
"/home/rshepard/gis/grass/grass7_trunk/dist.i686-pc-linux-gnu/scripts/d.rast.edit"
!= "" ] ; then
GISRC=/home/rshepard/gis/grass/grass7_trunk/dist.i686-pc-linux-gnu/demolocation/.grassrc73
GISBASE=/home/rshepard/gis/grass/grass7_trunk/dist.i686-pc-linux-gnu
PATH="/home/rshepard/gis/grass/grass7_trunk/dist.i686-pc-linux-gnu/bin:/home/rshepard/gis/grass/grass7_trunk/dist.i686-pc-linux-gnu/bin:/home/rshepard/gis/grass/grass7_trunk/dist.i686-pc-linux-gnu/scripts:$PATH"
PYTHONPATH="/home/rshepard/gis/grass/grass7_trunk/dist.i686-pc-linux-gnu/etc/python:/home/rshepard/gis/grass/grass7_trunk/dist.i686-pc-linux-gnu/gui/wxpython:$PYTHONPATH"
LD_LIBRARY_PATH="/home/rshepard/gis/grass/grass7_trunk/dist.i686-pc-linux-gnu/bin:/home/rshepard/gis/grass/grass7_trunk/dist.i686-pc-linux-gnu/bin:/home/rshepard/gis/grass/grass7_trunk/dist.i686-pc-linux-gnu/scripts:/home/rshepard/gis/grass/grass7_trunk/dist.i686-pc-linux-gnu/lib:/home/rshepard/gis/grass/grass7_trunk/dist.i686-pc-linux-gnu/lib:/usr/lib/qt/lib:/usr/lib/qt/lib:"
LC_ALL=C LANG=C LANGUAGE=C
/home/rshepard/gis/grass/grass7_trunk/dist.i686-pc-linux-gnu/scripts/d.rast.edit
--html-description < /dev/null | grep -v '</body>\|</html>' >
d.rast.edit.tmp.html ; fi
Fatal Error: Mismatch between the program and library build versions detected.
The library used 3.0 (wchar_t,compiler with C++ ABI 1009,wx containers,compatible with 2.8),
and wxPython used 3.0 (wchar_t,compiler with C++ ABI 1002,wx containers,compatible with 2.8).
../../include/Make/Html.make:14: recipe for target 'd.rast.edit.tmp.html' failed
make: *** [d.rast.edit.tmp.html] Error 1
rm d.rast.edit.tmp.html

Markus,

   Does this suggest where I look for this new error preventing compilation?

Thanks,

Rich

Rich,

On Fri, Sep 22, 2017 at 3:02 AM, Rich Shepard <rshepard@appl-ecosys.com> wrote:

On Tue, 19 Sep 2017, Rich Shepard wrote:

Here are the results of running 'make' in the ../source/d.rast.edit/
directory after the build halted:

...

/home/rshepard/gis/grass/grass7_trunk/dist.i686-pc-linux-gnu/scripts/d.rast.edit
--html-description < /dev/null | grep -v '</body>\|</html>' >
d.rast.edit.tmp.html ; fi
Fatal Error: Mismatch between the program and library build versions
detected.
The library used 3.0 (wchar_t,compiler with C++ ABI 1009,wx
containers,compatible with 2.8),
and wxPython used 3.0 (wchar_t,compiler with C++ ABI 1002,wx
containers,compatible with 2.8).
../../include/Make/Html.make:14: recipe for target 'd.rast.edit.tmp.html'
failed
make: *** [d.rast.edit.tmp.html] Error 1
rm d.rast.edit.tmp.html

I checked in my huge inbox and found some similar old report in grass-dev.

In essence, does the error appear when you run this command?
python -c "import wx"

If yes, it is an error in the wxPython package on your system and
needs to be reported to your distro.
The same error happened time ago in Fedora:
https://bugzilla.redhat.com/show_bug.cgi?id=1217955

It got solved by repackaging wxPython in Fedora and publishing the
update over the Fedora update channel (dnf update).

Markus

On Fri, 22 Sep 2017, Markus Neteler wrote:

If yes, it is an error in the wxPython package on your system and
needs to be reported to your distro.

Markus,

   Consider me suitably chastised for missing this. Let me explain: a couple
of weeks ago I upgraded this desktop from Slackware-14.1 to -14.2. This, of
course, upgraded many libraries in the base distribution, but not those in
packages from the SlackBuilds.org repository.

   As I used various applications I encountered load errors, all of the form
'libsomething.so.xx not found.' When I checked the system for
libsomething.so I found version yy so I rebuilt and upgraded the library.
That allowed the application to load and run again.

   With grass, it was not obvious to me in the extensive error message for
d.rast.edit that wxPython-3.0.2.0 was the version built on -14.1 and it
needed to be rebuilt with -14.2. D'oh!

   Just rebuilt and re-installed wxPython-3.0.2.0 and the latest
grass-7.3.svn successfully built.

   Lesson learned.

Thanks very much,

Rich