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: -
Votes:6
Avg. Score:4.0 ± 1.5
Reproduced:6 of 6 (100.0%)
Same Version:2 (33.3%)
Same OS:2 (33.3%)
From: bcs at majk dot net Assigned:
Status: Open Package: memcache (PECL)
PHP Version: 5.4.22 OS: OSX 10.9
Private report: No CVE-ID: None
Have you experienced this issue?
Rate the importance of this bug to you:

 [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

Add a Patch

Pull Requests

Add a Pull Request

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
 
PHP Copyright © 2001-2019 The PHP Group
All rights reserved.
Last updated: Thu Jul 18 22:01:28 2019 UTC