Ticket #4793 (closed defect: fixed)
Update lcalc to the new upstream 1.23
| Reported by: | mabshoff | Owned by: | rishi |
|---|---|---|---|
| Priority: | major | Milestone: | sage-4.4.1 |
| Component: | packages: standard | Keywords: | |
| Cc: | cremona, ylchapuy, drkirkby | Work issues: | |
| Report Upstream: | N/A | Reviewers: | Robert Bradshaw, William Stein |
| Authors: | Rishikesh | Merged in: | sage-4.4.1.alpha0 |
| Dependencies: | Stopgaps: |
Description (last modified by rishi) (diff)
update lcalc to new version
Change History
comment:3 Changed 3 years ago by rishi
- Status changed from new to needs_review
- Report Upstream set to N/A
I am attaching a spkg for lcalc.
http://sage.math.washington.edu/home/rishikesh/lcalc/lcalc-1.23.spkg
This spkg is result of last last few discussion in #5396
comment:5 Changed 3 years ago by rishi
I split the spkg from lcalc wrapper. The discussion on spkg was becoming longer and digressing from the wrapper itself.
comment:6 Changed 3 years ago by rishi
- Summary changed from Update lcalc to the new upstream 1.2 to Update lcalc to the new upstream 1.23 [with spkg]
comment:7 Changed 3 years ago by rishi
- Owner changed from mabshoff to rishi
- Description modified (diff)
comment:8 Changed 3 years ago by robertwb
All the headers should be copied to a subdir of local/include (given they might clash with others).
comment:10 Changed 3 years ago by robertwb
Also has issues on OS X
dyld: lazy symbol binding failed: Symbol not found: ___gmpn_lshift Referenced from: /Users/robertwb/sage/sage-4.0/local/lib//libpari-gmp.dylib Expected in: flat namespace
when running tests in sage/lfunctions/lcalc.py
comment:11 Changed 3 years ago by rishi
- Status changed from needs_work to needs_review
This spkg has been tested on OSX, linux and Solaris. The header files are now installed in $SAGE_LOCAL/include/lcalc
http://sage.math.washington.edu/home/rishikesh/lcalc/lcalc-1.23.spkg
comment:12 follow-up: ↓ 13 Changed 3 years ago by drkirkby
- Status changed from needs_review to needs_work
Hi, there are a few problems with spkg-install, which don't reflect how Sage is currently being built.
- You said on #5396 "One more thing- I've also cleaned up my makefile a bit, and, in the source, got rid of depreciated headers and unused variables." Did you notice that your Makefile is being overwritten, by the following line:
cp ../../patches/Makefile.sage Makefile
Are those changes appropriate? But looking at your own Makefile, I see still see options to suppress warnings messages.- -Wa,-W is designed to suppress warnings from the assembler, which fails if the Sun assembler is used. (That's why I had to re-write part of your makefile before).
- -Wno-deprecate is designed to suppress warnings about depreciated headers.
A few more things.
- Don't bother checking for SAGE_FORTRAN_LIB, as it is tested in the 'prereq' script.
- Don't bother checking for SAGE_FORTRAN, as again prereq takes care of that.
- Don't bother checking if the GNU and Sun compilers are mixed - that is taken care of elsewhere.
- The line:
echo "Building a 32-bit version of lcalc"
is incorrect, as some systems build 64-bit by default, and so the lack of a -m64 flag does not imply a 32-bit build.
- The line:
if [ "x$SAGE64" = "xyes" ] || [ "x$SAGE64" = "x1" ] ; then
can be simplified to
if [ "x$SAGE64" = xyes ] ; then
as SAGE64 can only be unset, set to 'yes' or set to 'no' - any other combination is not permitted. Are there any self-tests of this package? If so, it should have a spkg-check too, but of course, if there are no self-tests, then that is inappropriate.
Dave
comment:13 in reply to: ↑ 12 Changed 3 years ago by rishi
- Status changed from needs_work to needs_review
Replying to drkirkby:
Hi, there are a few problems with spkg-install, which don't reflect how Sage is currently being built.
- You said on #5396 "One more thing- I've also cleaned up my makefile a bit, and, in the source, got rid of depreciated headers and unused variables." Did you notice that your Makefile is being overwritten, by the following line:
cp ../../patches/Makefile.sage MakefileAre those changes appropriate? But looking at your own Makefile, I see still see options to suppress warnings messages.
- -Wa,-W is designed to suppress warnings from the assembler, which fails if the Sun assembler is used. (That's why I had to re-write part of your makefile before).
- -Wno-deprecate is designed to suppress warnings about depreciated headers.
Please see what the package does. I have not made any changes to original Makefile, only to Makefile.sage
A few more things.
I took the old spkg-install and added what I needed. I did not change what ever happened else where, so the person who changed those should have changed this prereq in lcalc spkg. This includes everything below. I am changing status to needs review.
- Don't bother checking for SAGE_FORTRAN_LIB, as it is tested in the 'prereq' script.
- Don't bother checking for SAGE_FORTRAN, as again prereq takes care of that.
- Don't bother checking if the GNU and Sun compilers are mixed - that is taken care of elsewhere.
- The line:
echo "Building a 32-bit version of lcalc"is incorrect, as some systems build 64-bit by default, and so the lack of a -m64 flag does not imply a 32-bit build.
- The line:
if [ "x$SAGE64" = "xyes" ] || [ "x$SAGE64" = "x1" ] ; thencan be simplified to
if [ "x$SAGE64" = xyes ] ; thenas SAGE64 can only be unset, set to 'yes' or set to 'no' - any other combination is not permitted. Are there any self-tests of this package? If so, it should have a spkg-check too, but of course, if there are no self-tests, then that is inappropriate.
Dave
comment:14 Changed 3 years ago by was
Hi David,
The command "hg annotate" is helpful in clarifying the above issues. Let me give you a tutorial about how that command works. Doing
hg annotate spkg-install |grep FORTRAN
yields that changeset 22 added all the FORTRAN stuff you're complaining about:
changeset: 22:c7e7606b574d user: David Kirkby <david.kirkby@onetel.net> date: Tue Sep 15 07:41:31 2009 -0700 summary: trac #6609: don't pass GNU flags directly to the Sun assembler
You also state you added this in the SPKG.txt:
=== lcalc-20080205.p3 (David kirkby, 15th September, 2009) === * A general tidy-up/improvement in many ways, including: ... * Check that the C, C++ and Fortran compilers are not a mix of Sun and GNU
Your comment about
* The line:
echo "Building a 32-bit version of lcalc"
is incorrect, as some systems build 64-bit by default, and so the lack of a -m64 flag does not imply a 32-bit build.
is also a complaint about code that you added in patch 22.
So you are currently complaining about and rejecting Rishi's spkg based entirely on problems that you introduced in the spkg.
Thus I don't think all (any?) of your complaints are valid.
I'll work with Rishi and Mike Hansen today to get this spkg in. Since you clearly don't like many of the changes you introduced in changeset 22, I encourage you to create a new trac ticket to remove those changes from say the next version of lcalc. Then Rishi (who should be the official package maintainer -- Rishi: you may add yourself as such in SPKG.txt) can make those changes.
-- William
comment:16 Changed 3 years ago by was
- Status changed from positive_review to closed
- Resolution set to fixed
- Merged in set to 4.4.1.alpha0
I merged this in as lcalc-20100428-1.23.spkg , since using lcalc-1.23.spkg would break the version number ordering and upgrade system.
comment:17 Changed 3 years ago by mvngu
- Reviewers set to Robert Bradshaw, William Stein
- Summary changed from Update lcalc to the new upstream 1.23 [with spkg] to Update lcalc to the new upstream 1.23
- Authors set to Rishikesh
