[GRASS-dev] r.viewshed does not compile in GRASS 7 either

William Kyngesburye woklist at kyngchaos.com
Mon Sep 3 14:42:13 PDT 2012


Just tried something - it's definitely a clang problem.  Probably more strict, as I thought, about some C++ stuff by default.

It was working for me because of how Apple has the dev tools set up and how GRASS configure detects cc/c++.  For me, on Lion/Xcode 4.3, I have a bunch of symlinks:

/usr/bin/cc -> /usr/bin/clang
/usr/bin/c++ -> /usr/bin/clang
/usr/bin/gcc -> /usr/llvm-gcc-4.2/bin/llvm-gcc-4.2
/usr/bin/g++ -> /usr/llvm-gcc-4.2/bin/llvm-g++-4.2

And it appears that GRASS is preferring gcc/g++ in configuration.  llvm, as I understand, is more of an intermediate compiler made to closely emulate gcc behavior.

Maybe on Mt Lion, those symlinks are different so that GRASS uses clang instead of llvm.  It's possible I have leftovers from a previous Xcode.

What did GRASS find for CC and CXX?  (see include/make/platform.make)

What do you have for the /usr/bin compilers?

On Sep 3, 2012, at 4:15 PM, Michael Barton wrote:

> r.viewshed and r.terraflow problems in compiling seem to have the same cause
> 
> Michael
> 
> Begin forwarded message:
> 
>> From: William Kyngesburye <kyngchaos at kyngchaos.com>
>> Subject: Re: r.viewshed does not compile in GRASS 7 either
>> Date: September 3, 2012 2:10:02 PM MST
>> To: Michael Barton <michael.barton at asu.edu>
>> 
>> same error as the r.terraflow error you found a few days ago ;)
>> 
>> On Sep 3, 2012, at 4:02 PM, Michael Barton wrote:
>> 
>>> So r.viewshed doesn't compile either now (probably didn't a few days ago, but I didn't see it because of all the temporal module errors. I just did a ticket.
>>> 
>>> Michael
>>> 
>>> Here is the error:
>>> 
>>> Last login: Mon Sep  3 13:55:06 on ttys000
>>> Michaels-MacBook-Air:~ cmbarton$ cd /Users/Shared/grass_dev/grass70_dev/raster/r.viewshed
>>> Michaels-MacBook-Air:r.viewshed cmbarton$ make
>>> c++  -arch i386 -isysroot /Developer/SDKs/MacOSX10.6.sdk  -I/Users/Shared/grass_dev/grass70_dev/dist.x86_64-apple-darwin12.1.0/include -I/Users/Shared/grass_dev/grass70_dev/dist.x86_64-apple-darwin12.1.0/include  -D_FILE_OFFSET_BITS=64 -DUSER=\"cmbarton\" -Wno-sign-compare -DPACKAGE=\""grassmods"\"   -I/Users/Shared/grass_dev/grass70_dev/dist.x86_64-apple-darwin12.1.0/include -I/Users/Shared/grass_dev/grass70_dev/dist.x86_64-apple-darwin12.1.0/include -o OBJ.x86_64-apple-darwin12.1.0/distribute.o -c distribute.cpp
>>> In file included from distribute.cpp:52:
>>> In file included from /Users/Shared/grass_dev/grass70_dev/dist.x86_64-apple-darwin12.1.0/include/grass/iostream/ami.h:56:
>>> In file included from /Users/Shared/grass_dev/grass70_dev/dist.x86_64-apple-darwin12.1.0/include/grass/iostream/empq_impl.h:43:
>>> In file included from /Users/Shared/grass_dev/grass70_dev/dist.x86_64-apple-darwin12.1.0/include/grass/iostream/empq.h:51:
>>> /Users/Shared/grass_dev/grass70_dev/dist.x86_64-apple-darwin12.1.0/include/grass/iostream/embuffer.h:1140:56: error: 
>>>      default arguments cannot be added to an out-of-line definition of a member
>>>      of a class template
>>> long em_buffer<T,Key>::insert(AMI_STREAM<T>* str, long bos=0) {
>>>                                                       ^   ~
>>> In file included from distribute.cpp:52:
>>> In file included from /Users/Shared/grass_dev/grass70_dev/dist.x86_64-apple-darwin12.1.0/include/grass/iostream/ami.h:56:
>>> In file included from /Users/Shared/grass_dev/grass70_dev/dist.x86_64-apple-darwin12.1.0/include/grass/iostream/empq_impl.h:43:
>>> In file included from /Users/Shared/grass_dev/grass70_dev/dist.x86_64-apple-darwin12.1.0/include/grass/iostream/empq.h:53:
>>> /Users/Shared/grass_dev/grass70_dev/dist.x86_64-apple-darwin12.1.0/include/grass/iostream/minmaxheap.h:512:7: error: 
>>>      reference to non-static member function must be called; did you mean to
>>>      call it with no arguments?
>>>  if (size) {
>>>      ^~~~
>>>          ()

-----
William Kyngesburye <kyngchaos*at*kyngchaos*dot*com>
http://www.kyngchaos.com/

"I ache, therefore I am.  Or in my case - I am, therefore I ache."

- Marvin




More information about the grass-dev mailing list