For the record, I reported the problem

https://www.singular.uni-kl.de/forum/viewtopic.php?f=10&t=2965&start=0

and a fix has quickly been commited.
I will include this fix as a patch to singular in the branch of

        https://trac.sagemath.org/ticket/32959

where the conflict occured.

Clément

Le 06/12/2021 à 17:21, Dima Pasechnik a écrit :
> 
> 
> On Mon, 6 Dec 2021, 14:42 Clement Pernet, <clement.per...@gmail.com
> <mailto: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>
>     <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%2bunsubscr...@googlegroups.com>
>     <mailto:sage-devel+unsubscr...@googlegroups.com 
> <mailto:sage-devel%2bunsubscr...@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>
>     
> <https://groups.google.com/d/msgid/sage-devel/41bfbe41-5c62-428a-bd93-a5a2c0c5a0e3n%40googlegroups.com?utm_medium=email&utm_source=footer
>     
> <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 
> <mailto:sage-devel%2bunsubscr...@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
>     
> <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 
> <mailto: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
> <https://groups.google.com/d/msgid/sage-devel/CAAWYfq05mNtNbWgF8McQOHLUraB%3D_6sooUwPRXGiWTLXg-xtZw%40mail.gmail.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/eadf43c2-6920-1b4b-cbd3-86570ed3d9a9%40gmail.com.

Reply via email to