#7645: 'set -e' used inappropriately in python-2.6.2.p4
------------------------+---------------------------------------------------
   Reporter:  drkirkby  |       Owner:  GeorgSWeber
       Type:  defect    |      Status:  new        
   Priority:  major     |   Milestone:  sage-4.3   
  Component:  build     |    Keywords:             
Work_issues:            |      Author:             
   Upstream:  N/A       |    Reviewer:             
     Merged:            |  
------------------------+---------------------------------------------------
 The following is one more example of where trying to build Sage on an
 uncommon platform (HP-UX) discovers bugs which affect '''all''' platforms.
 This is yet one more justification of why it is desirable to POSIX
 compatible portable code and check Sage on many platforms.

 As you can see below, python does not build on my HP C3600 running HP-UX
 11i, but we have no clue whatsoever why. Normally Sage would give some
 clue, but here there is none.
 {{{
 python-2.6.2.p4/src/Tools/world/README
 python-2.6.2.p4/src/Tools/world/world
 Finished extraction
 ****************************************************
 Host system
 uname -a:
 HP-UX hpbox B.11.11 U 9000/785 2016698240 unlimited-user license
 ****************************************************
 ****************************************************
 CC Version
 gcc -v
 Using built-in specs.
 Target: hppa1.1-hp-hpux11.11
 Configured with: /tmp/gcc-4.3.3.tar.gz/gcc-4.3.3/configure --host=hppa1.1
 -hp-hpux11.11 --target=hppa1.1-hp-hpux11.11 --build=hppa1.1-hp-hpux11.11
 --prefix=/opt/hp-gcc-4.3.3 --with-gnu-as --without-gnu-ld --enable-
 threads=posix --enable-languages=c,c++ --with-gmp=/proj/opensrc/be/hppa1.1
 -hp-hpux11.11 --with-mpfr=/proj/opensrc/be/hppa1.1-hp-hpux11.11
 Thread model: posix
 gcc version 4.3.3 (GCC)
 ****************************************************

 real    0m0.111s
 user    0m0.050s
 sys     0m0.040s
 sage: An error occurred while installing python-2.6.2.p4
 }}}

 The reason no error message is generated, is due to the inappropriate use
 of

 {{{
 set -e
 }}}

 in the spkg-install script. The package python-2.6.2.p4 has in spkg-
 install

 {{{
 # This tells Bash to exit the script if any statement returns
 # a non-true value.
 set -e

 # PATCH

 cp patches/ctypes__init__.py src/Lib/ctypes/__init__.py
 if [ $? -ne 0 ]; then
     echo "Error copying patched ctypes"
     exit 1
 fi

 cp patches/locale.py src/Lib/
 if [ $? -ne 0 ]; then
     echo "Error copying patched locale.py"
     exit 1
 fi

 }}}

 It should be noted that 'set -e' causes any failure to result in the
 script exiting '''immediately''' with a non-zero exit code. Since the
 script has exited, no further processing takes place - even the code which
 checks for an error!

 I've cc'ed the ticket to Mike and William, as they are listed as package
 maintainers.


 Dave

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/7645>
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