This is the mail archive of the
gdb@sourceware.org
mailing list for the GDB project.
How to build GDB under OSX which links to the Python.framework
- From: asm warrior <asmwarrior at gmail dot com>
- To: GDB Development <gdb at sourceware dot org>
- Date: Wed, 21 Oct 2015 12:52:36 +0800
- Subject: How to build GDB under OSX which links to the Python.framework
- Authentication-results: sourceware.org; auth=none
Under Mac OSX, I want to use a GDB python pretty which creates a GUI window.
I choose wxPython as the GUI library. It turns out that I can't invoke
any GUI related code from GDB's python interpreter(non GUI related
python code works fine). I get a error message like below:
This program needs access to the screen. Please run with a Framework
build of python, and only when you are logged in on the main display
of your Mac.
The same wxPython script works fine under standard OSX's terminal, the
GUI window shows correctly.
I know that under OSX, to show a GUI window, we need Python.framework,
but does GDB I build is against Python.framework.
See: http://wiki.wxpython.org/wxPythonVirtualenvOnMac
This is the dependency of my GDB:
lydeMBP:~ ly$ otool -L /usr/local/Cellar/gdb/7.10/bin/gdb
/usr/local/Cellar/gdb/7.10/bin/gdb:
/usr/local/opt/readline/lib/libreadline.6.dylib (compatibility version
6.0.0, current version 6.3.0)
/usr/lib/libiconv.2.dylib (compatibility version 7.0.0, current version 7.0.0)
/usr/lib/libncurses.5.4.dylib (compatibility version 5.4.0, current
version 5.4.0)
/usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current
version 1213.0.0)
/System/Library/Frameworks/CoreFoundation.framework/Versions/A/CoreFoundation
(compatibility version 150.0.0, current version 1153.18.0)
/System/Library/Frameworks/Python.framework/Versions/2.7/Python
(compatibility version 2.7.0, current version 2.7.10)
/usr/lib/libexpat.1.dylib (compatibility version 7.0.0, current version 7.2.0)
It looks like it use the python under the folder:
/System/Library/Frameworks/Python.framework/... Which is where the
Python.framework locates.
Any one knows the solution?
Thanks.