Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 26 May 2017 14:17:19 +0000
From:      bugzilla-noreply@freebsd.org
To:        python@FreeBSD.org
Subject:   [Bug 203021] lang/python27: Should install GDB integration tool(s)
Message-ID:  <bug-203021-21822-k38JgMBpkf@https.bugs.freebsd.org/bugzilla/>
In-Reply-To: <bug-203021-21822@https.bugs.freebsd.org/bugzilla/>
References:  <bug-203021-21822@https.bugs.freebsd.org/bugzilla/>

next in thread | previous in thread | raw e-mail | index | archive | help
https://bugs.freebsd.org/bugzilla/show_bug.cgi?id=3D203021

--- Comment #12 from Conrad Meyer <cem@freebsd.org> ---
(In reply to Kubilay Kocak from comment #10)
> @Conrad, during QA (with DEVELOPER=3Dyes in /etc/make.conf), I observe th=
e following:
>=20
> =3D=3D=3D=3D> Running Q/A tests (stage-qa)
> readelf: Not an ELF file.
> Warning: /wrkdirs/usr/ports/lang/python27/work/stage/usr/local/lib/libpyt=
hon2.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 p=
orts.

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 bo=
x 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 inst=
alled?

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=20=20=20=20=20=20=20=20=20=20=20=20=20
/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 th=
ing.=20

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.=20
Fedora uses a location associated with the separated shared object debuginf=
o,
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.

--=20
You are receiving this mail because:
You are on the CC list for the bug.=



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?bug-203021-21822-k38JgMBpkf>