File splay.c has changed in nauty (at least in 26r12). The main difference 
is 

- static SPLAYNODE* 
- SPLAY_DELETE(SPLAYNODE **to_root, SPLAYNODE *p)
+ void
+ SPLAY_DELETE(SPLAYNODE **to_root, SPLAYNODE *p)

With this change, I can do gcc -O3 -std=c89 buckygen.c -o buckygen

So upstream must be updated.


Le mardi 29 octobre 2019 11:56:12 UTC+1, nvcleemp a écrit :
>
> OK, the answer is below:
>
> The file splay.c is actually taken from Nauty, so that issue should be 
> resolved there. The most obvious solution is to not compile this as C99, 
> but as C89 since that is what buckygen was written in.
>
> So, I can mail this to Brendan McKay to ask to solve this, but since Nauty 
> is already in Sage the issue should already be resolved in that code, so we 
> could also just take splay.c from there.
>
> Nico
>
> Op di 29 okt. 2019 om 09:31 schreef Nico Van Cleemput <
> [email protected] <javascript:>>:
>
>> Well, upstream sits at another desk in my office, so I will ask when he 
>> gets in.
>>
>> Nico
>>
>> Op di 29 okt. 2019 09:29 schreef Dima Pasechnik <[email protected] 
>> <javascript:>>:
>>
>>> clang is unhappy about C standards violations. E.g. this is what I get
>>> with clang 7:
>>>
>>> cc -O4 buckygen.c -o buckygen
>>> cc: warning: -O4 is equivalent to -O3 [-Wdeprecated]
>>> In file included from buckygen.c:272:
>>> ./splay.c:139:6: warning: implicit declaration of function
>>> 'outputnode' is invalid in C99 [-Wimplicit-function-declaration]
>>>             ACTION(p);
>>>             ^
>>> buckygen.c:254:19: note: expanded from macro 'ACTION'
>>> #define ACTION(p) outputnode(p)
>>>                   ^
>>> In file included from buckygen.c:272:
>>> ./splay.c:263:15: warning: implicit declaration of function
>>> 'comparenodes' is invalid in C99 [-Wimplicit-function-declaration]
>>>         cmp = COMPARE(p);
>>>               ^
>>> buckygen.c:260:20: note: expanded from macro 'COMPARE'
>>> #define COMPARE(p) comparenodes(canong, codelength, type, p)
>>>                    ^
>>> In file included from buckygen.c:272:
>>> ./splay.c:328:15: warning: implicit declaration of function
>>> 'comparenodes' is invalid in C99 [-Wimplicit-function-declaration]
>>>         cmp = COMPARE(p);
>>>               ^
>>> buckygen.c:260:20: note: expanded from macro 'COMPARE'
>>> #define COMPARE(p) comparenodes(canong, codelength, type, p)
>>>                    ^
>>> In file included from buckygen.c:272:
>>> ./splay.c:352:20: error: non-void function 'splay_delete' should
>>> return a value [-Wreturn-type]
>>>     if (p == NULL) return;
>>>                    ^
>>> ./splay.c:366:2: error: non-void function 'splay_delete' should return
>>> a value [-Wreturn-type]
>>>         return;
>>>         ^
>>> ./splay.c:376:9: error: non-void function 'splay_delete' should return
>>> a value [-Wreturn-type]
>>>         return;
>>>         ^
>>> buckygen.c:943:1: warning: type specifier missing, defaults to 'int'
>>> [-Wimplicit-int]
>>> outputnode(SPLAYNODE *liste)
>>> ^
>>> 4 warnings and 3 errors generated.
>>> make: *** [makefile:12: buckygen] Error 1
>>>
>>> Easy to fix, I'd say - can this be done upstream?
>>>
>>> On Tue, Oct 29, 2019 at 8:31 AM Nico Van Cleemput
>>> <[email protected] <javascript:>> wrote:
>>> >
>>> > buckygen is a pure C package, so I doubt that this has anything to do 
>>> with the switch to Python 3. Do you have any more information about the 
>>> fail build, because here it built fine.
>>> >
>>> > Nico
>>> >
>>> > Op ma 28 okt. 2019 om 23:02 schreef John H Palmieri <
>>> [email protected] <javascript:>>:
>>> >>
>>> >> With a Python 3 build of Sage on OS X 10.14.6, I decided to install 
>>> as many optional and experimental packages as I could. The results:
>>> >>
>>> >> Optional:
>>> >>
>>> >> - the following packages failed to build, and the reason wasn't 
>>> completely obvious:
>>> >>
>>> >> awali
>>> >> buckygen
>>> >> cbc
>>> >> gambit
>>> >> gdb
>>> >> mpi4py
>>> >>
>>> >> - the following packages failed because they (or their installation 
>>> scripts) are not compatible with Python 3:
>>> >>
>>> >> beautifulsoup
>>> >> brian
>>> >> guppy
>>> >> mercurial
>>> >> p_group_cohomology (but work is in progress)
>>> >> pyx
>>> >> scons
>>> >> trac
>>> >>
>>> >> - the following packages failed at first, but built after installing 
>>> some prerequisities:
>>> >>
>>> >> deformation — requires installation of mpir
>>> >> dot2tex — requires Graphviz
>>> >> rst2ipynb — requires pandoc
>>> >>
>>> >> - I skipped the following packages:
>>> >>
>>> >> atlas (installation is skipped on OS X)
>>> >> python2 (I wanted to use a pure Python 3 build)
>>> >>
>>> >> - Every other optional package built.
>>> >>
>>> >> Question/Proposal: do we demote the failed packages to experimental? 
>>> (Not deformation, dot2tex, or rst2ipynb, also not p_group_cohomology 
>>> because it is just about ready for py3, but the others.) I plan to do this 
>>> unless there are objections.
>>> >>
>>> >>
>>> >> Experimental:
>>> >>
>>> >> - the following failed to build:
>>> >>
>>> >> autotools
>>> >> cocoalib
>>> >> libtheora
>>> >> polymake
>>> >> qepcad
>>> >> scipoptsuite
>>> >> surf
>>> >> valgrind
>>> >>
>>> >> - the following succeeded:
>>> >>
>>> >> gap3
>>> >> lie
>>> >> modular_decomposition
>>> >> perl_term_readline_gnu
>>> >>
>>> >> polymake succeeded but only after installing the perl JSON package. 
>>> (Why is jupymake optional and polymake experimental? jupymake has polymake 
>>> as a dependency, and optional packages should not depend on experimental 
>>> packages.)
>>> >>
>>> >> - I skipped the following:
>>> >>
>>> >> compilerwrapper — when I install this, it breaks the Sage library: 
>>> after touching any .pyx file, "sage -b" or "make" fails with an error about 
>>> ld.
>>> >>
>>> >>
>>> >> Doctesting:
>>> >>
>>> >> Then I ran `make ptestalllong`. There were lots of "internet" 
>>> failures. Otherwise:
>>> >>
>>> >> - failures in one file because of rst2ipynb
>>> >> - failures in two files because of dot2tex
>>> >> - failures in one file because of latex
>>> >> - failures in one file because of gap_packages (reported by Emmanuel 
>>> Charpentier on sage-release many times)
>>> >>
>>> >> Other than the internet problems, not too bad.
>>> >>
>>> >> --
>>> >> John
>>> >>
>>> >> --
>>> >> 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 [email protected] <javascript:>.
>>> >> To view this discussion on the web visit 
>>> https://groups.google.com/d/msgid/sage-devel/150bd508-b9b2-4953-aa50-cb27cc840b78%40googlegroups.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 [email protected] <javascript:>.
>>> > To view this discussion on the web visit 
>>> https://groups.google.com/d/msgid/sage-devel/CADXCEk9nCeroEgL2aTP%3D-sBL%3DG6GGAiuwRjyiZDiOY_5oA3iHw%40mail.gmail.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 [email protected] <javascript:>.
>>> To view this discussion on the web visit 
>>> https://groups.google.com/d/msgid/sage-devel/CAAWYfq1s%2BQPD6yim8c2FNo2xd72-A_zM5AE_V2PBeKA_YEJR4w%40mail.gmail.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 [email protected].
To view this discussion on the web visit 
https://groups.google.com/d/msgid/sage-devel/2c5288ea-4b93-4652-a935-27cbece55d94%40googlegroups.com.

Reply via email to