On Mon, Aug 02, 2010 at 08:43:53PM +0000, Willem Jan Palenstijn wrote:
> On Mon, Aug 02, 2010 at 01:28:36PM -0700, Dima Pasechnik wrote:
> > my taurus build of sage 4.5.1 has liblapack.so just fine...
> 
> Ah, now I notice it's generated by atlas. (Sorry, I stupidly missed that 
> rather
> obvious bit of #9600).  Atlas seems to use ld directly to link liblapack.a 
> into
> liblapack.so. If you use gcc as frontend for the linker, it should
> automatically link in the required missing functions like __powidf2. It
> shouldn't be necessary to add gcc_s manually.

Replying to self: I did a quick test, and also added the results to #9600:

[...@eno sage-4.5.2.rc0]$ ./sage -python
Python 2.6.4 (r264:75706, Aug  1 2010, 12:24:29) 
[GCC 4.5.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import cvxopt.base
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: /home/wjp/eno/sage-4.5.2.rc0/local/lib/liblapack.so: undefined 
symbol: __powidf2
>>> 
[...@eno sage-4.5.2.rc0]$ cd local/lib
[...@eno lib]$ gcc -shared -o liblapack.so -Wl,-soname,liblapack.so 
-Wl,--whole-archive liblapack.a -Wl,--no-whole-archive
[...@eno lib]$ cd ../..
[...@eno sage-4.5.2.rc0]$ ./sage -python                                        
Python 2.6.4 (r264:75706, Aug  1 2010, 12:24:29) 
[GCC 4.5.0] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import cvxopt.base
>>> 



This is on eno with a sage install copied from
/home/palmiere/eno/sage-4.5.2.rc0 .  In my own build of sage-4.5.1 on taurus, I
still don't have a liblapack.so, but the above import works fine there.

I haven't looked into what makes liblapack.so appear/disappear yet. Does anyone
familiar with atlas/lapack know this offhand?

-Willem Jan

-- 
To post to this group, send an email to [email protected]
To unsubscribe from this group, send an email to 
[email protected]
For more options, visit this group at http://groups.google.com/group/sage-devel
URL: http://www.sagemath.org

Reply via email to