Clickable OS X app for 4.4.4

4 views
Skip to first unread message

Ivan Andrus

unread,
Jun 24, 2010, 11:53:57 AM6/24/10
to sage-devel
I don't know if there is work being done to create the clickable applications for OS X for this release (I know being release manager is hard enough), so I took the liberty of creating one, for intel at least. I created them on my MacBook Pro:

Darwin parduc.home 10.4.0 Darwin Kernel Version 10.4.0: Fri Apr 23 18:28:53 PDT 2010; root:xnu-1504.7.4~1/RELEASE_I386 i386 i386

OS X 10.6.4
SAGE64=yes
SAGE_CHECK=yes

MacPorts installed, but removed from PATH while building sage (I hope this doesn't cause any problems, but it does make me a little nervous). I'm also worried that they may not work on 10.5/10.4.

I created the "normal" application with sage -bdist, as well as a different dmg with the new "experimental" SageMenu.app. The latter should be considered somewhat experimental (though much nicer IMHO). If you don't like it or it doesn't work, it's easy to get the sage folder out of it, so it won't be a wasted download. It would also be really great to get some feedback as to whether we are going down the right road with this application.

But here's the catch, I don't have a place that I feel comfortable hosting 2 files that are so big. Any ideas as to where I should put them?

-Ivan

Jason Grout

unread,
Jun 26, 2010, 12:13:06 PM6/26/10
to sage-...@googlegroups.com
On 6/24/10 8:53 AM, Ivan Andrus wrote:
> I don't know if there is work being done to create the clickable applications for OS X for this release (I know being release manager is hard enough), so I took the liberty of creating one, for intel at least. I created them on my MacBook Pro:
>

Thanks!


> Darwin parduc.home 10.4.0 Darwin Kernel Version 10.4.0: Fri Apr 23 18:28:53 PDT 2010; root:xnu-1504.7.4~1/RELEASE_I386 i386 i386
>
> OS X 10.6.4
> SAGE64=yes
> SAGE_CHECK=yes
>
> MacPorts installed, but removed from PATH while building sage (I hope this doesn't cause any problems, but it does make me a little nervous). I'm also worried that they may not work on 10.5/10.4.

Hopefully #9208 and #9210 take care of the Macports issues. They solve
at least one Macports issue for me.


>
> I created the "normal" application with sage -bdist, as well as a different dmg with the new "experimental" SageMenu.app. The latter should be considered somewhat experimental (though much nicer IMHO). If you don't like it or it doesn't work, it's easy to get the sage folder out of it, so it won't be a wasted download. It would also be really great to get some feedback as to whether we are going down the right road with this application.
>
> But here's the catch, I don't have a place that I feel comfortable hosting 2 files that are so big. Any ideas as to where I should put them?
>

sage.math seems like an obvious place

Thanks,

Jason

Ivan Andrus

unread,
Jun 26, 2010, 8:51:34 PM6/26/10
to sage-...@googlegroups.com
On Jun 26, 2010, at 11:13 AM, Jason Grout wrote:
> On 6/24/10 8:53 AM, Ivan Andrus wrote:
>> I don't know if there is work being done to create the clickable applications for OS X for this release (I know being release manager is hard enough), so I took the liberty of creating one, for intel at least. I created them on my MacBook Pro:
>>
>
> Thanks!

No problem.

>> Darwin parduc.home 10.4.0 Darwin Kernel Version 10.4.0: Fri Apr 23 18:28:53 PDT 2010; root:xnu-1504.7.4~1/RELEASE_I386 i386 i386
>>
>> OS X 10.6.4
>> SAGE64=yes
>> SAGE_CHECK=yes
>>
>> MacPorts installed, but removed from PATH while building sage (I hope this doesn't cause any problems, but it does make me a little nervous). I'm also worried that they may not work on 10.5/10.4.
>
> Hopefully #9208 and #9210 take care of the Macports issues. They solve at least one Macports issue for me.

Cool. I'll have to check them out.

>> I created the "normal" application with sage -bdist, as well as a different dmg with the new "experimental" SageMenu.app. The latter should be considered somewhat experimental (though much nicer IMHO). If you don't like it or it doesn't work, it's easy to get the sage folder out of it, so it won't be a wasted download. It would also be really great to get some feedback as to whether we are going down the right road with this application.
>>
>> But here's the catch, I don't have a place that I feel comfortable hosting 2 files that are so big. Any ideas as to where I should put them?
>>
>
> sage.math seems like an obvious place

Okay, I guess I'll have to figure out how to get an account.

-Ivan

Ivan Andrus

unread,
Jun 29, 2010, 12:30:06 AM6/29/10
to sage-devel
The promised binaries are up at
http://boxen.math.washington.edu/home/iandrus/

sage-4.4.4-i386-Darwin.dmg
has the "old" application--the one that you can make with sage -bdist

sage-deluxe-4.4.4-i386-Darwin.dmg
has the "new" application--it should be nicer, but more experimental. Please read the README and give me any feedback you have.

I would have put them both on the same disk image if I could figure out a safe way to share SAGE_ROOT without duplicating the data.

-Ivan

kcrisman

unread,
Jun 29, 2010, 10:08:18 AM6/29/10
to sage-devel

> sage-deluxe-4.4.4-i386-Darwin.dmg
>         has the "new" application--it should be nicer, but more experimental.  Please read the README and give me any feedback you have.
>

Thanks, Ivan! This looks like a monstrous improvement on the
surface. Thanks so much for your hard work. I hope my notes below
help debug it even more.

I encourage others to try this out; unfortunately, I had some
difficulties using it, but that may be atypical.

- kcrisman

First feedback:
Looks nice, does take a little while to start but of course one has
all the options. Not quite sure why it starts with a web browser
going to sagemath.org - what if someone isn't on the internet when
they start the program?

From still within its own /Volume, I tried it first.
Starting a Sage terminal from the drop-down menu doesn't seem to work
properly

IOError: [Errno 30] Read-only file system: '/Volumes/SageApp/Sage.app/
Contents/Resources/sage/local/lib/libcdd.la'

it also opened a second empty Terminal window. And you still have to
close it when you're done :)

Trying to start the server also didn't seem to work.

Then I tried to copy it to my Desktop/ and it complained that there
was another file named Sage (which there isn't, but there are several
that begin with Sage or sage).

So I made another folder to put it in, copied it there. The same
thing happened, even though that folder was otherwise empty - message
"You can’t copy “Sage” because it has the same name as another item on
the destination volume, and that volume doesn’t distinguish between
upper- and lowercase letters in filenames"
so I'm not sure what to do next. Weirdly, it copied a lot - about
half - maybe through /local/bin but quit in the middle of that, and
did not copy the actual ./sage script.

So I trashed that, and tried opening the application from the disk
image again. I went to Start Server... and then went to open
Notebook, but it just went to http://localhost:8000/ but never
actually showed anything. Or maybe I wasn't patient enough, as the
README implies?

Ivan Andrus

unread,
Jun 29, 2010, 11:21:36 AM6/29/10
to sage-...@googlegroups.com
On Jun 29, 2010, at 9:08 AM, kcrisman wrote:
>> sage-deluxe-4.4.4-i386-Darwin.dmg
>> has the "new" application--it should be nicer, but more experimental. Please read the README and give me any feedback you have.
>
> Thanks, Ivan! This looks like a monstrous improvement on the
> surface. Thanks so much for your hard work. I hope my notes below
> help debug it even more.
>
> I encourage others to try this out; unfortunately, I had some
> difficulties using it, but that may be atypical.
>
> - kcrisman
>
> First feedback:
> Looks nice, does take a little while to start but of course one has
> all the options. Not quite sure why it starts with a web browser
> going to sagemath.org - what if someone isn't on the internet when
> they start the program?

Because when I was testing I wanted to know that the application had started and was working before the sage notebook server started. That's the only reason. Ideally it would be some sort of progress/starting up message. I haven't done that yet.

> From still within its own /Volume, I tried it first.
> Starting a Sage terminal from the drop-down menu doesn't seem to work
> properly
>
> IOError: [Errno 30] Read-only file system: '/Volumes/SageApp/Sage.app/
> Contents/Resources/sage/local/lib/libcdd.la'

That's probably because it tries to write the log file inside the Application. I guess that should probably be changed to write to the standard OS X log place (I'm not sure where that is).

> it also opened a second empty Terminal window. And you still have to
> close it when you're done :)

Opening a second Terminal window is because Terminal wasn't open, so it opens it by itself (unless you're seeing something different than me). I don't know how to get Terminal to close the window when finished, nor do I know if it's desirable. Unless of course you mean after you exit the shell in which case I agree and it's one of the reasons I don't use Terminal.app.

> Trying to start the server also didn't seem to work.

> Then I tried to copy it to my Desktop/ and it complained that there
> was another file named Sage (which there isn't, but there are several
> that begin with Sage or sage).

That sounds odd. Maybe it's related to below?

> So I made another folder to put it in, copied it there. The same
> thing happened, even though that folder was otherwise empty - message
> "You can’t copy “Sage” because it has the same name as another item on
> the destination volume, and that volume doesn’t distinguish between
> upper- and lowercase letters in filenames"
> so I'm not sure what to do next. Weirdly, it copied a lot - about
> half - maybe through /local/bin but quit in the middle of that, and
> did not copy the actual ./sage script.

Very odd indeed. I use case-sensitive HFS which is not the default. It has caused me some problems in the past e.g. with Steam. It looks like this is probably the reverse problem happening. There must be two files somewhere that differ only by case--that seems like a very bad thing. I can't remember if I did a clean before the build, so there may be some cruft in the package causing the problem.

I have to go right now, but I will try and make a new version tonight and/or figure out the problem. Perhaps I will simply put up Sage.app, and you can move the sage folder manually. It would be a much smaller download that way.

> So I trashed that, and tried opening the application from the disk
> image again. I went to Start Server... and then went to open
> Notebook, but it just went to http://localhost:8000/ but never
> actually showed anything. Or maybe I wasn't patient enough, as the
> README implies?

It shouldn't take forever, but it does take a long time. When the server starts it should open a window.

-Ivan

kcrisman

unread,
Jun 29, 2010, 11:41:43 AM6/29/10
to sage-devel
>
> > So I made another folder to put it in, copied it there.  The same
> > thing happened, even though that folder was otherwise empty - message
> > "You can’t copy “Sage” because it has the same name as another item on
> > the destination volume, and that volume doesn’t distinguish between
> > upper- and lowercase letters in filenames"
> > so I'm not sure what to do next.  Weirdly, it copied a lot - about
> > half - maybe through /local/bin but quit in the middle of that, and
> > did not copy the actual ./sage script.
>
> Very odd indeed.  I use case-sensitive HFS which is not the default.  It has caused me some problems in the past e.g. with Steam.  It looks like this is probably the reverse problem happening.  There must be two files somewhere that differ only by case--that seems like a very bad thing.  I can't remember if I did a clean before the build, so there may be some cruft in the package causing the problem.

I've had this problem copying regular Sage at times too... not
reliably, but Singular vs. singular I think may have been the problem
at the time. In fact, since the files in local/bin seem to have
copied in alphabetical order, and the last three files copied seem to
have been Singular, Singular-3-1-0, and TSingular (this last being out
of order for some reason, but no others I can tell), I wouldn't be
surprised if that were causing the trouble again.

>
> I have to go right now, but I will try and make a new version tonight and/or figure out the problem.  Perhaps I will simply put up Sage.app, and you can move the sage folder manually.  It would be a much smaller download that way.

At least for testing, that would certainly be a good idea.

> > So I trashed that, and tried opening the application from the disk
> > image again.  I went to Start Server... and then went to open
> > Notebook, but it just went tohttp://localhost:8000/but never
> > actually showed anything.  Or maybe I wasn't patient enough, as the
> > README implies?
>
> It shouldn't take forever, but it does take a long time.  When the server starts it should open a window.

This did not happen.

Thanks - I think this definitely is well on the way to awesomeness.
If that is a word.

- kcrisman

Ivan Andrus

unread,
Jun 29, 2010, 6:38:30 PM6/29/10
to sage-...@googlegroups.com
On Jun 29, 2010, at 10:41 AM, kcrisman wrote:
>>> So I made another folder to put it in, copied it there. The same
>>> thing happened, even though that folder was otherwise empty - message
>>> "You can’t copy “Sage” because it has the same name as another item on
>>> the destination volume, and that volume doesn’t distinguish between
>>> upper- and lowercase letters in filenames"
>>> so I'm not sure what to do next. Weirdly, it copied a lot - about
>>> half - maybe through /local/bin but quit in the middle of that, and
>>> did not copy the actual ./sage script.
>>
>> Very odd indeed. I use case-sensitive HFS which is not the default. It has caused me some problems in the past e.g. with Steam. It looks like this is probably the reverse problem happening. There must be two files somewhere that differ only by case--that seems like a very bad thing. I can't remember if I did a clean before the build, so there may be some cruft in the package causing the problem.
>
> I've had this problem copying regular Sage at times too... not
> reliably, but Singular vs. singular I think may have been the problem
> at the time. In fact, since the files in local/bin seem to have
> copied in alphabetical order, and the last three files copied seem to
> have been Singular, Singular-3-1-0, and TSingular (this last being out
> of order for some reason, but no others I can tell), I wouldn't be
> surprised if that were causing the trouble again.

singular seems to be the culprit here as well:

: Sage.app : 0; find . | tr 'A-Z' 'a-z' | sort | uniq -d
./contents/resources/sage/local/bin/singular
: Sage.app : 0; md5 Contents/Resources/sage/local/bin/singular
MD5 (Contents/Resources/sage/local/bin/singular) = b103365ac3178e9938593b06a9cf727e
: Sage.app : 0; md5 Contents/Resources/sage/local/bin/Singular
MD5 (Contents/Resources/sage/local/bin/Singular) = b103365ac3178e9938593b06a9cf727e

So Singular and singular are the same file. At least it's not as bad as if they were different files, but it's a bad thing IMHO. It means that a binary distribution built on a case sensitive filesystem won't work on a case insensitive file system (because of the copying problems you saw).

In singular-3.1.0.4.p6/spkg-install I found:
# Lower case version is convenient.
$CP -f Singular singular

which seems to indicate that we create the link for "convenience". I'm not sure what that means. Is it ever called as singular anywhere? If so, then a binary distribution built on a case insensitive file system won't work on a case sensitive one.

Trac #1635 seems related, and what I see in spkg-install seems broken since it keys off of Darwin rather than case-sensitivity of the file system, but I haven't noticed any breakage from this (sage --singular starts at least). I'm not sure what I would have to do to see it though.

I *HATE* case insensitive file systems.

Based on these two it appears that I cannot create a sage binary distribution that will work for most OS X users. Well I guess I could build on a case-insensitive disk image...

It seems to me that we should at least mention that if you use a case sensitive file system on OS X you will have to build from scratch. Or we could provide yet another set of dmg's Either is less than optimal obviously. Any thoughts? Obviously we'll have to deal with this sort of thing as we move to Windows. In fact I can't even tell if NTFS is case sensitive or not based on:
http://support.microsoft.com/kb/100108

Do we have any policies on stuff like this?

-Ivan

Ivan Andrus

unread,
Jun 29, 2010, 7:02:52 PM6/29/10
to sage-...@googlegroups.com
On Jun 29, 2010, at 10:41 AM, kcrisman wrote:

>>> So I made another folder to put it in, copied it there. The same
>>> thing happened, even though that folder was otherwise empty - message
>>> "You can’t copy “Sage” because it has the same name as another item on
>>> the destination volume, and that volume doesn’t distinguish between
>>> upper- and lowercase letters in filenames"
>>> so I'm not sure what to do next. Weirdly, it copied a lot - about
>>> half - maybe through /local/bin but quit in the middle of that, and
>>> did not copy the actual ./sage script.
>>
>> Very odd indeed. I use case-sensitive HFS which is not the default. It has caused me some problems in the past e.g. with Steam. It looks like this is probably the reverse problem happening. There must be two files somewhere that differ only by case--that seems like a very bad thing. I can't remember if I did a clean before the build, so there may be some cruft in the package causing the problem.
>
> I've had this problem copying regular Sage at times too... not
> reliably, but Singular vs. singular I think may have been the problem
> at the time. In fact, since the files in local/bin seem to have
> copied in alphabetical order, and the last three files copied seem to
> have been Singular, Singular-3-1-0, and TSingular (this last being out
> of order for some reason, but no others I can tell), I wouldn't be
> surprised if that were causing the trouble again.

See my other message.

>> I have to go right now, but I will try and make a new version tonight and/or figure out the problem. Perhaps I will simply put up Sage.app, and you can move the sage folder manually. It would be a much smaller download that way.
>
> At least for testing, that would certainly be a good idea.

Okay, I have another up as SageApp.dmg.

>>> So I trashed that, and tried opening the application from the disk
>>> image again. I went to Start Server... and then went to open

>>> Notebook, but it just went to http://localhost:8000/but never


>>> actually showed anything. Or maybe I wasn't patient enough, as the
>>> README implies?
>>
>> It shouldn't take forever, but it does take a long time. When the server starts it should open a window.
>
> This did not happen.

Hmm. Since it's read only, I imagine it had some problems. I can't think of what they might be though. It will probably be easier just to try a new version.

> Thanks - I think this definitely is well on the way to awesomeness.

Thanks. I'm glad you like it.

> If that is a word.


It is now :)

-Ivan

Reply all
Reply to author
Forward
0 new messages