#12347: make install broken in Sage 4.8
------------------------+---------------------------------------------------
Reporter: zimmerma | Owner: GeorgSWeber
Type: defect | Status: needs_work
Priority: major | Milestone: sage-5.0
Component: build | Keywords:
Work_issues: | Upstream: N/A
Reviewer: | Author:
Merged: | Dependencies:
------------------------+---------------------------------------------------
Old description:
> when I compile Sage 4.8 from source in say {{{/tmp/sage-4.8}}}, then
> I do {{{make install DESTDIR=/usr/local/sage-4.8}}}, and I run the binary
> {{{/usr/local/sage-4.8/bin/sage}}} I get:
> {{{
> [zimmerma@coing ~]$ /usr/local/sage-4.8/bin/sage
> ************************************************************************
> You must compile Sage first using 'make' in the Sage root directory.
> (If you have already compiled Sage, you must set the SAGE_ROOT variable
> in the file '/usr/local/sage-4.8/bin/sage').
> ************************************************************************
> }}}
> This way of compiling and installing Sage worked before, up to Sage
> 4.7.2.
>
> A fix is to add the line
> {{{
> SAGE_ROOT="/usr/local/sage-4.8/sage
> }}}
> in the script {{{/usr/local/sage-4.8/bin/sage}}}. This was done
> automatically by {{{make install}}} up to 4.7.2, and was broken in Sage
> 4.8.
>
> Paul
New description:
when I compile Sage 4.8 from source in say {{{/tmp/sage-4.8}}}, then
I do {{{make install DESTDIR=/usr/local/sage-4.8}}}, and I run the binary
{{{/usr/local/sage-4.8/bin/sage}}} I get:
{{{
[zimmerma@coing ~]$ /usr/local/sage-4.8/bin/sage
************************************************************************
You must compile Sage first using 'make' in the Sage root directory.
(If you have already compiled Sage, you must set the SAGE_ROOT variable
in the file '/usr/local/sage-4.8/bin/sage').
************************************************************************
}}}
This way of compiling and installing Sage worked before, up to Sage 4.7.2.
A fix is to add the line
{{{
SAGE_ROOT="/usr/local/sage-4.8/sage
}}}
in the script {{{/usr/local/sage-4.8/bin/sage}}}. This was done
automatically by {{{make install}}} up to 4.7.2, and was broken in Sage
4.8.
Paul
----
Hard coding of SAGE_ROOT is removed from `make install` now. We simply do
a symbolic link.
1. Apply [attachment:trac_12347-remove-sage-hardcode.patch] to
`SAGE_ROOT/local/bin`
2. Apply [attachment:trac_12347.patch] to `SAGE_ROOT`
--
Comment(by ppurka):
Updated the patches.
Now I see why cp failed:
{{{
...stallations/sage-4.8> make DESTDIR="/tmp/sage-xxxx" install |& tee -i
-a ~/tmp/log-new.txt
echo "Experimental use only!"
Experimental use only!
if [ "/tmp/sage-xxxx" = "" ]; then \
echo "Set DESTDIR"; \
exit 1; \
fi
mkdir -p /tmp/sage-xxxx
mkdir -p /tmp/sage-xxxx/sage
mkdir -p /tmp/sage-xxxx/bin/
cp -Rp * /tmp/sage-xxxx/sage/
cp: reading `local/lib/libpari.a': Input/output error
make: *** [install] Error 1
}}}
Rebuilding pari makes this bug go away
{{{
~/Installations/sage-4.8> ./sage -f spkg/standard/pari-2.5.0.p3.spkg >&
~/tmp/pari.txt
~/Installations/sage-4.8> cp local/lib/libpari.a /tmp
~/Installations/sage-4.8>
}}}
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/12347#comment:11>
Sage <http://www.sagemath.org>
Sage: Creating a Viable Open Source Alternative to Magma, Maple, Mathematica,
and MATLAB
--
You received this message because you are subscribed to the Google Groups
"sage-trac" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/sage-trac?hl=en.