tech-pkg archive
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]
Re: math/nlopt rb_tree* collides with libc
Greg Troxel wrote:
> Paul Ripke <stix%stix.id.au@localhost> writes:
> >
> > In trying to get PrusaSlicer going, I tripped over the fact that
> > math/nlopt's built-in rb_tree implementation has symbols that collide
> > with NetBSD's implementation in libc.
> >
> > The following math/nlopt Makefile fragment works around the issue,
> > but I'm left wondering if there's an alternate solution to what must
> > be a fairly commonly seen issue?
> >
> > SUBST_CLASSES+= rbtree
> > SUBST_FILES.rbtree+= */*.[ch]
> > SUBST_MESSAGE.rbtree= Changing rb_tree symbols that collide with NetBSD libc.
> > SUBST_SED.rbtree= -e "s|rb_tree|nlopt_rb_tree|g"
> > SUBST_STAGE.rbtree= post-extract
>
> This seems reasonable to me, but it would be good to file a bug
> upstream. I would expect this to collide on other BSDs as well.
>
> Technically, the namespace should be clean from all non-POSIX-required
> symbols, but that's a bit tilting-at-windmills.
This should at least be the case if the application explicitly defines
_POSIX_C_SOURCE (or _XOPEN_SOURCE respectively):
<https://pubs.opengroup.org/onlinepubs/9699919799/functions/V2_chap02.html#tag_15_02_02>
Otherwise there are OS specific symbols in the namespace not only on
NetBSD.
--
Regards,
Michael Bäuerle
Home |
Main Index |
Thread Index |
Old Index