Boost logo

Geometry :

Subject: [ggl] Problem intersecting linestring & polygon in Xcode 3.2.2
From: Mateusz Loskot (mateusz)
Date: 2010-04-09 18:59:27


Scott K Warren wrote:
>> Could you try to build this example again? I'd expect it compiles
>> without
>> any problem. I compile it successfully using GCC 4.4.1 in Linux:
>
> Mateusz,
>
> I'm afraid not. I checked out the current (61170) version of the 'example'
> directory and built the example from the command line as you suggested,
> but I got exactly the same "apply is not a member of get_turns" error that
> I'm seeing in Xcode. I've attached the command line output here.

Scott,

It is interesting indeed. I'll check the output and investigate this problem.

> Both in and out of Xcode, the version of gcc used is 4.2.1. I see that
> this is quite a bit older than the 4.4.1 you tried this with. Do you think
> the compile error is a problem in gcc 4.2.1?

I wouldn't expect it to be a problem, but it might be, we will see.
In any case, 4.2.1 is a fairly recent implementation and we are interested
in supporting it, of course.

> I don't think it is practical to use a later version of gcc in Xcode, and
> for me it would not be attractive to build GGL from the command line. So
> I'm interested in a fix or workaround for this problem using gcc 4.2.1. I
> think all Mac developers will share this interest. If it's not a priority
> for the GGL developers I'm happy to take a shot myself, but I could really
> use some hints -- right now I'm stumped.

The problem is unrelated to the manner of executing compilation process
for the example program we're investigating.
I suggested to call bjam from Boost.Build because it's easier to expalain
a short command than explaining XCode-specific project configuration, etc.
Also, bjam is a native and official builder used by Boost projects, so
Boost.Geometry being a part of Boost does provide Jamfile files for examples
and test programs, so users can execute compilation using bjam tool.

However, as I've mentioned, it does not matter how compilation is executed,
you can call bjam, you can call g++ from command line providing a long
string with necessary flags or you can create and configure XCode project
and add the example, or you can even write your own makefile for GNU make
or CMakeLists.txt file for CMake. The problem is related to how GCC compiler
recognises some source code in Boost.Geometry, so there is a bug in
Boost.Geometry or a problem with compiler itself, which is irrelevant to
how compiler is executed.

I hope my explanation makes sense.

Anyway, I'll try to find what's the problem and perhaps I'll install GCC
4.2.x to check myself.

Best regards,

-- 
Mateusz Loskot
http://mateusz.loskot.net

Geometry list run by mateusz at loskot.net