← Back to team overview

dolfin team mailing list archive

Re: CGAL triangle compilation problems.

 

Yes, I heard. My interpretation of this is that:

1. We can continue to distribute DOLFIN as LGPL

2. When someone links it to CGAL, DOLFIN becomes GPL (LGPL is
convertible into GPL)

3. When someone distributes DOLFIN with CGAL, DOLFIN becomes GPL

4. Applications linking to DOLFIN with CGAL must be GPL

--
Anders


On Tue, Feb 14, 2012 at 05:39:13PM +0000, Garth N. Wells wrote:
> 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).
> >
> >
> >
> >
> >> 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


References