Opened 14 years ago
Closed 12 years ago
#28249 closed defect (worksforme)
php5: Symbol not found: _XML_ParserCreate calling wddx_* functions
Reported by: | jlist@… | Owned by: | ryandesign (Ryan Carsten Schmidt) |
---|---|---|---|
Priority: | Low | Milestone: | |
Component: | ports | Version: | 1.9.2 |
Keywords: | Cc: | ||
Port: | php5, php5-devel |
Description
Please don't re-categorize this as a php5-wddx issue.
The lib built by php5-wddx works fine for mod_php because that's build by apache2 which is built with expat. But it doesn't work for fastcgi because that's built as part of the php5 port which does not enable expat.
So, when trying to use wddx in fastcgi (or CLI) you get the following error:
Symbol not found: _XML_ParserCreate
Fix for this is something like:
--- Portfile.orig 2011-02-01 22:42:54.000000000 -0800 +++ Portfile 2011-02-01 22:41:47.000000000 -0800 @@ -84,6 +84,7 @@ --with-mhash=${prefix} \ --with-pcre-regex=${prefix} \ --with-readline=${prefix} \ + --with-libexpat-dir=${prefix} \ --with-libxml-dir=${prefix} \ --with-zlib=${prefix} \ --without-pear \
Change History (8)
comment:1 Changed 14 years ago by ryandesign (Ryan Carsten Schmidt)
Owner: | changed from macports-tickets@… to ryandesign@… |
---|---|
Summary: | Symbol not found: _XML_ParserCreate calling wddx_* functions in PHP → php5: Symbol not found: _XML_ParserCreate calling wddx_* functions |
comment:2 Changed 14 years ago by ryandesign (Ryan Carsten Schmidt)
Actually, if you could attach a php file that demonstrates the error, that would be helpful.
comment:3 Changed 14 years ago by ryandesign (Ryan Carsten Schmidt)
Port: | php5-devel added |
---|
comment:4 follow-up: 5 Changed 14 years ago by jlist@…
Yes of course, sorry :)
You'll see the problem calling any of the wddx_*
functions, for my testing I just called a single function from the command line: php -r "wddx_deserialize('foo');"
Before the fix you should see something like this:
$ php -r "wddx_deserialize('foo'); dyld: lazy symbol binding failed: Symbol not found: _XML_ParserCreate Referenced from: /opt/local/lib/php/extensions/no-debug-non-zts-20090626/wddx.so Expected in: flat namespace dyld: Symbol not found: _XML_ParserCreate Referenced from: /opt/local/lib/php/extensions/no-debug-non-zts-20090626/wddx.so Expected in: flat namespace Trace/BPT trap $
After the fix, just this:
$ php -r "wddx_deserialize('foo'); $
I checked this in 5.3.4 and 5.3.5 - both exhibited the same problem, and same fix.
comment:5 Changed 14 years ago by ryandesign (Ryan Carsten Schmidt)
Replying to jlist@…:
You'll see the problem calling any of the
wddx_*
functions, for my testing I just called a single function from the command line:php -r "wddx_deserialize('foo');"
This does not produce an error for me.
comment:6 Changed 14 years ago by jlist@…
Hmm, before I raised this I had some of my development team try this - and they all had the same error. We're all using +apache2+fastcgi+pear
Maybe the problem is in something in there.
comment:7 Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)
Please re-test with the new php53 and php54 ports. I still can't reproduce the issue here.
comment:8 Changed 12 years ago by ryandesign (Ryan Carsten Schmidt)
Resolution: | → worksforme |
---|---|
Status: | new → closed |
Presumed fixed.
Interesting; thanks for letting me know. I'll see if I can reproduce this issue and try your fix.