Opened 10 years ago

Closed 10 years ago

#11494 closed defect (fixed)

Get linbox to build on Cygwin

Reported by: kcrisman Owned by: tbd
Priority: major Milestone: sage-duplicate/invalid/wontfix
Component: build Keywords:
Cc: mhansen, was, pasechnik Merged in: sage-4.7.2.alpha0
Authors: Reviewers: Karl-Dieter Crisman
Report Upstream: N/A Work issues:
Branch: Commit:
Dependencies: Stopgaps:

Status badges

Description (last modified by jdemeyer)

According to the wiki,

libblas.dll.a is not copied to $SAGE_LOCAL/lib when ATLAS is "installed" (breaks linbox)

This is fixed by #10226.

Change History (11)

comment:1 Changed 10 years ago by kcrisman

From Mike Hansen:

To fix the problem, just do

cp /usr/lib/libblas.dll.a $SAGE_LOCAL/lib

and then run "make" again.

comment:2 Changed 10 years ago by kcrisman

So this would require a new ATLAS spkg-install and spkg, I guess.

comment:3 Changed 10 years ago by fbissey

Would using the atlas spkg from #10226 work?

comment:4 Changed 10 years ago by kcrisman

I don't know. I'm just trying to make Sage build on Cygwin :)

Mike?

comment:5 Changed 10 years ago by kcrisman

Francois, I don't think so

if conf['CYGWIN?']:
    if os.path.exists('/usr/lib/libblas.a'):
        sys.exit(0)
    print "*"*75
    print "On Cygwin you must install the standard LAPACK Cygwin package"
    print "via the Cygwin setup.exe program in the 'Math' category."
    print "*"*75 
    sys.exit(1)

No mention of moving any libraries anywhere. But I may be missing something in that long spkg-install.

comment:6 Changed 10 years ago by kcrisman

By the way, why does that spkg-install check for libblas.a? I can only find libblas.dll.a and libblas.la.

comment:7 Changed 10 years ago by vbraun

  • Component changed from PLEASE CHANGE to build
  • Status changed from new to needs_review
  • Type changed from PLEASE CHANGE to defect

I only copied what there already was for Cygwin, I never tested it on that platform.

I updated the atlas-3.8.4.spkg from #10226 to say

if conf['CYGWIN?']:
    lib = '/usr/lib/libblas.dll.a'
    if not os.path.exists(lib):
        print '*'*75
        print 'On Cygwin you must install the standard LAPACK Cygwin package'
        print 'via the Cygwin setup.exe program in the "Math" category.'
        print '*'*75 
        sys.exit(1)
    cp(lib, os.path.join(conf['SAGE_LOCAL'], 'lib'))
    sys.exit(0)

Please test and let us know whether it works.

comment:8 Changed 10 years ago by fbissey

Does the new atlas spkg works? We are kind of waiting on this one before putting a positive review to #10226.

comment:9 Changed 10 years ago by kcrisman

  • Status changed from needs_review to positive_review

Sorry, I thought I had reviewed this. It does work on XP. I can't get Win7 to even build Python, so who knows there. However, the fix is just to use the Cygwin versions of these things, so I don't see why it wouldn't.

At any rate, this fixed the problem here, and I think that is enough. It certainly wouldn't make the problem worse! Cygwin is enough of a moving target that even getting it to build on XP is going to be a big accomplishment, so get this in.

comment:10 Changed 10 years ago by jdemeyer

  • Description modified (diff)
  • Milestone changed from sage-4.7.1 to sage-duplicate/invalid/wontfix
  • Reviewers set to Karl-Dieter Crisman

comment:11 Changed 10 years ago by jdemeyer

  • Merged in set to sage-4.7.2.alpha0
  • Resolution set to fixed
  • Status changed from positive_review to closed
Note: See TracTickets for help on using tickets.