#13407: Move sage-make_relative to sage-location
------------------------+---------------------------------------------------
Reporter: jdemeyer | Owner: GeorgSWeber
Type: defect | Status: new
Priority: minor | Milestone: sage-5.4
Component: build | Keywords:
Work issues: | Report Upstream: N/A
Reviewers: | Authors:
Merged in: | Dependencies:
Stopgaps: |
------------------------+---------------------------------------------------
There is a rare race condition associated to `sage-make_relative`: when a
file is open for writing, it cannot be executed (you get a "Text file
busy" error). Since the `sage-make_relative` opens all files in
`$SAGE_LOCAL/bin` for writing, it can happen that a parallel Sage build
fails.
Example from `install.log` of a failed parallel build:
{{{
sage_fortran -fPIC -c sposv.f -o sposv.o
sage_fortran -fPIC -c sposvx.f -o sposvx.o
sage_fortran -fPIC -c spotf2.f -o spotf2.o
Making Python scripts relocatable...
sage_fortran -fPIC -c spotrf.f -o spotrf.o
sage_fortran -fPIC -c spotri.f -o spotri.o
sage_fortran -fPIC -c spotrs.f -o spotrs.o
sage_fortran -fPIC -c sppcon.f -o sppcon.o
make[2]: execvp: sage_fortran: Text file busy
make[2]: *** [sppcon.o] Error 127
make[2]: *** Waiting for unfinished jobs....
make[2]: Leaving directory
`/home/buildbot/build/sage/lena-1/lena_upgrade_4.7.1/build/sage-5.3.rc1/spkg/build/lapack-20071123.p2/src/SRC'
make[1]: *** [lapacklib] Error 2
make[1]: Leaving directory
`/home/buildbot/build/sage/lena-1/lena_upgrade_4.7.1/build/sage-5.3.rc1/spkg/build/lapack-20071123.p2/src'
Error compiling lapack.
}}}
The most obvious solution is to fix `sage-make_relative` to first open the
file only for reading and then reopen it for writing only if needed.
However, I think a better solution is to move `sage-make_relative` to
`sage-location`: the latter script is intented precisely to fix relocation
issues. It would also be faster, as currently every file in
`$SAGE_LOCAL/bin` is checked after every package is installed.
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/13407>
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.