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.
