Vincent Delecroix wrote:
Have a look at the commands
  chown: change the owner/group
  chmod: change permissions

What you have to do is to make /opt/sage-6.2 writable by you, not the
whole /opt. The simplest way, assuming that your username is alasdair,
is to change the owner of everything in /opt/sage-6.2 with

sudo chown -R alasdair:alasdair /opt/sage-6.2

and then run make as alasdair.

Yep, since Sage still has no 'make install' (the *only* thing one should run as root if at all) *and* moving the Sage installation after building currently (or still) isn't really properly supported.

On Linux at least, I'd build in some temporary directory on a /fast/ filesystem no ordinary user can create (i.e., create it as root and chown it to the "Sage user(s)" or initially just to the user building Sage) and move the installation afterwards to where you want it to live, then changing ownerships and permissions of the whole Sage tree as appropriate or needed.


FWIW, the error message you got (which perhaps should just be a warning anyway) should IMHO come *much* earlier, i.e., during Sage's prerequisite check / 'configure', with a useful explanation and/or hint what to do.


-leif

2014-06-07 9:35 UTC+02:00, Alasdair <amc...@gmail.com>:
Thanks for that - I compiled it as root, so that it could write to the
directory /opt/sage-6.2.  There should have been no permission problems.
(In essence, I did what I've always done: opened up a login shell as root,
and installed sage in the directory /opt/sage-x.y.

However!  I've just discovered a series of posts on this very topic:
https://groups.google.com/forum/#!topic/sage-support/H-SI3700rGc and it
seems that the trick is to compile Sage as non-root.  I wonder what the
best way to do that is; I don't want Sage and all of its bits cluttering up

my home directory, which I like to keep streamlined.  Maybe if I make the
/opt directory writable by me... I'll keep you posted!

Thanks,
Alasdair

On Saturday, 7 June 2014 16:22:13 UTC+10, vdelecroix wrote:

 From your logs it seems to be a permission problem. What user own
/opt/sage-6.2 ? and what are the permissions ?

2014-06-07 3:15 UTC+02:00, Alasdair <amc...@gmail.com <javascript:>>:
Here's the error as reported during the compilation process:

checking for python... /opt/sage-6.2/local/bin/python
checking for a version of Python >= '2.1.0'... sys:1: RuntimeWarning:
not

adding directory '' to sys.path since it's writable by an untrusted
group.
Untrusted users could put files in this directory which might then be
imported by your Python code. As a general precaution from similar
exploits, you should not execute Python code from this directory
yes
checking for the distutils Python package... no
configure: error: cannot import Python module "distutils".
Please check your Python installation. The error was:
sys:1: RuntimeWarning: not adding directory '' to sys.path since it's
writable by an untrusted group.
Untrusted users could put files in this directory which might then be
imported by your Python code. As a general precaution from similar
exploits, you should not execute Python code from this directory
make[3]: Entering directory
`/opt/sage-6.2/local/var/tmp/sage/build/pynac-0.3.2/src'
make[3]: *** No targets specified and no makefile found.  Stop.
make[3]: Leaving directory
`/opt/sage-6.2/local/var/tmp/sage/build/pynac-0.3.2/src'
Error building pynac.

real    0m0.869s
user    0m0.528s
sys     0m0.384s

************************************************************************
Error installing package pynac-0.3.2

************************************************************************
Please email sage-devel (http://groups.google.com/group/sage-devel)
explaining the problem and including the relevant part of the log file

   /opt/sage-6.2/logs/pkgs/pynac-0.3.2.log
Describe your computer, operating system, etc.
If you want to try to fix the problem yourself, *don't* just cd to
/opt/sage-6.2/local/var/tmp/sage/build/pynac-0.3.2 and type 'make' or
whatever is appropriate.
Instead, the following commands setup all environment variables
correctly and load a subshell for you to debug the error:
   (cd '/opt/sage-6.2/local/var/tmp/sage/build/pynac-0.3.2' &&
'/opt/sage-6.2/sage' --sh)
When you are done debugging, you can type "exit" to leave the subshell.


************************************************************************
make[2]: *** [/opt/sage-6.2/local/var/lib/sage/installed/pynac-0.3.2]
Error 1
make[2]: Leaving directory `/opt/sage-6.2/build'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/opt/sage-6.2/build'

real    150m50.768s
user    131m18.168s
sys     17m8.948s
***************************************************************
Error building Sage.

The following package(s) may have failed to build:

package: pynac-0.3.2
log file: /opt/sage-6.2/logs/pkgs/pynac-0.3.2.log
build directory: /opt/sage-6.2/local/var/tmp/sage/build/pynac-0.3.2

The build directory may contain configuration files and other
potentially
helpful information. WARNING: if you now run 'make' again, the build
directory will, by default, be deleted. Set the environment variable
SAGE_KEEP_BUILT_SPKGS to 'yes' to prevent this.

make: *** [build] Error 1


I'm attempting this on a new installation of kubuntu 14.04 64-bit.  This

is

the first time, in maybe 20 Sage compilations over the years, that I've

encountered an error.  I've aso checked that I do have distutils, it was

installed when I installed Python initially (version 2.7); there is also

distutils for Python 3.4; I imagine loaded as part of the Sage compile
process.

Any advice?

--
() The ASCII Ribbon Campaign
/\   Help Cure HTML E-Mail

--
You received this message because you are subscribed to the Google Groups 
"sage-devel" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to sage-devel+unsubscr...@googlegroups.com.
To post to this group, send email to sage-devel@googlegroups.com.
Visit this group at http://groups.google.com/group/sage-devel.
For more options, visit https://groups.google.com/d/optout.

Reply via email to