On Thursday, September 15, 2016 at 9:21:34 PM UTC, François wrote: > > So on another thread there was talk about whether we could > build sage with clang+gfortran on OS X. > Well it is not that bad and a little push in the right place would > probably > get use 95% there. > > I couldn’t build sagelib, I didn’t manage to get there. Here are the > packages that fail to build with clang in sage 7.4.beta4 on OS X: > ratpoints > lcalc > pynac > linbox > symmetrica > gfan > > ratpoints: there is an ancient ticket (#12473). Surprisingly it is a > C language problem. ratpoints rely on a GNU extension to use nested > functions. I tried to untangle the first specimen I encountered > before realising that it was quite an amount of work (the nested function > sees and uses a number of variables from the “host” function that > are in scope like they were global variables, this makes things just > insane). >
I posted a preliminary fix on #12473. Please try with clang... > > lcalc: is no surprise. It uses a number of obsolete features, not sure > how long gcc itself will build it. > > pynac: > https://github.com/pynac/pynac/pull/192 > https://github.com/pynac/pynac/issues/193 > for starters. > > linbox: > https://github.com/linbox-team/linbox/issues/39 > more on linbox specifically later. > > symmetrica: > In the first instance a function returning an “int” has return > statement with no values. Should be trivial but I didn’t > dig too much. > > gfan: > some C++ constructor problem. > > On most of these switching to gcc/g++ solved the problem expect for > linbox which revealed some tricky C++ problems with that approach. > linbox uses fflas-ffpack and givaro, themselves having been compiled > with clang++. > In another post I mentioned that most vendors (clang and GNU in > particular) > where following a common ABI for C++. The problem is that there is now > several versions of the ABI and g++ and clang++ on OS X default on > different one. You can get g++ to change to the right ABI but then the > linker get confused thinking you mix different architectures. This is > probably > solvable but show that it would be more sane to compile all C++ libraries > that will be included in sage with the same compiler. Stuff called by > pexpect > doesn’t matter so much, but in the list above that means lcalc, pynac and > linbox need to be fixed [ratpoints and symmetrica are C, gfan is used via > pexpect]. > > I was surprised sympow didn’t make it in the list but it did compile. > > François -- 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 post to this group, send email to sage-devel@googlegroups.com. Visit this group at https://groups.google.com/group/sage-devel. For more options, visit https://groups.google.com/d/optout.