On Mon, 6 Dec 2021, 14:42 Clement Pernet, <clement.per...@gmail.com> wrote:

> Thanks, I also recently realized it was coming from Singular.
>
>
> Le 03/12/2021 à 16:10, Maarten Derickx a écrit :
>
> > Not really sure why they #define IntegerDomain 1 on line 25 there. But I
> guess that doesn't matter.> It is just an occasion of having to different
> libraries accidentally using the same name for
> > different things.
> Sure, that's why one should use namespaces as much as possible. Macros
> defined like this one are
> very invasive as they even conflict with names protected in a namespace,
> like Givaro's. It could be
> fixed by
> - either prefixing the macro with something like __SINGULAR in ordre to
> emulate a namespace
> - or #undef'ing it at the end of Singular's code.
>
> >
> > So this just means we should be careful with includes and other things
> so that these things don't clash.
>
> Not sure that is can be solved by only re-ordering or carefully picking
> the includes.
>
> Is anyone from singular around here who sees an alternative way around it?
> I'll report the problem upstream.
>

it seems they had that macro for 26 years :-)

Surely they ought to replace all that with enums...


> Clément
>
> > Op vrijdag 3 december 2021 om 11:54:08 UTC+1 schreef Clement Pernet:
> >
> >     Hi,
> >
> >     Working on
> >
> >         https://trac.sagemath.org/ticket/32959 <
> https://trac.sagemath.org/ticket/32959>
> >
> >     I hit a compilation error due to
> >
> >     sage/local/include/factory/factory.h: #define IntegerDomain 1
> >
> >     which conflicts with
> >
> >     sage/local/include/givaro/givinteger.h: using IntegerDomain =
> ZRing<Integer>
> >
> >     See the compilation log ;
> >
> >     [sagelib-9.5.beta7] In file included from
> >     /home/soft/sage/local/include/singular/coeffs/coeffs.h:19,
> >     [sagelib-9.5.beta7]                  from
> >     /home/soft/sage/local/include/singular/polys/monomials/ring.h:12,
> >     [sagelib-9.5.beta7]                  from
> /home/soft/sage/local/include/singular/kernel/polys.h:15,
> >     [sagelib-9.5.beta7]                  from
> >     /home/soft/sage/local/include/singular/kernel/structs.h:25,
> >     [sagelib-9.5.beta7]                  from
> >     /home/soft/sage/local/include/singular/Singular/libsingular.h:7,
> >     [sagelib-9.5.beta7]                  from
> >
>  build/cythonized/sage/rings/polynomial/multi_polynomial_libsingular.cpp:724:
> >     [sagelib-9.5.beta7]
> /home/soft/sage/local/include/givaro/givinteger.h: At global scope:
> >     [sagelib-9.5.beta7]
> /home/soft/sage/local/include/factory/factory.h:92:23: error: expected
> >     nested-name-specifier before numeric constant
> >     [sagelib-9.5.beta7]    92 | #define IntegerDomain 1
> >     [sagelib-9.5.beta7]       |                       ^
> >     [sagelib-9.5.beta7]
> /home/soft/sage/local/include/givaro/givinteger.h:412:11: note: in
> expansion of
> >     macro ‘IntegerDomain’
> >     [sagelib-9.5.beta7]   412 |     using IntegerDomain = ZRing<Integer>;
> >     [sagelib-9.5.beta7]       |           ^~~~~~~~~~~~~
> >
> >     I have no clue what is this Factory, and why it defines
> IntegerDomain to 1.
> >
> >     Any insight would be most welcome.
> >
> >     Cheers.
> >
> >     Clément
> >
> >
> > --
> > You received this message because you are subscribed to the Google
> Groups "sage-devel" group.
> > To unsubscribe from this group and stop receiving emails from it, send
> an email to
> > sage-devel+unsubscr...@googlegroups.com <mailto:
> sage-devel+unsubscr...@googlegroups.com>.
> > To view this discussion on the web visit
> >
> https://groups.google.com/d/msgid/sage-devel/41bfbe41-5c62-428a-bd93-a5a2c0c5a0e3n%40googlegroups.com
> <
> https://groups.google.com/d/msgid/sage-devel/41bfbe41-5c62-428a-bd93-a5a2c0c5a0e3n%40googlegroups.com?utm_medium=email&utm_source=footer
> >.
>
> --
> You received this message because you are subscribed to the Google Groups
> "sage-devel" group.
> To unsubscribe from this group and stop receiving emails from it, send an
> email to sage-devel+unsubscr...@googlegroups.com.
> To view this discussion on the web visit
> https://groups.google.com/d/msgid/sage-devel/72707f27-2041-4bce-e4d2-f103d3dac801%40gmail.com
> .
>

-- 
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sage-devel/CAAWYfq05mNtNbWgF8McQOHLUraB%3D_6sooUwPRXGiWTLXg-xtZw%40mail.gmail.com.

Reply via email to