Opened 8 years ago

Closed 8 years ago

#13866 closed enhancement (fixed)

Experimental gdb spkg

Reported by: vbraun Owned by: tbd
Priority: major Milestone: sage-5.6
Component: packages: experimental Keywords:
Cc: jpflori Merged in:
Authors: Volker Braun Reviewers: Jeroen Demeyer
Report Upstream: N/A Work issues:
Branch: Commit:
Dependencies: #13669 Stopgaps:

Description

I made a quick gdb spkg. If you used SAGE_DEBUG=yes to build a debug python, then the host python will most likely be unhappy: debug and normal python have a different ABI, and new gdb's link against libpython since they have significant knowledge about python internals.

http://www.stp.dias.ie/~vbraun/Sage/spkg/gdb-7.5.1.spkg

Change History (12)

comment:1 Changed 8 years ago by vbraun

Usable but still need to fill out SPKG.txt

comment:2 Changed 8 years ago by jpflori

  • Cc jpflori added

comment:3 Changed 8 years ago by SimonKing

What does one need to do in order to use it? With the current SAGE_DEBUG version of sage-5.6.b1 as discussed on #13864, when I simply install the gdb package, running ./sage -gdb results in

/home/simon/SAGE/debug/sage-5.6.beta1/local/bin/sage-ipython
GNU gdb (GDB) 7.5.1
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-unknown-linux-gnu".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /home/simon/SAGE/debug/sage-5.6.beta1/local/bin/python...done.
[Thread debugging using libthread_db enabled]
Using host libthread_db library "/lib64/libthread_db.so.1".
Python 2.7.3 (default, Dec 28 2012, 14:58:54) 
[GCC 4.6.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
---------------------------------------------------------------------------
ImportError                               Traceback (most recent call last)

/home/simon/SAGE/debug/sage-5.6.beta1/local/lib/python2.7/site-packages/IPython/ipmaker.py in force_import(modname, force_reload)
     61         reload(sys.modules[modname])
     62     else:
---> 63         __import__(modname)
     64         
     65 

ImportError: No module named ipy_profile_sage
Error importing ipy_profile_sage - perhaps you should run %upgrade?
WARNING: Loading of ipy_profile_sage failed.

Hence, do I need to re-install something? ./sage -ba even?

comment:4 Changed 8 years ago by vbraun

  • Authors set to Volker Braun
  • Dependencies set to #13669

You just need the fix from #13669 which I posted ages ago but nobody wants to review a one-liner so until then sage -gdb stays broken no matter what version of gdb you have.

comment:5 Changed 8 years ago by vbraun

  • Status changed from new to needs_review

I've filled in the SPKG.txt so this is ready to become an experimental spkg

comment:6 Changed 8 years ago by jdemeyer

Nitpicks: remove spkg-install~ and probably you should remove the corresponding entry from `.hgignore.

Are you sure that gmp, mpfr, mpc and ppl are dependencies of gdb? I don't really find any evidence of that. I agree that PPL is checked for, but it doesn't seem required:

checking for version 0.11 (revision 0 or later) of PPL... no
Last edited 8 years ago by jdemeyer (previous) (diff)

comment:7 follow-up: Changed 8 years ago by vbraun

I removed the backup~ file.

I don't know what gdb uses gmp, mpfr, mpc, ppl for, but the configure script lets you specify them. GDB doesn't link against these libraries but perhaps it picks bitwidths from headers? In any case since we do ship with all of them I thought it best to add them to configure.

comment:8 in reply to: ↑ 7 Changed 8 years ago by jdemeyer

Replying to vbraun:

I don't know what gdb uses gmp, mpfr, mpc, ppl for, but the configure script lets you specify them.

Yes, that's weird. It looks like they copy/pasted the GCC configure script. I agree that it doesn't hurt.

comment:9 Changed 8 years ago by vbraun

For the record, this spkg can't work on OSX because of Apple braindamage:

(sage-sh) vbraun@bsd:sage-5.4.rc1$ gdb python
GNU gdb (GDB) 7.5.1
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.  Type "show copying"
and "show warranty" for details.
This GDB was configured as "x86_64-apple-darwin10.8.0".
For bug reporting instructions, please see:
<http://www.gnu.org/software/gdb/bugs/>...
Reading symbols from /Users/vbraun/sage-5.4.rc1/local/bin/python...
warning: `/Users/vbraun/sage-5.4.rc1/spkg/build/python-2.7.3.p0/src/Modules/python.o': can't open to read symbols: No such file or directory.
(no debugging symbols found)...done.
(gdb) run
Starting program: /Users/vbraun/sage-5.4.rc1/local/bin/python 
Unable to find Mach task port for process-id 27416: (os/kern) failure (0x5).
 (please check gdb is codesigned - see taskgated(8))

comment:10 Changed 8 years ago by jdemeyer

  • Reviewers set to Jeroen Demeyer
  • Status changed from needs_review to positive_review

comment:11 Changed 8 years ago by schilly

spkg has been mirrored.

comment:12 Changed 8 years ago by jdemeyer

  • Resolution set to fixed
  • Status changed from positive_review to closed
Note: See TracTickets for help on using tickets.