php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #59154 undefined symbol: memcached_server_list
Submitted: 2010-04-11 11:44 UTC Modified: 2010-05-03 18:18 UTC
From: chris dot s at idleserv dot net Assigned:
Status: Closed Package: memcached (PECL)
PHP Version: 5.3.2 OS: Centos 5.4
Private report: No CVE-ID: None
 [2010-04-11 11:44 UTC] chris dot s at idleserv dot net
Description:
------------
The server getServerList, getStats and getVersion functions fail.

Using libMemcached 0.39 and igbinary is enabled.

Reproduce code:
---------------
<?php
$m = new Memcached();
$m->addServer('localhost', 11211);
print_r($m->getVersion());
?>

Expected result:
----------------
Array
(
    [localhost:11211] => 1.2.6
)

Actual result:
--------------
/usr/local/apache2/bin/httpd: symbol lookup error: /usr/local/lib/php/extensions/memcached.so: undefined symbol: memcached_server_list

Patches

Add a Patch

Pull Requests

Add a Pull Request

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2010-04-23 17:04 UTC] wareadams at dc-energy dot com
We ran into this too.  It appears to occur with memcached 1.0.1 when used with libmemcached 0.39.  It does not happen when you use libmemcached 0.38.

This discussion at stackoverflow seems to explain it:

---
http://stackoverflow.com/questions/2612515/pylibmc-undefined-symbol-memcached-server-list

There appears to be some confusion about the symbol memcached_server_list: libmemcached 0.38 exposes it, but 0.39 does not. The symbol has even been removed from the documentation. 
---
 [2010-04-25 22:00 UTC] paulgao at yeah dot net
I using libmemcached 0.40, compile failed too.
 [2010-04-26 18:38 UTC] andy at siliconlandmark dot com
As others have stated, this issue stems from the upstream removal of memcached_server_list() in favor of the new memcached_server_cursor() function. My employer kindly funded the development of the following patch which addresses the issues encountered with getServerList(), getStats() and getVersion() as well as issues with php_json_decode() and php_json_encode() in pecl-memcached 1.0.1 (The patch for these last two was also submitted to bug #17105 ):

http://siliconlandmark.com/staff/andre/pecl-memcached_server_list.diff
 [2010-05-03 16:43 UTC] andrei@php.net
I do not get this compilation error against 0.39 or 0.40. I looked in the source code of libmemcached and memcached_server_list function() is there and is defined.
 [2010-05-03 18:18 UTC] andrei@php.net
The problem was during runtime, not compilation. Fixed in 1.0.2 release.
 
PHP Copyright © 2001-2020 The PHP Group
All rights reserved.
Last updated: Fri Aug 07 13:01:24 2020 UTC