#13060: Update Valgrind spkg to version 3.8.1
----------------------------------------------------------------+-----------
       Reporter:  jpflori                                       |         
Owner:  tbd         
           Type:  defect                                        |        
Status:  needs_review
       Priority:  major                                         |     
Milestone:  sage-5.6    
      Component:  optional packages                             |    
Resolution:              
       Keywords:  valgrind spkg                                 |   Work 
issues:  Test on OSX 
Report Upstream:  Fixed upstream, but not in a stable release.  |     
Reviewers:              
        Authors:  Jean-Pierre Flori                             |     Merged 
in:              
   Dependencies:                                                |      
Stopgaps:              
----------------------------------------------------------------+-----------

Comment (by iandrus):

 It looks like the diffs checking for `-arch` support are not included in
 the new spkg.  I'm running OS X 10.8.2 and it doesn't build without them.
 If I apply those changes manually, then it chokes on `__private_extern__`.
 Changing those to `extern`, it builds.  However, the "impossible" happens
 and it doesn't work:

 {{{
 ==415== Memcheck, a memory error detector
 ==415== Copyright (C) 2002-2012, and GNU GPL'd, by Julian Seward et al.
 ==415== Using Valgrind-3.8.1 and LibVEX; rerun with -h for copyright info
 ==415== Command: python -i
 ==415== Parent PID: 414
 ==415==
 --415-- /Users/gvol/SageStuff/sage-5.4.rc2/local/bin/python:
 --415-- dSYM directory is missing; consider using --dsymutil=yes
 eq_SyscallStatus:
   {78 0 43}
   {78 0 40}

 valgrind: m_syswrap/syswrap-main.c:380 (eq_SyscallStatus): the
 'impossible' happened.
 ==415==    at 0x138032720: ???
 ==415==    by 0x138032A03: ???
 ==415==    by 0x13809A395: ???
 ==415==    by 0x13809B5FF: ???
 ==415==    by 0x138098D8A: ???
 ==415==    by 0x1380B9F21: ???

 sched status:
   running_tid=1

 Thread 1: status = VgTs_Runnable
 ==415==    at 0x7FFF5FC242DA: _kernelrpc_mach_vm_allocate_trap (in
 /usr/lib/dyld)
 ==415==    by 0x7FFF5FC2497C: vm_allocate (in /usr/lib/dyld)
 ==415==    by 0x7FFF5FC13BF3:
 ImageLoaderMachO::reserveAnAddressRange(unsigned long,
 ImageLoader::LinkContext const&) (in /usr/lib/dyld)
 ==415==    by 0x7FFF5FC13A54:
 ImageLoaderMachO::assignSegmentAddresses(ImageLoader::LinkContext const&)
 (in /usr/lib/dyld)
 ==415==    by 0x7FFF5FC13C58: ImageLoaderMachO::mapSegments(int, unsigned
 long long, unsigned long long, unsigned long long,
 ImageLoader::LinkContext const&) (in /usr/lib/dyld)
 ==415==    by 0x7FFF5FC17104:
 ImageLoaderMachOCompressed::instantiateFromFile(char const*, int, unsigned
 char const*, unsigned long long, unsigned long long, stat const&, unsigned
 int, unsigned int, linkedit_data_command const*, ImageLoader::LinkContext
 const&) (in /usr/lib/dyld)
 ==415==    by 0x7FFF5FC10F5A: ImageLoaderMachO::instantiateFromFile(char
 const*, int, unsigned char const*, unsigned long long, unsigned long long,
 stat const&, ImageLoader::LinkContext const&) (in /usr/lib/dyld)
 ==415==    by 0x7FFF5FC03557: dyld::loadPhase6(int, stat const&, char
 const*, dyld::LoadContext const&) (in /usr/lib/dyld)
 ==415==    by 0x7FFF5FC08BAE: dyld::loadPhase5(char const*, char const*,
 dyld::LoadContext const&, std::__1::vector<char const*,
 std::__1::allocator<char const*> >*) (in /usr/lib/dyld)
 ==415==    by 0x7FFF5FC0860D: dyld::loadPhase4(char const*, char const*,
 dyld::LoadContext const&, std::__1::vector<char const*,
 std::__1::allocator<char const*> >*) (in /usr/lib/dyld)
 ==415==    by 0x7FFF5FC084F9: dyld::loadPhase3(char const*, char const*,
 dyld::LoadContext const&, std::__1::vector<char const*,
 std::__1::allocator<char const*> >*) (in /usr/lib/dyld)
 ==415==    by 0x7FFF5FC07C30: dyld::loadPhase1(char const*, char const*,
 dyld::LoadContext const&, std::__1::vector<char const*,
 std::__1::allocator<char const*> >*) (in /usr/lib/dyld)
 ==415==    by 0x7FFF5FC0319A: dyld::loadPhase0(char const*, char const*,
 dyld::LoadContext const&, std::__1::vector<char const*,
 std::__1::allocator<char const*> >*) (in /usr/lib/dyld)
 ==415==    by 0x7FFF5FC02F07: dyld::load(char const*, dyld::LoadContext
 const&) (in /usr/lib/dyld)
 ==415==    by 0x7FFF5FC0598E: dyld::_main(macho_header const*, unsigned
 long, int, char const**, char const**, char const**, unsigned long*) (in
 /usr/lib/dyld)
 ==415==    by 0x7FFF5FC01396: dyldbootstrap::start(macho_header const*,
 int, char const**, long, macho_header const*, unsigned long*) (in
 /usr/lib/dyld)
 ==415==    by 0x7FFF5FC0105D: _dyld_start (in /usr/lib/dyld)
 ==415==    by 0x1: ???
 ==415==    by 0x7FFF5FBFEBBA: ???
 ==415==    by 0x7FFF5FBFEBC1: ???


 Note: see also the FAQ in the source distribution.
 It contains workarounds to several common problems.
 In particular, if Valgrind aborted or crashed after
 identifying problems in your program, there's a good chance
 that fixing those problems will prevent Valgrind aborting or
 crashing, especially if it happened in m_mallocfree.c.

 If that doesn't help, please report this bug to: www.valgrind.org

 In the bug report, send all the above text, the valgrind
 version, and what OS and version you are using.  Thanks.
 }}}

 For the record, the exact way that I made the "fixes" was to add
 {{{
 perl -pi.bak -e 's/[-]arch x86_64/\@FLAG_M64@/;' -e 's/[-]arch
 i386/\@FLAG_M32@/' configure.in Makefile.all.am
 ./autogen.sh
 export CFLAGS="$CFLAGS -D__private_extern__=extern"
 }}}
 to `spkg-install` just before calling configure.  I don't suggest this
 method of "fixing" it.

 Perhaps we should ask the maintainers of valgrind the best way to proceed.

-- 
Ticket URL: <http://trac.sagemath.org/sage_trac/ticket/13060#comment:22>
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