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.