[GRASS-dev] 6.4 Nviz Windows problems

I had a problem compiling nviz from the 6.4 release branch on Windows, with unrecognised Tcl/Tk symbols. Reverting r32244 to put the Tcl/Tk library flags in among the other library linking flags seems to fix it:
http://trac.osgeo.org/grass/changeset/32244
I haven't committed as I don't understand the reason for that change.

Trying to run nviz brings up a further error - see attached - unfortunately no time to look into it further now.

Paul

(attachments)

nviz_error.png

Paul Kelly wrote:

I had a problem compiling nviz from the 6.4 release branch on Windows,
with unrecognised Tcl/Tk symbols. Reverting r32244 to put the Tcl/Tk
library flags in among the other library linking flags seems to fix it:
http://trac.osgeo.org/grass/changeset/32244
I haven't committed as I don't understand the reason for that change.

$(XTRA_LDFLAGS) definitely should go after $(ARCH_OBJS) and
$(SURFLIB). Otherwise, it won't work if either the Tcl/Tk or OpenGL
libraries are static libraries.

Trying to run nviz brings up a further error - see attached -
unfortunately no time to look into it further now.

I can't reproduce this. Does the file appear to be valid?

--
Glynn Clements <glynn@gclements.plus.com>

On Mon, Dec 22, 2008 at 4:44 AM, Glynn Clements
<glynn@gclements.plus.com> wrote:

Paul Kelly wrote:

I had a problem compiling nviz from the 6.4 release branch on Windows,
with unrecognised Tcl/Tk symbols. Reverting r32244 to put the Tcl/Tk
library flags in among the other library linking flags seems to fix it:
http://trac.osgeo.org/grass/changeset/32244
I haven't committed as I don't understand the reason for that change.

$(XTRA_LDFLAGS) definitely should go after $(ARCH_OBJS) and
$(SURFLIB). Otherwise, it won't work if either the Tcl/Tk or OpenGL
libraries are static libraries.

Attempt to fix in
r34993 (6.4.svn) and
34994 (6.4.0svn)

Markus

On Mon, 22 Dec 2008, Glynn Clements wrote:

Paul Kelly wrote:

I had a problem compiling nviz from the 6.4 release branch on Windows,
with unrecognised Tcl/Tk symbols. Reverting r32244 to put the Tcl/Tk
library flags in among the other library linking flags seems to fix it:
http://trac.osgeo.org/grass/changeset/32244
I haven't committed as I don't understand the reason for that change.

$(XTRA_LDFLAGS) definitely should go after $(ARCH_OBJS) and
$(SURFLIB). Otherwise, it won't work if either the Tcl/Tk or OpenGL
libraries are static libraries.

Yes, I was using static Tcl/Tk. Markus has fixed this now and I can confirm the fix works.

Trying to run nviz brings up a further error - see attached -
unfortunately no time to look into it further now.

I can't reproduce this. Does the file appear to be valid?

No - it's not there actually. Didn't take much further looking into... the culprit seems to be r32173:
http://trac.osgeo.org/grass/changeset/32173
(-L option added to find command-line). The Msys find doesn't seem to have the -L option - but perhaps it is just a version issue? find --version reports:
GNU find version 4.1

Paul

Paul Kelly wrote:

>> I had a problem compiling nviz from the 6.4 release branch on Windows,
>> with unrecognised Tcl/Tk symbols. Reverting r32244 to put the Tcl/Tk
>> library flags in among the other library linking flags seems to fix it:
>> http://trac.osgeo.org/grass/changeset/32244
>> I haven't committed as I don't understand the reason for that change.
>
> $(XTRA_LDFLAGS) definitely should go after $(ARCH_OBJS) and
> $(SURFLIB). Otherwise, it won't work if either the Tcl/Tk or OpenGL
> libraries are static libraries.

Yes, I was using static Tcl/Tk. Markus has fixed this now and I can
confirm the fix works.

>> Trying to run nviz brings up a further error - see attached -
>> unfortunately no time to look into it further now.
>
> I can't reproduce this. Does the file appear to be valid?

No - it's not there actually. Didn't take much further looking into... the
culprit seems to be r32173:
http://trac.osgeo.org/grass/changeset/32173
(-L option added to find command-line). The Msys find doesn't seem to have
the -L option - but perhaps it is just a version issue? find --version
reports:
GNU find version 4.1

FWIW, -L is POSIX:

  http://www.opengroup.org/onlinepubs/009695399/utilities/find.html

It may be that MSys dropped the option due to Windows not having
symlinks, although silently ignoring it would have been better.

7.0 uses $(wildcard ...) instead of "find". That could be used, or
alternatively:

ifneq ($(strip $(MINGW)),)
  FIND = find
else
  FIND = find -L
endif

--
Glynn Clements <glynn@gclements.plus.com>

On Tue, 23 Dec 2008, Glynn Clements wrote:

Trying to run nviz brings up a further error - see attached -
unfortunately no time to look into it further now.

I can't reproduce this. Does the file appear to be valid?

No - it's not there actually. Didn't take much further looking into... the
culprit seems to be r32173:
http://trac.osgeo.org/grass/changeset/32173
(-L option added to find command-line). The Msys find doesn't seem to have
the -L option - but perhaps it is just a version issue? find --version
reports:
GNU find version 4.1

FWIW, -L is POSIX:

  http://www.opengroup.org/onlinepubs/009695399/utilities/find.html

It may be that MSys dropped the option due to Windows not having
symlinks, although silently ignoring it would have been better.

7.0 uses $(wildcard ...) instead of "find". That could be used, or
alternatively:

ifneq ($(strip $(MINGW)),)
  FIND = find
else
  FIND = find -L
endif

I've committed the second solution and this is fixed now.

No other pressing problems for 6.4.0 on Windows as far as I can see.

Paul