#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.

Reply via email to