Ask Your Question
0

Adventures trying to build 6.3 on cygwin

asked 2014-09-14 16:18:51 +0100

Rob gravatar image

updated 2015-01-13 20:41:35 +0100

FrédéricC gravatar image

Don't know where to send this type of thing, so I'll put it here and hope the right person sees it.

(Using cygwin32 on windows 8.1. Using 32 bit instead of 64 bit because I need Macaulay2, which only seems to be available for 32 bit.)

Building went fine up until numpy, which failed because the "cygwin-lapack_lite-setup.py.diff" patch seems to be made for an older version of numpy than the one included. Using a modified .diff based on the new version seemed to fix everything.

Then ipython failed with error

1 [main] python2.7 516 child_info_fork::abort: address space needed by 'array.dll' (0x2C0000) is already occupied error: [Errno 11]

Resource temporarily unavailable

Sounded like the type of thing rebasing would fix, but retrying after running sage-rebaseall.sh didn't solve it after about 5 attempts. Anyone have any ideas? (I'm a linux noob, so please treat me as such)

The Cygwin64Port page seems to suggest I might have better luck with 5.13, so I'm trying that as I speak.

EDIT: 5.13 failed with a similar error, this time while installing mercurial. Again rebasing doesn't fix it.

I believe I'm doing rebasing right. I quit cygwin then run "dash -c '/usr/bin/rebaseall" from a command prompt with admin privileges.

Just found the precompiled cygwin binaries at http://boxen.math.washington.edu/home... , I grabbed the one for 5.13 and ran it. During startup it sometimes gives a fork error

1 [main] python2.7 4968 child_info_fork::abort: address space needed by 'utils.dll' (0x510000) is already occupied

but that doesn't seem to ruin things, and it still takes me to the prompt. I can calculate 3*3 (correctly) and I can open the notebook in Firefox, so that's good.

I'm running make test now to see how that goes. Will update.

EDIT 2: The test died with a fork error, the occasional fork error on sage startup somehow became constant, rebasing did nothing as usual, and the notebook stopped working (page loaded blank, fork and python errors in the terminal). Deleted everything and re-extracted, and the notebook works again, but still with intermittent fork errors.

Assuming it maintains its current level of not-completely-brokenness, I'll probably keep it but go back to the VM when I need something more stable.

It would be amazing if this could somehow be the/an officially supported way to use sage on windows, though. Virtual machines are so big and clunky.

edit retag flag offensive close merge delete

2 Answers

Sort by » oldest newest most voted
0

answered 2014-09-15 14:57:33 +0100

kcrisman gravatar image

Two useful sites are the Cygwin64 Port on Trac and the Cygwin (32) Port on Trac. We would love additional help with getting it to work reliably, but do need additional testers for this.

Forking problems are 100% normal, unfortunately, because of the implementation of this on Cygwin/Windows, which apparently just never will function properly.

It would be amazing if this could somehow be the/an officially supported way to use sage on windows, though. Virtual machines are so big and clunky.

To be officially supported, we'd need access to a Cygwin buildbot - and one that had enough memory to not requiring rebasing etc.

edit flag offensive delete link more

Comments

So the reason rebasing never seems to fix anything for me is that I don't have enough memory? (2gb ram)

Rob gravatar imageRob ( 2014-09-16 06:50:08 +0100 )edit

I don't think that's the issue... it's more complicated, and I am not an expert on this. It's the "address space" for dlls, which don't live in RAM, I believe. There are apparently only so many such addresses available, and Sage makes a LOT of them.

kcrisman gravatar imagekcrisman ( 2014-09-16 15:46:02 +0100 )edit
0

answered 2014-09-15 04:41:27 +0100

Andrew732 gravatar image

updated 2014-09-15 04:51:40 +0100

I'm currently trying to do this too, except on top of that, I'm also trying to access the Sage library from C/C++ instead of Python (see my recent question in this forum). It's sounds like you've gotten farther than me so far, so I don't have anything to contribute. I'd love to hear about your progress though, so please keep us informed. Does anybody know if there is a better forum to ask about Windows-related Sage issues?

On a related note, I just want to gripe a little bit about the fact that large open source projects like this generally seem to shun Windows for whatever reason. I don't expect everybody to accept Windows dominance, and granted no project can make everybody happy, but I know for a fact that it really does exclude an awful lot of us in academia who would love to be a part of Sage development.

edit flag offensive delete link more

Comments

Well, in Sage's defense in particular, a large chunk of the functionality is gained from cobbling together many other pieces of software, many of which aren't really available in windows except through cygwin (which as we have established isn't especially reliable). So I'm not sure if you'll ever see a fully-functional windows version without *some* type of linux thing working behind the scenes. Part of me (a very, very naive part) says it can't be *that* hard to take the C++ source of a linux terminal program like Singular or Macaulay, dump it all into Visual Studio, and just tweak a few things here and there so it'll compile into a windows console program, but then I've never actually tried, either.

Rob gravatar imageRob ( 2014-09-15 14:54:51 +0100 )edit

You've hit the nail on the head - obviously the Python pieces are not the problem, and some stuff is not up to top-notch software engineering standards. At the same time, Windows apparently (I am not an expert on this) does not implement things in such a way that a number of POSIX things, particularly forking, just don't work properly, even in Cygwin. But I am very sympathetic to your post.

kcrisman gravatar imagekcrisman ( 2014-09-15 15:02:42 +0100 )edit

As to asking about Sage and Windows stuff, there is also https://groups.google.com/forum/#!forum/sage-windows which, although not always active, can generate a flurry of activity when there is progress!

kcrisman gravatar imagekcrisman ( 2014-09-15 15:03:36 +0100 )edit

Are you using Windows 32 bit? I've fiddled around with it for days until I convinced myself that it'll never work due to address space changes between different runs. Windows 64-bit (even with 32-bit userspace) has a much better chance. On a related note, what is this Windows dominance you are talking about? The accountants and secretaries of the world use Windows, but it has negligible market share in the scientific computing area. If you are serious about computing learn unix asap, you'll thank me later.

Volker Braun gravatar imageVolker Braun ( 2014-09-21 19:47:00 +0100 )edit

But for many people it is difficult, for instance if they only have support for Windows. Also, installing Linux is still a pain in many ways, from everything I can tell. Not all science is done in high-powered scientific computing.

kcrisman gravatar imagekcrisman ( 2014-09-22 14:53:25 +0100 )edit

Your Answer

Please start posting anonymously - your entry will be published after you log in or create a new account.

Add Answer

Question Tools

1 follower

Stats

Asked: 2014-09-14 16:18:51 +0100

Seen: 918 times

Last updated: Sep 15 '14