#9160: Singular - change timestamp of files and sort out SAGE64 issue.
------------------------------------------------------+---------------------
Reporter: drkirkby | Owner:
GeorgSWeber
Type: defect | Status:
needs_review
Priority: blocker | Milestone:
sage-4.4.4
Component: build | Keywords:
Author: David Kirkby and Willem Jan Palenstijn | Upstream: N/A
Reviewer: | Merged:
Work_issues: |
------------------------------------------------------+---------------------
Comment(by leif):
The more I look at it, the more things don't make sense to me... :(
I would have been happy if you only fixed the ''"Solaris doesn't work with
dynamic kernel"'' issue, but see below...
Replying to [comment:13 drkirkby]:
> OK, I've made some changes. I hope these are ok with you.
> [[BR]]
> * Changed the timestamp on the configure script with 'touch'
Ok. (The comment in {{{SPKG.txt}}} though mentions
{{{factory/configure}}}, not {{{src/factory/configure}}}.)
> * Moved all the 'export' commands to one place - it seemed a bit
pointless exporting LDFLAGS and DYNAMIC_KERNEL from inside the SAGE64
code, whereas others were exported multiple times on other lines. Now all
variables are exported once, and only once and done in one place.
I do not really agree.
* {{{DYNAMIC_KERNEL}}} is '''only''' used in {{{spkg-install}}}, so we
actually '''don't''' have to '''export it at all'''.
* There is a difference between ''exporting empty'' variables and ''not
exporting'' them, so in general variables should only be exported when
necessary.
> * Changed $RM to 'rm', $CHMOD to 'chmod' etc. I've done quite a few of
these in the past, as it makes the code easier to read.
I don't agree either. This inhibits redefining them on ill or ill-
configured systems. (Nor can I see it being easier to read.) They are all
defined in {{{sage-env}}} (if not overridden by the user), so we can rely
on them.
> * The 'SAGE64' test was actually inside an 'else' part of {{{if [
$SAGE_DEBUG = 1 ] ; then }}} bit of code, so would have not been executed
had someone set SAGE_DEBUG to 1. As such it would have been impossible to
debug the code in 64-bit mode on systems where SAGE64 needed to be set.
The SAGE64 test is now done irrespective of whether debugging or not.
Ok, though {{{SAGE_DEBUG}}} is set to zero in the same file.
> * Ensured $SAGE_LOCAL/include is the first CPPFLAG, so the Sage include
files are loaded before others. A failure to do this was causing some old
headers on Solaris to be included, instead of the newer ones in Sage. (The
same is happening with mathplotlib I believe)
Ok. (This should usually be achievable by some {{{configure}}} option.)
> * Removed "-O2 -g -m64" from CPPFLAGS, as these should not be passed to
the pre-processor, but the compiler. They should go into CFLAGS and
CXXFLAGS, not CPPFLAGS.
In general, at least {{{-m64}}} '''is required''' for the preprocessor,
too (optimization flags etc. ''might'' as well be used by it).
> * I did '''not''' change DYNAMIC_KERNEL to be only used on OS X
(Darwin), as the Singular documentation specifically says this should be
used on Solaris.
Well, setting it for Darwin was already redundant, so Solaris actually
does '''not''' need it either (and remember it previously worked on e.g.
t2.math):
{{{
# disable the dynamic kernel, except on Linux
if [ "$UNAME" = "Linux" ]; then
DYNAMIC_KERNEL=""
else
DYNAMIC_KERNEL="--without-dynamic-kernel"
fi
}}}
(This otherwise shouldn't depend on {{{SAGE64}}}, because it is not
directly related.)
Perhaps we should add a comment to {{{SPKG.txt}}} that it is currently
disabled on '''all''' systems but Linux, which especially includes
MacOS/Darwin and Solaris.
> I've tested on Solaris 32-bit (SPARC) on several systems, Linux and OS X
- all work fine. It does not work fully on !OpenSolaris x64, as the CFLAGS
and CXXFLAGS are not getting passed every time the compiler is invoked -
there are about 6 cases where the flag does not get passed. This needs to
be resolved at a later date.
>
> Hopefully the package is a bit cleaner now. It's still a mess, but it's
a start to a cleaner build system.
> The updated package is in the original place -
http://boxen.math.washington.edu/home/kirkby/patches/singular-3.1.0.4.p6.spkg
An updated patch file is attached to the ticket.
The second (newer) commit message isn't that nice:
{{{
changeset: 93:6d0fd18da77b
tag: tip
user: kir...@localhost
date: Tue Jun 08 06:18:30 2010 -0700
summary: #9160 Singular - change timestamp of file and sort out SAGE64
isssue.
changeset: 92:342850f8fd31
user: David Kirkby <[email protected]>
date: Sun Jun 06 14:15:05 2010 +0100
summary: #9160 Singular - change timestamp of file and sort out SAGE64
isssue.
}}}
Thanks for all the testing, looking forward to getting rid of this
ticket... ;-)
-Leif
--
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/9160#comment:14>
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.