Hi all,
this could be trivial, but I have a doubt about libreadline.
In short: I've a program (pspg) that is crashing, and after inspecting
the core I found in the backtrace a reference to libreadline. The
program has been linked to libreadline 4, but in the system readline 7
is installed.
My doubt is that I'm messing around with numbers, and I'm unable to
find the package for libreadline. The application is a PostgreSQL
pager (<https://github.com/okbob/pspg>) that is not already in the
ports.
Also note, in the gdb output, there is a problem with ld symbols,
could it be related?
What am I missing here?

Thanks,
Luca

puffy$ uname -sr
OpenBSD 6.9
puffy$ ldd $(which pspg)
/usr/local/bin/pspg:
       Start            End              Type  Open Ref GrpRef Name
       00000bfbf0bb6000 00000bfbf0c03000 exe   1    0   0
/usr/local/bin/pspg
       00000bfed823a000 00000bfed826a000 rlib  0    2   0
/usr/lib/libm.so.10.1
       00000bfe67167000 00000bfe671a8000 rlib  0    1   0
/usr/lib/libreadline.so.4.0
       00000bfec62e9000 00000bfec62ef000 rlib  0    1   0
/usr/lib/libpanel.so.6.0
       00000bfe1451d000 00000bfe1457e000 rlib  0    2   0
/usr/lib/libcurses.so.14.0
       00000bfe1a873000 00000bfe1a8c8000 rlib  0    1   0
/usr/local/lib/libpq.so.6.12
       00000bfeba135000 00000bfeba229000 rlib  0    2   0
/usr/lib/libc.so.96.0
       00000bfe9fab5000 00000bfe9fb21000 rlib  0    1   0
/usr/lib/libssl.so.48.2
       00000bfe05c62000 00000bfe05e9d000 rlib  0    2   0
/usr/lib/libcrypto.so.46.2
       00000bfeb21d8000 00000bfeb21d8000 ld.so 0    1   0
/usr/libexec/ld.so
puffy$ ls -l /usr/lib/*readline*
-r--r--r--  1 root  bin  1092672 Apr 19 18:17 /usr/lib/libreadline.a
-r--r--r--  1 root  bin   603792 Apr 19 18:17 /usr/lib/libreadline.so.4.0
-r--r--r--  1 root  bin   977902 Apr 19 18:17 /usr/lib/libreadline_p.a
puffy$ pkg_info | grep readline
readline-7.0p0      library to edit command lines as they are typed in



puffy$ gdb $(which pspg) pspg.core
 GNU gdb 6.3
 Copyright 2004 Free Software Foundation, Inc.
 GDB is free software, covered by the GNU General Public License, and you are
 welcome to change it and/or distribute copies of it under certain conditions.
 Type "show copying" to see the conditions.
 There is absolutely no warranty for GDB.  Type "show warranty" for details.
 This GDB was configured as "amd64-unknown-openbsd6.9"...
 Core was generated by `pspg'.
 Program terminated with signal 11, Segmentation fault.
 Loaded symbols for /usr/local/bin/pspg
 Reading symbols from /usr/lib/libm.so.10.1...done.
 Loaded symbols for /usr/lib/libm.so.10.1
 Reading symbols from /usr/lib/libreadline.so.4.0...done.
 Loaded symbols for /usr/lib/libreadline.so.4.0
 Reading symbols from /usr/lib/libpanel.so.6.0...done.
 Loaded symbols for /usr/lib/libpanel.so.6.0
 Reading symbols from /usr/lib/libcurses.so.14.0...done.
 Loaded symbols for /usr/lib/libcurses.so.14.0
 Reading symbols from /usr/local/lib/libpq.so.6.12...done.
 Loaded symbols for /usr/local/lib/libpq.so.6.12
 Reading symbols from /usr/lib/libc.so.96.0...done.
 Loaded symbols for /usr/lib/libc.so.96.0
 Reading symbols from /usr/lib/libssl.so.48.2...done.
 Loaded symbols for /usr/lib/libssl.so.48.2
 Reading symbols from /usr/lib/libcrypto.so.46.2...done.
 Loaded symbols for /usr/lib/libcrypto.so.46.2
 Reading symbols from /usr/libexec/ld.so...Error while reading shared
library symbols:
 Dwarf Error: wrong version in compilation unit header (is 4, should
be 2) [in module /usr/libexec/ld.so]
 #0  0x0000000000000000 in ?? ()
 (gdb) bt
 #0  0x0000000000000000 in ?? ()
 #1  0x00000bacf99001b6 in rl_callback_handler_install
(prompt=Variable "prompt" is not available.
 ) at /usr/src/gnu/lib/libreadline/callback.c:75
 #2  0x00000baa60b446b4 in get_string (prompt=0xbaa60b13c53 "/",
buffer=0x7f7ffffeed10 "\t", maxsize=255, defstr=0xbaa60b57860 "",
     _tabcomplete_mode=Variable "_tabcomplete_mode" is not available.
 ) at src/readline.c:588
 #3  0x00000baa60b352d8 in main (argc=0, argv=0x1) at src/pspg.c:5405

Reply via email to