[php-maint] Bug#730624: Bug#730624: php5-readline: unresolved symbols in readline.so shipped in php5-readline

Ondřej Surý ondrej at sury.org
Fri Dec 6 10:37:07 UTC 2013


Hi Giacorno,

php5-readline is not compiled against readline, but against libedit
(sorry for the confusion),

Could you check if you have recent libedit version?

What does:

dpkg -l libedit2

and

apt-cache policy libedit2

output?

Could you also install debsums package and do:

debsums libedit2

It should look like this:

# debsums libedit2
/usr/lib/x86_64-linux-gnu/libedit.so.2.0.47                             
     OK
/usr/share/doc/libedit2/TODO.Debian                                     
     OK
/usr/share/doc/libedit2/changelog.Debian.gz                             
     OK
/usr/share/doc/libedit2/changelog.gz                                    
     OK
/usr/share/doc/libedit2/copyright                                       
     OK
/usr/share/lintian/overrides/libedit2                                   
     OK

Also does:

# nm -D /usr/lib/x86_64-linux-gnu/libedit.so.2.0.47 | grep
rl_on_new_line

output something like:

000000000001fb10 T rl_on_new_line

It should and if it doesn't please try reinstalling your libedit2
package, since it's broken.

Cheers,
Ondrej

On Fri, Dec 6, 2013, at 11:23, Giacomo Mulas wrote:
> On Fri, 6 Dec 2013, Ondřej Surý wrote:
> 
> > please uninstall the readline library you probably have in /usr/local/
> > and you should be fine...
> 
> I double checked, there is no leftover stray readline library in odd
> places.
> I even tried with a find / -iname "libreadline.so*" and it only found the
> libraries it is supposed to find (i.e. x86_64 and i486 ones from official
> packages).
> 
> To meet your request, here is the ldd output:
> 
> root at capitanata:~# ldd /usr/lib/php5/20121212/readline.so
>  	linux-vdso.so.1 (0x00007fff97bff000)
>  	libedit.so.2 => /usr/lib/x86_64-linux-gnu/libedit.so.2
> (0x00007f012ab2c000)
>  	libtinfo.so.5 => /lib/x86_64-linux-gnu/libtinfo.so.5
> (0x00007f012a903000)
>  	libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f012a556000)
>  	libbsd.so.0 => /lib/x86_64-linux-gnu/libbsd.so.0
> (0x00007f012a347000)
>  	/lib64/ld-linux-x86-64.so.2 (0x00007f012afb5000)
> 
> It is different from yours in that it does not link against libcowdancer,
> but
> otherwise similar.  Oddly, it does not link against libreadline, even if
> it
> is in the system.  Again oddly, whereas if I run php5 on the command line
> I
> get
> 
> root at capitanata:~# php5
> PHP Warning:  PHP Startup: Unable to load dynamic library
> '/usr/lib/php5/20121212/readline.so' -
> /usr/lib/php5/20121212/readline.so:
> undefined symbol: rl_on_new_line in Unknown on line 0
> 
> if I instead LD_PRELOAD the readline library (it does not matter whether
> it
> is version 5 or 6) I get no warning, and it appears to work.
> 
> Indeed, there is no dependence on any readline library in the
> php5-readline
> package, so I am somewhat puzzled:
> 
> why does /usr/lib/php5/20121212/readline.so cough on being unable to
> resolve
> a symbol that is in a library it does not depend on, and that it does not
> even try to load? In your system, which runtime library is providing
> rl_on_new_line to the php5 executable (when it loads the readline.so
> module)?
> 
> I am not sure whether this is a bug in php5-readline, it might be in
> php5-cli, or in php5-cgi, or in something else related, but it sure is a
> bug.
> 
> Bye
> Giacomo
> 
> -- 
> _________________________________________________________________
> 
> Giacomo Mulas <gmulas at oa-cagliari.inaf.it>
> _________________________________________________________________
> 
> INAF - Osservatorio Astronomico di Cagliari
> via della scienza 5 - 09047 Selargius (CA)
> 
> tel.   +39 070 71180244
> mob. : +39 329  6603810
> _________________________________________________________________
> 
> "When the storms are raging around you, stay right where you are"
>                           (Freddy Mercury)
> _________________________________________________________________


-- 
Ondřej Surý <ondrej at sury.org>
Knot DNS (https://www.knot-dns.cz/) – a high-performance DNS server



More information about the pkg-php-maint mailing list