Ticket #250 (reopened defect)

Opened 1 year ago

Last modified 1 year ago

dyld: NSLinkModule() error on Mac OS X

Reported by: fabianhore Assigned to: bart
Priority: major Milestone:
Component: eAccelerator Version: 0.9.5
Keywords: dyld NSLinkModule _OnUpdateString Cc:

Description

I successfully built 0.9.5 on Mac OS 10.4 with PHP 4.4.4 yesterday at home. I did the same today at work on Mac OS X Server, (also 10.4, also PHP 4.4.4). It fails.

Running php -v from command line gives:

dyld: NSLinkModule() error
dyld: Symbol not found: _OnUpdateString
  Referenced from: /usr/lib/php/extensions/no-debug-non-zts-20020429/eaccelerator.so
  Expected in: flat namespace

Trace/BPT trap

Starting Apache gives:

PHP Warning:  [eAccelerator] This build of "eAccelerator" was compiled for PHP version 4.4.2. Rebuild it for your PHP version (4.4.4) or download precompiled binaries.
 in Unknown on line 0
PHP Warning:  Unknown(): Unable to initialize module 'eAccelerator' in Unknown on line 0

It was a clean install. I set --with-eaccelerator-userid to apache user I don't understand how/why it was "compiled for 4.4.2". Is this referenced somewhere from an old PHP installation? I only have one version of PHP installed.

running php-config --version gives: 4.4.4

Change History

04/10/07 13:07:25 changed by bart

  • owner changed from somebody to bart.

You've probably upgraded php. Please run make clean before running make for the new php version. This should solve this linker error.

04/10/07 14:45:24 changed by fabianhore

  • status changed from new to closed.
  • resolution set to worksforme.

Right... make clean on the old php source. Yes, this worked.

I've seen this solution before, but thought it meant make clean on eaccelerator.

many thanks.

04/10/07 14:56:57 changed by fabianhore

  • status changed from closed to reopened.
  • resolution deleted.

Sorry, no I spoke too soon. This is not fixed.

I made clean on old php 4.4.2 sources, and in fact have removed old source dir. Also made clean on eaccelerator sources. Problem persists.

08/14/07 17:25:59 changed by hans

First: make sure you compile eAccelerator against your active php version (or clean out old versions of php from your system first)

Second: don't compile PHP with --enable-versioning because this screws up dynamic php modules/extensions.