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.

Reply via email to