[Bug 203021] lang/python27: Should install GDB integration tool(s)
bugzilla-noreply at freebsd.org
bugzilla-noreply at freebsd.org
Fri May 26 14:17:20 UTC 2017
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=203021
--- Comment #12 from Conrad Meyer <cem at freebsd.org> ---
(In reply to Kubilay Kocak from comment #10)
> @Conrad, during QA (with DEVELOPER=yes in /etc/make.conf), I observe the following:
>
> ====> Running Q/A tests (stage-qa)
> readelf: Not an ELF file.
> Warning: /wrkdirs/usr/ports/lang/python27/work/stage/usr/local/lib/libpython2.7.so.1-gdb.py
> doesn't have a SONAME.
> Warning: pkg(8) will not register it as being provided by the port.
> Warning: If another port depend on it, pkg will not be able to know where it comes from.
> Warning: It is directly in /usr/local/lib, it is probably used by other ports.
This is a spurious warning -- it isn't a shared object and obviously nothing
can use it like one.
> I'm not sure what this might mean for desired functionality out of the box for the port
> or binary package. This may not be an issue if no other ports depend (LIB_DEPENDS) on it.
I don't think it's an issue -- it's not a shared object, nothing can
LIB_DEPENDS on it.
> Have you tested whether GDB works as expected with libpython2.7.so.1-gdb.py in that
> location and confirmed it works without additional intervention once installed?
Yep, see comment #6. We use it pretty frequently at work.
# ls /usr/local/lib/libpython2.7.so.1*
/usr/local/lib/libpython2.7.so.1
/usr/local/lib/libpython2.7.so.1-gdb.py
# echo -e "import os\nos.abort()" > a.py
# gdb771 --args python a.py
...
(gdb) r
...
Program received signal SIGABRT, Aborted.
[Switching to Thread 8006c1400 (LWP 100708)]
0x000000080129d84a in thr_kill () from /lib/libc.so.7
(gdb) py-bt
Traceback (most recent call first):
File "a.py", line 2, in <module>
os.abort()
(gdb) py-list
1 import os
>2 os.abort()
(In reply to Kubilay Kocak from comment #11)
> It just occurred to me that this may just be a *.so file name matching thing.
Yep.
> If so, is it possible (from a 'it works out of the box') point of view to either rename
> the file and/or put it in a still-suitable location not inside LOCALBASE/lib?
The name can't be changed, I think. There are a few suitable locations.
Fedora uses a location associated with the separated shared object debuginfo,
which ports doesn't support:
/usr/lib/debug/usr/lib64/libpython2.7.so.1.0.debug-gdb.py
Note that this portion ^^^^^^^^^^^^^^^^^^^^^^^^^ has to match some file GDB
is loading already. I'm not sure what search paths GDB has by default. In the
differential review, someone mentioned:
/usr/local/share/gdb/auto-load/usr/local/lib/libglib-2.0.so.0.5000.2-gdb.py
This is discussed a little bit more in the first few comments of the review.
--
You are receiving this mail because:
You are on the CC list for the bug.
More information about the freebsd-python
mailing list