#10719: Symmetrica does not build on OpenSUSE 11.2 x86_64 and Ubuntu 11.10
------------------------------+---------------------------------------------
Reporter: vbraun | Owner: GeorgSWeber
Type: defect | Status: needs_work
Priority: blocker | Milestone: sage-4.7.2
Component: build | Keywords: library order linker semantics
Ubuntu 11.10 Oneiric Ocelot sd34
Work_issues: | Upstream: N/A
Reviewer: Leif Leonhardy | Author: Volker Braun
Merged: | Dependencies:
------------------------------+---------------------------------------------
Changes (by leif):
* status: needs_review => needs_work
Comment:
Replying to [comment:15 vbraun]:
> The new spkg is at the same URL.
Sorry, you were too quick (or I was too slow...):
The commit message looks like a copy-paste accident, but the spkg was made
on 28st[sic] September anyway. :)
[[BR]]
`spkg-check` should also use `$MAKE`.
If you also '''build''' `test` in `spkg-check`, you have to setup `CFLAGS`
etc. there in the same way as in `spkg-install`.
`s/exitting/exiting/`.
The error message should start with "`Error`" (or "`Failed`").
(The whole test could be simplified by
{{{
#!sh
if ! diff spkg-check.actual spkg-check.expected; then
echo >&2 "Error: The symmetrica test suite failed (see diff output
above)."
exit 1
# Optionally:
#else
# echo "All tests passed." # or whatever
fi
# EOF
}}}
[[BR]]
Do we need `LDFLAGS` when linking `test`?
I.e., for example `-m64`, which we ''could'' take from `CFLAG64`, but
using `LDFLAG64` (defaulting to `-m64`) would be cleaner.
[[BR]]
I don't like the `set +/-o errexit`, as it doesn't necessarily give a
meaningful (and easy to search for) error message. Therefore we removed
all instances of `set +/-e` previously.
Instead, you could use the usual loop for applying the patches, exiting
with an appropriate error message upon the first patch which doesn't
apply:
{{{
#!sh
for patch in ../patches; do
patch < "$patch"
if [ $? -ne 0 ]; then
echo >&2 "Error: Patch \"$patch\" failed to apply. Exiting...
exit 1
fi
done
# Copy over makefile and check $?
# or create also a *patch* for 'makefile' to be applied
# in the loop above, too.
}}}
Similar for the "installation":
`spkg-install` will only exit with a non-zero status if '''the last'''
copy command failed. You could either check each exit code, giving an
appropriate error message for each individual case, or use
{{{
foo &&
bar &&
baz
if [ $? -ne 0 ]; then
echo >&2 "Error: Failed to install Symmetrica."
exit 1
fi
}}}
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/10719#comment:16>
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.