Unfortunately, I still am having a lot of trouble.  If anyone can help
a development n00b (I think my woes deserve this title), read on.  Big
hat tip to Robert, though, for linking to the very informative
September 20, 2007 sage-devel discussion.

I have tried following the instructions in that discussion.  Creating
the first alternate branch seemed to work.  However, I got a message
similar to the following, where libcsage.dylib seems to disappear.

----------------------------------------------------------
sage: Building and installing modified SAGE library files.


Installing c_lib
g++ -o libcsage.dylib -single_module -flat_namespace -undefined
dynamic_lookup -dynamiclib src/convert.os src/interrupt.os src/
mpn_pylong.os src/mpz_pylong.os src/stdsage.os src/gmp_globals.os src/
ZZ_pylong.os src/ntl_wrap.os -L/Applications/sage-scratch/local/lib -
lntl -lgmp -lpari
ld: flag: -undefined dynamic_lookup can't be used with
MACOSX_DEPLOYMENT_TARGET environment variable set to: 10.1
/usr/bin/libtool: internal link edit command failed
scons: *** [libcsage.dylib] Error 1
ERROR: There was an error building c_lib.


real    0m4.317s
user    0m1.768s
sys     0m1.035s


Then I tried to see what was going on with
sage -hg status
and got
abort: There is no Mercurial repository here (.hg not found)!
which might not be too surprising since I hadn't made any changes yet;
even the file mercurial-howto.txt wasn't clear on this.
But then the command
sage -t /devel/sage-hackbranch/sage/graphs/graph_generators.py
failed precisely because this library was gone (referenced from /local/
lib/python/site-packages/sage/rings/memory.so).

So I tried to actually just use sage.  To my surprise, now I got a
long error message which ended

<type 'exceptions.ImportError'>: dlopen(/Applications/sage-scratch/
local/lib/python2.5/site-packages/sage/misc/misc_c.so, 2): Library not
loaded: libcsage.dylib
  Referenced from: /Applications/sage-scratch/local/lib/python2.5/site-
packages/sage/misc/misc_c.so
  Reason: image not found
<ERROR: name 'sage_prompt' is not defined>

Several attempts at getting back to the main branch failed - I created
a new alias back to the main branch manually (in OSX), I did
sage -b main
but from now on my backup copy of sage seems fried.  In fact, in
Spotlight I searched for libcsage.dylib.  The first time it showed up
in the main branch of my backup sage copy and in the main branch of my
normal sage copy.  Now, after the attempts to get to the main branch
of the backup copy, it only shows up in the normal sage copy - it has
disappeared from the main branch of the backup copy!

One point of this is that I'm asking whether I can resurrect any
branch of my backup copy of Sage.  But the real point of all this is
that we need a third tier of Mercurial usage instructions/development
instructions, because I have a gut sense that I just mucked something
up with a command or opening a file that I didn't even know I wasn't
allowed to use while doing the development process.

The top level, in the mercurial-howto.txt file, is good for people
with a lot of development experience.  The second level, Robert's
excellent instructions from September 20th, is for people with a
little bit of experience with this (in fact, maybe these two should be
collated in some fashion).  People like me need an even more basic
level - do I need to create a repository, how do I do that, or maybe
just what IS a repository, how long should it take to clone or run
sage -br, why can't I just write some code and send it to somebody,
etc.

Step by step from the idea to add function(x) to where to find the
files to edit to what the process for this is (I was just using XCode
- is there a Sage-internal way to edit the files which I was supposed
to use? That could account for my problems...) to how to use Mercurial
to testing the functions to committing them to sending the patch in.
And whatever else I missed since I haven't actually done it yet!  And
for good measure, while I'm asking for the proverbial pie in the sky,
add something about how to contribute a "trac" too, though I'm sure
that documentation exists elsewhere.

The bottom line is this: If William's goal is really to have *every*
user be a developer (or at least to contribute very minor
documentation corrections or tests, if that counts as developing), as
he's stated numerous times, and if the rest of the main Sage
development team agrees, then somewhere down the line there needs to
be something created as user-friendly with respect to this as the
"Evaluate" button or the extra info about Shift-Enter which has been
discussed recently is for end users.

I really do want to contribute in whatever way I can, but trying to
figure it all out myself in limited evening time away from a network
connection is just too big a challenge.  Hence, thanks for any and all
responses.

-kcrisman
--~--~---------~--~----~------------~-------~--~----~
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-support
URLs: http://www.sagemath.org
-~----------~----~----~----~------~----~------~--~---

Reply via email to