← Back to team overview

dolfin team mailing list archive

Re: CGAL triangle compilation problems.

 

This license discussion is now completely redundant. GCAL package that
were released under the QPL are moving to GPLv3+:

    http://www.cgal.org/releases.html#release4.0

Garth

On 3 February 2012 15:36, Anders Logg <logg@xxxxxxxxx> wrote:
> On Fri, Feb 03, 2012 at 02:25:53PM +0100, Johan Hake wrote:
>> On Friday February 3 2012 14:21:51 Garth N. Wells wrote:
>> > On 3 February 2012 13:15, Johan Hake <johan.hake@xxxxxxxxx> wrote:
>> > > On Friday February 3 2012 13:57:12 Johannes Ring wrote:
>> > >> On Fri, Feb 3, 2012 at 1:53 PM, Johan Hake <johan.hake@xxxxxxxxx> wrote:
>> > >> > On Friday February 3 2012 13:40:27 Garth N. Wells wrote:
>> > >> >> On 3 February 2012 11:35, Anders Logg <logg@xxxxxxxxx> wrote:
>> > >> >> > On Fri, Feb 03, 2012 at 10:13:23AM +0100, Johan Hake wrote:
>> > >> >> >> On Friday February 3 2012 10:11:10 Garth N. Wells wrote:
>> > >> >> >> > On 3 February 2012 08:38, Garth N. Wells <gnw20@xxxxxxxxx> wrote:
>> > >> >> >> > > On 2 February 2012 19:48, Johan Hake <johan.hake@xxxxxxxxx>
>> wrote:
>> > >> >> >> > >> I cannot compiled dolfin now. I am getting:
>> > >> >> >> > >>
>> > >> >> >> > >>  In file included from
>> > >> >> >> > >> /home/hake/local/include/CGAL/Triangulation_data_structure_3.
>> > >> >> >> > >> h:4 3:0 , from
>> > >> >> >> > >> /home/hake/local/include/CGAL/Triangulation_3.h:35, from
>> > >> >> >> > >> /home/hake/bzr/fenics/dolfin/work-
>> > >> >> >> > >> trunk/dolfin/generation/cgal_triangulate.h:30,
>> > >> >> >> > >>                 from /home/hake/bzr/fenics/dolfin/work-
>> > >> >> >> > >> trunk/dolfin/generation/CGALMeshBuilder.h:32,
>> > >> >> >> > >>                 from /home/hake/bzr/fenics/dolfin/work-
>> > >> >> >> > >> trunk/dolfin/generation/Triangulate.cpp:28:
>> > >> >> >> > >> /home/hake/local/include/CGAL/Triangulation_ds_cell_base_3.h:
>> > >> >> >> > >> In constructor
>> > >> >> >> > >> ‘CGAL::Triangulation_ds_cell_base_3<TDS>::Triangulation_ds_ce
>> > >> >> >> > >> ll_ bas e_3(
>> > >> >> >> > >> CGAL::Triangulation_ds_cell_base_3<TDS>::Vertex_handle,
>> > >> >> >> > >> CGAL::Triangulation_ds_cell_base_3<TDS>::Vertex_handle,
>> > >> >> >> > >> CGAL::Triangulation_ds_cell_base_3<TDS>::Vertex_handle,
>> > >> >> >> > >> CGAL::Triangulation_ds_cell_base_3<TDS>::Vertex_handle)’:
>> > >> >> >> > >> /home/hake/local/include/CGAL/Triangulation_ds_cell_base_3.h
>> > >> >> >> > >> :50
>> > >> >> >> > >>
>> > >> >> >> > >> :43: error: ISO C++ forbids compound-literals
>> > >> >> >> > >>
>> > >> >> >> > >> I have last CGAL 3.9, g++ 4.5.2
>> > >> >> >> > >
>> > >> >> >> > > I'll take a look. CGAL 3.8 works, and I can reproduce the
>> > >> >> >> > > error with CGAL 3.9.
>> > >> >> >> >
>> > >> >> >> > I've just pushed a fix. CGAL 3.9 uses a g++-specific extension
>> > >> >> >> > which yields and error when using strict compiler flags. I've
>> > >> >> >> > added a CGAL flag to disable use of the g++ extension.
>> > >> >> >>
>> > >> >> >> Cool!
>> > >> >> >
>> > >> >> > It works fine here.
>> > >> >> >
>> > >> >> > Are there any license issues regarding the CGAL mesh generation
>> > >> >> > library?
>> > >> >>
>> > >> >> No more than we already have with the intersection code which uses
>> > >> >> some of the CGAL QPL'd components.
>> > >> >>
>> > >> >> I'm not a lawyer and I can't find a definitive answer anywhere, but
>> > >> >> my reading of the licences is that it's fine, especially since we
>> > >> >> don't depend on CGAL. The CGAL license basically says that code
>> > >> >> built using CGAL must be made available under an open source
>> > >> >> license. We're complying with this, and if someone using DOLFIN is
>> > >> >> unwilling to do this then they shouldn't enable CGAL.
>> > >> >
>> > >> > It actually looks like we need to explicitly ammend something to the
>> > >> > GLP license we use, to be able to use CGAL.
>> > >> >
>> > >> > >From http://www.cgal.org/license.html:
>> > >> >  The General Public License (GPL) has a viral effect which makes it
>> > >> >  incompatible with the QPL. For more information, please refer to the
>> > >> >  paragraph about the QPL on the licenses web page of the FSF. It is
>> > >> > therefore not possible to build a program including GPL code and some
>> > >> > QPL parts of CGAL. In this case, if you are the copyright owner of the
>> > >> > GPL code, you can amend the license by adding an exception allowing
>> > >> > the use of CGAL with it (see again the FSF web page).
>> > >> >
>> > >> > I couldn't find the refered pages on fsf site, as it only pointed to a
>> > >> > dead link.
>> > >>
>> > >> I think it is only CGAL CORE which is QPL, and we don't use CORE in
>> > >> DOLFIN, right?
>> > >
>> > > I think it is the other way around. We mostly use CGAL Core, which is
>> > > LGPL, and fine. But more fancy stuff like triangulation is not part of
>> > > the core and under QPL license.
>> >
>> > Some of the intersection code is QPL.
>>
>> Ok, but the main issue (or none issue) remains:
>>
>>   We use QPL code in DOLFIN.
>
> My conclusion is that we don't need to worry about this issue.
>
> Here's the interesting passage from the QPL with my comments:
>
> 6. You may develop application programs, reusable components and other
>   software items that link with the original or modified versions of
>   the Software. These items, when distributed, are subject to the
>   following  requirements:
>
>   [AL: here "these items" refers to DOLFIN and programs linking to
>    DOLFIN and (thus) CGAL]
>
>      a. You must ensure that all recipients of machine-executable
>         forms of these items are also able to receive and use the complete
>         machine-readable source code to the items without any charge
>         beyond the costs of data transfer.
>
>   [AL: check, we do this already for the LPGL]
>
>      b. You must explicitly license all recipients of your items to
>         use and re-distribute original and modified versions of the items
>         in both machine-executable and source code forms. The recipients
>         must be able to do so without any charges whatsoever, and they
>         must be able to re-distribute to anyone they choose.
>
>    [AL: check]
>
>      c. If the items are not available to the general public, and the
>         initial developer of the Software requests a copy of the
>         items, then you must supply one.
>
>    [AL: check, the items are available to the general public]
>
> So the only possible problem is from the LGPL side. The LGPL does not
> impose any conditions on programs linking to it, and it certainly does
> not impose any conditions on other libraries linking to it. So I think
> we're in the clear.
>
> If we had used GPL, we would have needed to add a paragraph to add an
> exception for linking against CGAL. Not sure if that also applies to
> GPL-applications built on top of DOLFIN (CBC.Solve is one example).
>
> --
> Anders
>
>
>
>> Johan
>>
>> > Garth
>> >
>> > > Johan
>> > >
>> > >> Johannes
>> > >>
>> > >> _______________________________________________
>> > >> Mailing list: https://launchpad.net/~dolfin
>> > >> Post to     : dolfin@xxxxxxxxxxxxxxxxxxx
>> > >> Unsubscribe : https://launchpad.net/~dolfin
>> > >> More help   : https://help.launchpad.net/ListHelp
>> > >
>> > > _______________________________________________
>> > > Mailing list: https://launchpad.net/~dolfin
>> > > Post to     : dolfin@xxxxxxxxxxxxxxxxxxx
>> > > Unsubscribe : https://launchpad.net/~dolfin
>> > > More help   : https://help.launchpad.net/ListHelp
>> >
>> > _______________________________________________
>> > Mailing list: https://launchpad.net/~dolfin
>> > Post to     : dolfin@xxxxxxxxxxxxxxxxxxx
>> > Unsubscribe : https://launchpad.net/~dolfin
>> > More help   : https://help.launchpad.net/ListHelp
>>
>> _______________________________________________
>> Mailing list: https://launchpad.net/~dolfin
>> Post to     : dolfin@xxxxxxxxxxxxxxxxxxx
>> Unsubscribe : https://launchpad.net/~dolfin
>> More help   : https://help.launchpad.net/ListHelp
>
> _______________________________________________
> Mailing list: https://launchpad.net/~dolfin
> Post to     : dolfin@xxxxxxxxxxxxxxxxxxx
> Unsubscribe : https://launchpad.net/~dolfin
> More help   : https://help.launchpad.net/ListHelp


Follow ups

References