#10993: Update eclib to 20120115
--------------------------------+-------------------------------------------
Reporter: cremona | Owner: cremona
Type: enhancement | Status: new
Priority: major | Milestone: sage-5.0
Component: packages | Resolution:
Keywords: elliptic curves | Work_issues:
Upstream: N/A | Reviewer: Frithjof Schulze, Jeroen
Demeyer
Author: John Cremona | Merged:
Dependencies: #11354 |
--------------------------------+-------------------------------------------
Changes (by jdemeyer):
* status: closed => new
* resolution: fixed =>
* merged: sage-5.0.beta2 =>
Comment:
I found a race condition in the eclib installer:
at various places you have things like
{{{
chmod og+r *
}}}
The problem is that some temporary file might be caught by the "*" which
is removed by the time `chmod` tries to access it. It is hard to
reproduce, but the following happened once:
{{{
cd qrank && make lib install
make[3]: Entering directory
`/home/buildbot/build/sage/rosemary-1/rosemary_full/build/sage-5.0.beta2/spkg/build/eclib-20120115.p0/src/qrank'
Makefile:81: warning: overriding commands for target `clean'
../Makefile:77: warning: ignoring old commands for target `clean'
Makefile:121: warning: overriding commands for target `veryclean'
../Makefile:86: warning: ignoring old commands for target `veryclean'
Makefile:125: warning: overriding commands for target `check'
../Makefile:98: warning: ignoring old commands for target `check'
g++ -c -fPIC -g -O3 -DNEW_OP_ORDER -DUSE_PARI_FACTORING -I../include
-DNTL_ALL
-I/home/buildbot/build/sage/rosemary-1/rosemary_full/build/sage-5.0.beta2/local/include
-I/home/buildbot/build/sage/rosemary-1/rosemary_full/build/sage-5.0.beta2/local/include
mrank1.cc -o mrank1_n.o
[...]
g++ -c -fPIC -g -O3 -DNEW_OP_ORDER -DUSE_PARI_FACTORING -I../include
-DNTL_ALL
-I/home/buildbot/build/sage/rosemary-1/rosemary_full/build/sage-5.0.beta2/local/include
-I/home/buildbot/build/sage/rosemary-1/rosemary_full/build/sage-5.0.beta2/local/include
ratpoint.cc -o ratpoint_n.o
g++ -o ratpoint version_n.o ratpoint_n.o mquartic_n.o mlocsol_n.o
mglobsol_n.o \
qc_n.o -L../lib -lcurvesntl -ljcntl -lpari
-L/home/buildbot/build/sage/rosemary-1/rosemary_full/build/sage-5.0.beta2/local/lib
-L/home/buildbot/build/sage/rosemary-1/rosemary_full/build/sage-5.0.beta2/local/lib
-lntl -L../lib -lgmp -lpari -lpari -lm
rm -f librankntl.a
ar r librankntl.a mrank1_n.o mrank2_n.o mequiv_n.o mquartic_n.o
mlocsol_n.o mglobsol_n.o qc_n.o sqfdiv_n.o desc2_n.o transform_n.o
minim_n.o reduce_n.o bitspace_n.o GetOpt_n.o twoadic_n.o descent_n.o
ar: creating librankntl.a
chmod og+r *
ranlib librankntl.a
chmod: cannot access `stXXXXPjrrN2': No such file or directory
make[3]: *** [mwrank] Error 1
(cd ../include; rm -f mrank2.h mequiv.h mlocsol.h mglobsol.h msoluble.h
mquartic.h mrank1.h qc.h sqfdiv.h version.h minim.h reduce.h transform.h
desc2.h bitspace.h options.h GetOpt.h twoadic.h descent.h)
for f in mrank2.h mequiv.h mlocsol.h mglobsol.h msoluble.h mquartic.h
mrank1.h qc.h sqfdiv.h version.h minim.h reduce.h transform.h desc2.h
bitspace.h options.h GetOpt.h twoadic.h descent.h; \
do cp ${f} ../include; \
done
chmod a+r ../include/*
rm -f ../lib/librankntl.a
cp librankntl.a ../lib
chmod a+rx ../lib/librankntl.a
make[3]: Target `install' not remade because of errors.
make[3]: Leaving directory
`/home/buildbot/build/sage/rosemary-1/rosemary_full/build/sage-5.0.beta2/spkg/build/eclib-20120115.p0/src/qrank'
make[2]: *** [all] Error 2
make[2]: Leaving directory
`/home/buildbot/build/sage/rosemary-1/rosemary_full/build/sage-5.0.beta2/spkg/build/eclib-20120115.p0/src'
Error building eclib
}}}
I believe the easiest solution is to prepend a "-" to the make command
which means: ignore errors. Concretely: replace
{{{
chmod og+r *
}}}
by
{{{
-chmod og+r *
}}}
(of course, similarly for other "chmod" invocations)
Unrelated: why do you have "/bin/rm" at several places as opposed to
simply "rm"?
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/10993#comment:39>
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.