Opened 10 years ago

Closed 10 years ago

#13866 closed enhancement (fixed)

Experimental gdb spkg

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

Status badges

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 10 years ago by Volker Braun

Usable but still need to fill out SPKG.txt

comment:2 Changed 10 years ago by Jean-Pierre Flori

Cc: Jean-Pierre Flori added

comment:3 Changed 10 years ago by Simon King

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 10 years ago by Volker Braun

Authors: Volker Braun
Dependencies: #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 10 years ago by Volker Braun

Status: newneeds_review

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

comment:6 Changed 10 years ago by Jeroen Demeyer

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 10 years ago by Jeroen Demeyer (previous) (diff)

comment:7 Changed 10 years ago by Volker Braun

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 10 years ago by Jeroen Demeyer

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 10 years ago by Volker Braun

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 10 years ago by Jeroen Demeyer

Reviewers: Jeroen Demeyer
Status: needs_reviewpositive_review

comment:11 Changed 10 years ago by Harald Schilly

spkg has been mirrored.

comment:12 Changed 10 years ago by Jeroen Demeyer

Resolution: fixed
Status: positive_reviewclosed
Note: See TracTickets for help on using tickets.