Opened 15 years ago

Closed 14 years ago

Last modified 14 years ago

#3122 closed defect (fixed)

[with patch, positive review] after make install, sage tries to write in /usr/local

Reported by: zimmerma Owned by: mabshoff
Priority: blocker Milestone: sage-3.2.1
Component: relocation Keywords:
Cc: Merged in:
Authors: Reviewers:
Report Upstream: N/A Work issues:
Branch: Commit:
Dependencies: Stopgaps:

GitHub link to the corresponding issue

Description

I compiled sage-3.0 on the machines of my lab, and installed it under /usr/local/sage-3.0 with make install DESTDIR=/usr/local/sage-3.0. I am the Unix owner of the files under /usr/local/sage-3.0. When I run sage myself, it is ok. However, when other people in my lab run it, they get:

< bissogae@hector:~$ sage
< ----------------------------------------------------------------------
< | SAGE Version 3.0, Release Date: 2008-04-23                         |
< | Type notebook() for the GUI, and license() for information.        |
< ----------------------------------------------------------------------
< Traceback (most recent call last):
<   File "/usr/local/sage-3.0/sage/local/bin/sage-location", line 66, in <module>
<     t, R = install_moved()
<   File "/usr/local/sage-3.0/sage/local/bin/sage-location", line 11, in install_moved
<     O = open(location_file,'w')
< IOError: [Errno 13] Permission denied: '/usr/local/sage-3.0/sage/local/lib/sage-current-location.txt'
<
< sage:

I'm not sure it is ok that SAGE writes in /usr/local...

Attachments (1)

trac_3122.patch (374 bytes) - added by mabshoff 14 years ago.
This patch is to the main makefile and is a classic patch, i.e. no hg here

Download all attachments as: .zip

Change History (10)

comment:1 Changed 15 years ago by mabshoff

Owner: changed from cwitty to mabshoff
Priority: minorblocker
Status: newassigned

Hi Paul,

I am curious if you started Sage after running "make install". Starting Sage once after running the make install is needed so that the pyc files are recreated. After that Sage should not need to have write access to anything outside ~/.sage. So I consider this a blocker. We must make the deployment of Sage as simple as possible and this includes having Sage in multi user environments.

Cheers,

Michael

comment:2 Changed 14 years ago by malb

It seems the touching /usr/local is caused by the "Sage moved" script, so I assume that the best "fix" is to print a better error message?

comment:3 Changed 14 years ago by mabshoff

I agree this issue seems closely related to #1830. So fixing this issue will also likely solve that ticket.

Cheers,

Michael

comment:4 Changed 14 years ago by mabshoff

Milestone: sage-3.2.1sage-3.2

comment:5 Changed 14 years ago by mabshoff

Milestone: sage-3.2.2sage-3.2.1

Changed 14 years ago by mabshoff

Attachment: trac_3122.patch added

This patch is to the main makefile and is a classic patch, i.e. no hg here

comment:6 Changed 14 years ago by mabshoff

Summary: after make install, sage tries to write in /usr/local[with patch, needs review] after make install, sage tries to write in /usr/local

The hopefully final patch for 3.2.1.rc1 :)

Cheers,

Michael

comment:7 Changed 14 years ago by was

Summary: [with patch, needs review] after make install, sage tries to write in /usr/local[with patch, positive review] after make install, sage tries to write in /usr/local

comment:8 Changed 14 years ago by mabshoff

Resolution: fixed
Status: assignedclosed

Merged in Sage 3.2.1.rc1

comment:9 Changed 14 years ago by mabshoff

Looking at the problem again it seems that there might be another problem here. Several possibilities

  • other people ran sage before Paul did, hence sage-location was executed. We fixed that bug
  • somebody else has mounted the directory with sage in a different location than Paul in which case sage_location will cause the above error. There is nothing we can do in that case since the pyc files have to be recreated

Paul: If this is still a problem please let us know and open a new ticket with specific steps to reproduce and plenty of information.

Cheers,

Michael

Note: See TracTickets for help on using tickets.