php.net |  support |  documentation |  report a bug |  advanced search |  search howto |  statistics |  random bug |  login
Bug #66230 compiled memcache.so for 3.0.8 throws errors
Submitted: 2013-12-03 22:46 UTC Modified: 2021-03-25 16:36 UTC
Votes:7
Avg. Score:3.9 ± 1.5
Reproduced:7 of 7 (100.0%)
Same Version:2 (28.6%)
Same OS:2 (28.6%)
From: bcs at majk dot net Assigned: cmb (profile)
Status: Closed Package: memcache (PECL)
PHP Version: 5.4.22 OS: OSX 10.9
Private report: No CVE-ID: None
 [2013-12-03 22:46 UTC] bcs at majk dot net
Description:
------------
[Tue Dec 03 17:41:46 2013] [notice] child pid 47529 exit signal Trace/BPT trap (5)
dyld: lazy symbol binding failed: Symbol not found: _mmc_queue_remove
  Referenced from: /Applications/MAMP/bin/php/php5.4.19/lib/php/extensions/no-debug-non-zts-20100525/memcache.so
  Expected in: flat namespace

dyld: Symbol not found: _mmc_queue_remove
  Referenced from: /Applications/MAMP/bin/php/php5.4.19/lib/php/extensions/no-debug-non-zts-20100525/memcache.so
  Expected in: flat namespace


Patches

Pull Requests

History

AllCommentsChangesGit/SVN commitsRelated reports
 [2015-11-05 19:52 UTC] dschnabel at appneta dot com
We ran into the same problem on Ubuntu Wily (15.10). PHP reports:
php: symbol lookup error: /usr/local/lib/php/extensions/no-debug-non-zts-20090626/memcache.so: undefined symbol: mmc_queue_pop

While memcache compiles I'm seeing a bunch of errors like this:
/tmp/pear/temp/memcache/memcache_pool.h:395:12: warning: inline function ‘mmc_prepare_key’ declared but never defined
 inline int mmc_prepare_key(zval *, char *, unsigned int *);

/tmp/pear/temp/memcache/memcache_pool.h:394:12: warning: inline function ‘mmc_prepare_key_ex’ declared but never defined
 inline int mmc_prepare_key_ex(const char *, unsigned int, char *, unsigned int *);

After applying this patch (https://build.opensuse.org/package/view_file?expand=1&file=memcache-faulty-inline.diff&package=php5-pecl-memcache&project=home%3Agerritbeine%3Aforwards&rev=003162ef3cab7469fdcdf1430fd123a1) the problem goes away.

Ubuntu Wily uses GCC 5 and it seems that the semantics for inline functions have changed: https://gcc.gnu.org/gcc-5/porting_to.html (see section "Different semantics for inline functions")
 [2016-10-07 19:11 UTC] daniel at ifixit dot com
Workaround:

You can alternatively install the extension and pass a new CFLAGS option to tell gcc to use the old method of inlining functions:

CFLAGS="-fgnu89-inline" pecl install memcache-3.0.7
 [2021-03-25 16:36 UTC] cmb@php.net
-Status: Open +Status: Closed -Assigned To: +Assigned To: cmb
 [2021-03-25 16:36 UTC] cmb@php.net
The official bug tracker for PECL/memcache is now at
<https://github.com/websupport-sk/pecl-memcache/issues>.

So, if this is still an issue with either of the current memcache
versions (4 or 8), please file an issue there.
 
PHP Copyright © 2001-2024 The PHP Group
All rights reserved.
Last updated: Sat Nov 23 21:01:28 2024 UTC