[petsc-dev] Reminder: *every* symbol with extern linkage *must* be namespaced

Satish Balay balay at mcs.anl.gov
Mon Mar 19 10:02:26 CDT 2012


On Mon, 19 Mar 2012, Satish Balay wrote:

> On Sat, 17 Mar 2012, Matthew Knepley wrote:
> 
> > On Sat, Mar 17, 2012 at 4:08 PM, Jed Brown <jedbrown at mcs.anl.gov> wrote:
> > 
> > > On Sat, Mar 17, 2012 at 16:04, Matthew Knepley <knepley at gmail.com> wrote:
> > >
> > >> On Sat, Mar 17, 2012 at 3:49 PM, Barry Smith <bsmith at mcs.anl.gov> wrote:
> > >>
> > >>>
> > >>>  It should be done as a --download-tetgen
> > >>>
> > >>>  I don't want that --with-gnu-copyright approach reintroduced.
> > >>
> > >>
> > >> 1) I already fixed these symbols hours ago. Pull your fucking repository.
> > >>
> > >> 2) Turn it on with a download option. I don't give a shit.
> > >>
> > >
> > > This has nothing to do with namespaces, it has to do with software
> > > licenses. You just included a bunch of source that has a license which is
> > > far more restrictive than the PETSc license. You can't do that (while
> > > keeping the PETSc license) without making its use optional. Barry wants
> > > that done via an external package instead of an option within the PETSc
> > > source tree.
> > >
> > 
> > It does not fucking matter whether its there to begin with or you download
> > it into the tree with HTTP, and since I
> > am maintaining it, I want it there to begin with.
> 
> I think it matters. When the user uses --download-package - he is
> explicitly requesting the package - and can aussme the licence is
> different.
> 
> On the other hand - if you've are in a position to change its license
> [to the part thats in petsc] to be same as petsc license - then its
> fine.

The other issue here is: multiple library conflict. If there is a user
using tetgen directly [and has a separate install of it] - and also
uses petsc from the same code , then there could be duplicate symbol
issue. [Now the solution is - don't link with a separate tegen - just
link with petsc - but thats generally not good.]

sAtish

> 
> BTW:
> libfast in: /home/balay/spetsc/src/dm/impls/complex
> complex.c: In function ‘DMComplexGenerate_CTetgen’:
> complex.c:4128:65: warning: variable ‘face’ set but not used [-Wunused-but-set-variable]
> ctetgen.c: In function ‘TetGenMeshBTreeSort’:
> ctetgen.c:10050:20: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
> ctetgen.c:10070:21: warning: cast to pointer from integer of different size [-Wint-to-pointer-cast]
> ctetgen.c: In function ‘TetGenMeshFindDirection2’:
> ctetgen.c:13153:49: warning: variable ‘cop’ set but not used [-Wunused-but-set-variable]
> ctetgen.c: In function ‘TetGenMeshConstrainedFacets’:
> ctetgen.c:15042:22: warning: variable ‘delaunayflag’ set but not used [-Wunused-but-set-variable]
> ctetgen.c: In function ‘TetGenMeshConstrainedFacets2’:
> ctetgen.c:15340:22: warning: variable ‘delaunayflag’ set but not used [-Wunused-but-set-variable]
> ctetgen.c: In function ‘TetGenMeshRepairEncSubs’:
> ctetgen.c:18617:8: warning: variable ‘oldptnum’ set but not used [-Wunused-but-set-variable]
> ctetgen.c: In function ‘TetGenMeshOptimize’:
> ctetgen.c:19734:18: warning: variable ‘maxdihed’ set but not used [-Wunused-but-set-variable]
> ctetgen.c: At top level:
> ctetgen.c:2026:23: warning: ‘ListHasItem’ defined but not used [-Wunused-function]
> libfast in: /home/balay/spetsc/src/dm/impls/complex/ftn-auto
> libfast in: /home/balay/spetsc/src/dm/impls/shell
> 
> 
> Satish


More information about the petsc-dev mailing list